Chapter-1
DBMS
- interrelated data의 모음
- 데이터에 접근할 수 있는 프로그램의 모음
- 사용하기에 편리한 환경
- Highly valuable
- Relatively Large
DBS (Database System) = DB + DBMS
DB : collectioin of data
DBMS : Database Management System
DBMS의 목적
- Data redunancy and inconsistency
- 데이터 중복 및 불일치성에 대한 제어 용이. 데이터 불일치성은 데이터 간에 값이 서로 일치하지 않은 현상을 말하며. ?
- Integrity constraint 데이터 무결성 제약 조건
- Difficulty in accessing data
- Data isolation
- Data Abstraction
- 데이터 추상화 제공
- Abstration is the process of separating important ideas from specific instance of those ideas at work
- Atomicity of updates 갱신 원자성
- 데이터 갱신이 원자적으로 이루어져야하며, 갱신 연산이 부분적으로 이루어지면 데이터베이스 상태가 불일치 되거나 데이터 베이스 제약 조건이 만족하지 않게 될 수 있다.
- Concurrent access by multiple users 다수 사용자의 동시성 제어
- 다수 사용자가 동시에 동일 데이터베이스를 접근하게 되며, 이 경우 DBMS는 사용자에게 동시성 제어 기능을 제공한다.
- Security problems 데이터 보호
- 악의적인 데이터 접근으로부터 데이터를 보호하는 기능을 제공한다.
View of Data
- Data model
- 데이터, 데이터 관계, 데이터 의미론 및 일관성 제약(무결성 제약 조건) 을 설명하기 위한 개념적 도구 모음.
- Data abstraction
- 여러 수준의 데이터 추상화를 통해 사용자로부터 데이터베이스의 데이터를 나타내기 위해 데이터 구조의 복잡성을 숨기세요.
Levels of Abstraction
- Physical level
- Logical level
- 데이터베이스에 저장되는 데이터와 데이터 사이의 관계
- View level
- 응용 프로그램에 데이터 유형의 세부 사항을 숨깁니다. 뷰는 또한 보안 목적으로 정보(예: 직원의 급여)를 숨길 수 있습니다.
Instance and Schema
- Logical schema 논리적 구조(type)
- Physical schema 물리적 구조
- Instance 특정시점에서 데이터베이스의 실제 내용(variable)
Data Independence
데이터 독립성은 물리적 데이터 독립성과 논리적 데이터 독립성으로 구성된다.
- Logical data independence
- 뷰 스키마 변화없이 논리적 구조를 변화할 수 있는 기능
- 개념 스키마가 변경되어도 외부 스키마에 영향을 미치지 않음
- Physical data independence
- 논리적 스키마 변화없이 물리적 구조를 변화할 수 있는 기능
- 내부 스키마가 변경되어도 외부/개념 스키마가 영향을 미치지 않음
- View Schema
DDL :: Data Definition Language
- 데이터 스키마 정의부
- DDL 컴파일러는 Data dictionary 에 저장된 테이블 템플릿 세트를 생성한다.
- Data dictionary는 metadata를 포함한다.
- Database schema
- Integrity constraints
- Authorization
DML :: Data Manipulation Language
- Procedural DML 절차적
- Declarative DML 선언적
Storage Manager
DB에 저장된 low-level data 와 애플리케이션 사이에서 인터페이스를 제공하고 시스템에 쿼리를 수행하는 프로그램 모듈
- OS 파일 관리자와 상호작용을 한다.
- 효율적인 저장, 자원회수, 데이터 업데이트를 수행한다.
- 인증, 무결성 관리자, 트랜잭션 관리자, 파일 관리자, 버퍼 관리자 등이 포함된다.
- 물리적 시스템 구현의 일환으로 여러 데이터 구조를 구현한다.
- 데이터 파일 - db 그 자체 저장
- 데이터 딕셔너리 - 특히 스키마에 관한 메타 데이터 저장
- 인덱스 - 데이터에 바른 접근을 제공할 수 있다.
Query Processor
- DDL interpreter
- DDL 명령어를 해석하고 그 딕셔너리에 그 정의사항들을 기록한다.
- DML compiler
- 쿼리 언어로 된 DML 문을 쿼리 평가 엔진이 이해하는 낮은 수준의 지침으로 구성된 평가 계획으로 번역합니다.
Query Processing
- Parsing and translation
- Optimization
- Evaluation
Transaction Management
- Transaction 은 DB 애플리케이션에서 단일 논리 함수를 수행하는 명령들의 집합니다.
- Transaction-management component(트랜잭션 관리 구성요소) 는 시스템 오류(예: 정전 및 운영 체제 충돌) 및 트랜잭션 오류에도 불구하고 데이터베이스가 일관된(올바른) 상태로 유지되도록 합니다.
- Concurrency-control manager(동시성 제어 관리자)는 DB의 일관성을 보장하기위해 동시 트랜잭션 사이의 관계를 관리한다.
Database Architecture
- 중앙 집중형
- one to few cores, shared memory
- 클라이언트-서버
- 동시성 DB
- many core shared memory
- shared disk
- shared nothing
- Distributed databases
- schema/data 의 이질성(heterogeneity)
Database Applications
- Two-tier
- 클라이언트에 user,application, 서버에 DB system
- Three-tier
- 클라이언트에 user,application client, 서버에 application server, DB system
Database Administrator
디비 설계부터 .. 접근 권한 부여 .. 많은 일을 ..
History of Database Systems
…