MySQL로 배우는 데이터베이스 개론과 실습 - Chapter 01
SQL
- 데이터 정의어 (DDL)
- 데이터 조작어 (DML - inset, delete, update, search)
- 데이터 제어어 (DCL)
DBMS의 기능
- 데이터 정의: 데이터의 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능을 수행함
- 데이터 조작: 데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터의 삽입, 수정, 삭제 작업을 지원함
- 데이터 추출: 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출함
- 데이터 제어: 데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어함. 백업과 회복, 동시성 제어 등의 기능을 지원함
데이터 모델
- 계층 데이터 모델(포인터 사용) -트리
- 네트워크 데이터 모델(포인터 사용) -그래프
- 관계 데이터 모델(속성 값 사용)
- 객체 데이터 모델(객체 식별자 사용)
데이터베이스의 개념적 구조
- 외부 단계
- 일반 사용자나 응용 프로그래머가 접근하는 계층으로 전체 데이터베이스 중에서 하나의 논리적인 부분을 의미
- 여러개의 외부 스키마가 있을 수 있음
- 서브 스키마라고도 하며, 뷰의 개념
- 개념 단계
- 전체 데이터베이스의 정의를 의미
- 통합 조직별로 하나만 존재하며 DBA가 관리함
- 하나의 데이터베이스에는 하나의 개념 스키마가 있음
- 내부 스키마
- 물리적 저장 장치에 데이터베이스가 실제로 저장되는 방법의 표현
- 내부 스키마는 하나
- 인덱스, 데이터 레코드의 배치 방법, 데이터 압축 등에 관한 사항이 포함됨
- 외부/개념 매핑
- 사용자의 외부 스키마와 개념 스키마 간의 매핑(사상)
- 외부 스키마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응시킴
- 개념/내부 매핑
- 개념 스키마의 데이터가 내부 스키마의 물리적 장치 어디에 어떤 방법으로 저장되는지 대응시킴
데이터 독립성
- 논리적 데이터 독립성
- 외부 단계(외부 스키마)와 개념 단계(개념 스키마) 사이의 독립성
- 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원
- 논리적 구조가 변경되어도 응용 프로그램에는 영향이 없도록 하는 개념
- 개념 스키마의 테이블을 생성하거나 변경하여도 외부 스키마가 직접 다루는 테이블이 아니면 영향이 없음
- 물리적 데이터 독립성
- 개념 단계(개념 스키마)와 내부 단계(내부 스키마) 사이의 독립성
- 저장장치 구조 변경과 같이 내부 스키마가 변경되어도 개념 스키마에 영향을 미치지 않도록 지원
- 성능 개선을 위하여 물리적 저장 장치를 재구성할 경우 개념 스키마나 응용 프로그램 같은 외부 스키마에 영향이 없음
- 물리적 독립성은 논리적 독립성보다 구현하기 쉬움(DBMS가 해줌)
중요한 부분
1. 데이터베이스 시스템이 구성
2. DBMS의 장점
3. 데이터베이스 관리자(DBA)
4. 데이터 모델
5. 데이터 독립성