Database 개요 (1)
[ Data 독립성 ]
Data 독립성 : data 표현 방식, 저장위치가 바뀌어도 논리적 저장 구조나 응용프로그램에게 아무런 영향을 주지 않음.
1. 논리적 data 독립성 : DB의 논리적인 구조가 바껴도 응용프로그램에게 영향을 주지 않음.
- 여기서 '논리적인 구조'는 스키마를 의미하는데,
- 스키마 : DB에 들어있는 실제 값이 아니라 DB의 구조, 속성의 data type 등 데이터베이스를 서술하는 구조를 뜻함.
2. 물리적 data 독립성 : data의 논리적 구조 또는 프로그램을 수정하지 않고도 시스템 성능을 향상시키기위해 data의 물리적인 저장 형식, 구성 변경이 허용됨.
[ Database 시스템의 논리적 구조 ]
1. 외부 단계 : 사용자에게 허가된 일부 논리적 데이터베이스 (사용자 관점)
- 외부 스키마 == 뷰(view)
2. 개념 단계 : 데이터베이스 관리자가 보는 전테 데이터베이스의 논리적 구조 (DB 관리자 관점)
- 개념 스키마 == 일반적으로 다루는 스키마
3. 내부 단계 : 다양한 형태의 내부 레코드로 구성되고, 데이터 입출력 및 저장하는 인터페이스 (컴퓨터 관점)
이 때, 인터페이스의 역할이 중요하다.
- 역할: 1) 위의 세 가지 단계 사이에서 각자 독립성을 유지하도록 함
2) 매핑(mapping) : 각 단계 사이에서 상위/하위 단계의 요구를 하위/상위 단계의 요구로 변환함
- 응용 인터페이스 : DB 공유 기능
- 저장 인터페이스 : 내부 레코드와 속성이 내부 단계에서 표현되는 방법을 나타냄. DB의 저장 구조가 변경되면 저장 인터페이스도 변경되지만 개념 스키마는 독립성에 의해 변경되지 않음
- 장치 인터페이스 : 내부 단계와 저장장치 간의 매핑을 구현
항상 매핑의 뜻이 헷갈리거나 까먹어서 이번에 블로그 포스팅을 하면서 제대로 공부해보았다.
역시 사람은 꾸준히 공부해야 기억하는 것 같다.
Database의 개요 2탄 내용은 아래를 참고하면 된다.
'Database' 카테고리의 다른 글
실행계획 예제 (1) | 2023.10.23 |
---|---|
정규화 (Normalization) (0) | 2021.07.29 |
Database 개요 (3) (0) | 2021.07.29 |
Database 개요 (2) (0) | 2021.07.29 |