컴퓨터 과학!/Database2004. 10. 21. 22:46
Chap 1. Database and Database Users

1.1 Introduction
Database : a collection of related data
Data : kwon facts (that can be recorded and have implicit meaning)
▪ Database의 implicit properties
① Miniworld 또는 UoD 를 반영.
② A logically coherent collection of data with some inherent meaning.
③ A specific purpose를 위해 설계, 구현됨.
▪ DBMS
: A collection of programs that enables users to create and maintain a DB.
(Defining, constructing, manipulating, sharing)
Database system
: DBMS + Application Program + Stored DB + Stored DB Definition(Meta-Data)


1.2 An Example
▪ DB manipulation : querying & updating

1.3 Characteristics of the Database Approach
: 각 application마다 각각 따로 file을 만들어 관리해야 했던 file processing에 비해, 하나의 data repository만 유지하는 DB system approach가 훨씬 효율적이다.
① Self-Describing Nature of a Database System
DB system = DB 그 자체 + DB 구조와 제약에 대한 complete 정의나 설명.
catalog : meta-data (각 파일의 구조, 데이터 형, 제약 조건 등의 DB 정의)가 저장되어있다.
특정 DB에 있는 파일 구조를 알려면 catalog만 참조하면 되므로, DBMS software는 general-purpose로 만들 수 있다.

② Insulation between programs and data, and data abstraction
program-data independence : DBMS catalog에 저장된 data file의 구조와 access programs는 별개이다. => 데이터 구조 변경 =/=> 프로그램 변경
program-operation independence : 사용자는 operation이 어떻게 구현되었나 몰라도 사용 가능.
data abstraction : 위의 두 개를 가능하게 하는 것. Conceptual representation만 제공. (data model)
=> 사용자에게는 conceptual representation만 제공하고, DBMS가 필요하면 자세한 사항은 catalog에서 꺼내어 보고 file access.
③ Support of multiple views of the data
④ Sharing of data and multiuser transaction processing

1.4 Actors on the Scene
① Database Administrators
② Database Designers : 데이터 정의 및 저장 구조 설계
End Users
casual end user : DB 사용 빈도수 적지만 다양하고 복잡한 정보를 원함
naïve, parametric user : 정형화된 질의/갱신 작업 반복 (canned transactions)
sophisticated end user : 데이터의 복잡한 작업 수행
stand-alone user : 개인 데이터 베이스 사용자
④ System Analysts and Application Programmers (Software Engineers)

1.5 Workers behind the Scene
① DBMS system designers and implementers
② Tool developers
③ Operators and maintenance personnel

1.6 Advantages of Using the DBMS Approach
① Controlling Redundancy
▪ File processing : 모든 사용자 그룹은 각자 파일을 보관하고 있어서 같은 정보라도 여러 파일에 중복하여 보관됨.
=> redundancy 문제 발생. (duplication of effort, 저장공간 낭비, inconsistent)
▪ DB approach : redundancy 해결. (때로는 controlled redundancy 필요.)
② Restricting Unauthorized Access : security 보장.
③ Providing Persistent Storage for Program Objects
④ Providing Storage Structures for Efficient Query Processing
⑤ Providing Backup and Recovery : H/W, S/W 고장시에도 DBMS가 데이터 유지
⑥ Providing Multiple User Interfaces : 다양한 사용자 유형 및 숙련도 지원
⑦ Representing Complex Relationships among Data
⑧ Enforcing Integrity Constraints : semantics of DB
(무결성 보장)
⑨ Permitting Inferencing and Actions Using Rules
⑩ Additional Implications of Using the Approach

▪ Potential for Enforcing Standards
▪ Reduced Application Development Time
▪ Flexibility
▪ Availability of Up-to-Date Information : concurrency control
▪ Economies of Scale : 중복투자, 데이터 관리 인력 감소

1.7 A Brief History of Database Applications

1.8 When Not to Use a DBMS
simple, well defined, not expected to change, real-time, no multiple user access

Chap 2. Database System Concepts and Architecture
2.1 Data Models, Schemas, and Instances
data model : a collection of concepts that can be used to describe the structure of a database
▪ Categories of Data Models
① High-level (or conceptual) data model
DB 사용자가 이해하는 데이터베이스의 구조
entity, attribute, relationship으로 miniworld 표현
② Low-level (or physical) data model
데이터가 어떻게 컴퓨터에 저장되는지를 자세하게 설명하는 개념 제공
③ Representational (or implementation) data model
DBMS에서 사용하는 모델로, 위 두 데이터 모델의 중간 모델.
Database Schemas (meta-data)
DB 설명. 대부분의 데이터 모델은 schema diagram을 가지고 있음.
Instances : 저장된 데이터
Database State : 특정 시점에서의 instances의 집합.

2.2 Three-Schema Architecture and Data Independence
2.2.1 The Three-Schema Architecture
Internal schema : DB의 물리적 저장 구조 기술 ( physical data model 이용)
Conceptual schema: DB구조 기술 ( conceptual, implementation data model이용)
External schema : 사용자의 필요에 따라 DB 일부분 기술

3단계 스키마


2.2.2 Data Independence
Logical data independence : external schemas나 응용 프로그램을 바꾸지 않고 conceptual schema 변경 가능.
Physical data independence : conceptual schemas 바꾸지 않고 internal schema 변경 가능.

2.3 Database Languages and Interfaces
Schema 정의 언어 : DDL(data), SDL(storage), VDL(view)
검색, 삽입, 삭제, 갱신 언어 : DML(data manipulation), SQL(structured query)
high-level DML : 내가 원하는 것을 표현한다.
low-level DML : 어떻게 가져올 지에 대해서도 표현한다.
▪ Host language : C, COBOL등 응용 프로그램이 사용하는 언어.
▪ DBMS Interfaces
: User-friendly, natural language, for parametric users, for DBA.

2.4 The Database System Environment
2.4.1 DBMS Component Modules
Stored data manager : 디스크에 저장된 DBMS 정보에 대한 접근 제어
DDL compiler : schema definition 처리, catalog에 저장.
Runtime database processor : runtime에 DB에 접근하는 것을 다룸.
Query compiler : interactive하게 들어오는 high-level query들을 다룸.
Pre-compiler : host programming language로 적힌 응용 프로그램에서 DML 명령들을 뽑아낸다.

Typical component modules of a DBMS. (짤렸음. -.- )


2.4.2 Database System Utilities
: loading, backup, file reorganization, performance monitoring
2.4.3 Tools, Application Environments, and Communications Facilities

2.5 Centralized and Client/Server Architectures for DBMSS

2.6 Classification of Database Management Systems
▪ Data model -> relational, network, hierarchical, object-oriented 등.
▪ Number of users -> single-user, multi-user systems
▪ Number of sites -> centralized, distributed DBMS
▪ 목적 -> general, special-purpose DBMS
Posted by 스니