데이터베이스 시스템
- 데이터베이스에 데이터를 저장하고, 이를 관리하여 조직에 필요한 정보를 생성해주는 시스템
- 스키마(틀) : 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것
- 인스턴스(실례, 실제값) : 스키마에 따라 데이터베이스에 실제로 저장된 값
3단계 데이터베이스 구조
- 외부 스키마(External Schema) : 사용자 관점에서 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의
- 개념 스키마(Conceptual Schema) : 조직 관점에서 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 데이터베이스의 전체적인 논리적 구조
- 내부 스키마 : 물리적 저장장치 입장에서 본 데이터베이스 구조
- 실제로 저장될 레코드 구조, 필드 크기, 레코드 접근 경로 등 물리적 저장 구조 정의
- 데이터 독립성(Data Independency)
- 사상(매핑) : 스키마 사이의 대응 관계
- 하위 스키마를 변경해도 상위 스키마가 영향을 받지 않는 특성
- 논리적 독립성 : 응용 프로그램과 데이터베이스 독립시킴
- 개념 스키마 변경되어도 외부/개념 사상만 정확하게 수정하면 외부 스키마에 영향을 주지 않음
- 데이터 논리적 구조를 변경해도 응용 프로그램이 영향 받지 않음
- 물리적 독립성 : 응용 프로그램과 보조기억장치 같은 물리적 장치를 독립시킴
- 내부 스키마 변경되어도 개념/내부 사상만 정확하게 수정하면 개념 스키마에 영향을 주지 않음
- 디스크를 추가/변경해도 응용 프로그램은 영향을 받지 않음
- 데이터 사전(Data Dictionary) : 시스템 카탈로그(System Catalog)
- 데이터베이스에 저장되는 데이터의 스키마, 사상 정보, 다양한 제약 조건 등이 저장되어 있는 메타 데이터를 유지
- 데이터 디렉터리(Data Directory) : 데이터 사전에 있는 데이터에 실제로 접근하는 데 필요한 위치 정보를 저장하는 시스템 데이터베이스
- 사용자 데이터베이스(User Database) : 사용자가 실제로 이용하는 데이터가 저장된 데이터베이스
데이터베이스 사용자
- 데이터베이스 관리자 : 데이터베이스 시스템을 운영하고 관리
- 최종 사용자 : 데이터베이스에 접근하여 데이터를 조작
- 응용 프로그래머 : 데이터 언어를 삽입하여 응용 프로그램 작성
데이터 언어
- 사용자와 데이터베이스 관리 시스템 간의 통신 수단
- 데이터 정의어(DDL) : 스키마를 정의하거나 수정 또는 삭제에 사용
- 데이터 조작어(DML) : 데이터를 삽입, 삭제, 수정, 검색 등 처리를 요구하기 위해 사용
- 데이터 제어어(DCL) : 내부적으로 필요한 규칙이나 기법을 정의하기 위해 사용
참고문헌
김연희, 『데이터베이스 개론』, 2판, 한빛아카데미, 2019
Ghost