database schema
- 데이터베이스(Database) 전체 또는 일부의 논리적인 구조를 표현하는 것으로 데이터베이스 내에서 데이터가 어떤 구조로 저장되는지를 나타낸다.
- schema는 데이터베이스를 설계할 때 정해지며, 한번 정해진 후에는 자주 바뀌지 않는다.
- 위 STUDENT테이블에서 student id, 이름, 전공, 학년 이 schema이다.
- 대부분의 DBMS에서 사용하는 (ANSI/SPARC)모델의 3층 스키마 구조(three-schema architecture)에 따라 외부 스키마, 개념 스키마, 내부 스키마로 구분한다.
three-schema architecture (3층 스키마 구조)
- 사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 기술하고 이들 간의 관계를 정의한 ANSI표준
- 데이터베이스의 독립성을 확보하기 위한 방법으로 각 계층을 뷰(view) 라고도 한다.
- internal schema(내부스키마)
- 물리적으로 데이터가 어떻게 저장되는지 physical data model을 통해 표현
- 설계자 및 개발자 관점의 스키마
- data storage, data structure, access path 등 물리적으로 실체가 있는 내용 기술
- external schema(외부스키마)
- 실제 사용자가 바라보는 스키마
- 특정유저들이 필요로 하는 데이터만 표현 즉, 사용자에게 알려줄 필요없는 데이터는 숨김
- logical data model을 통해 표현
- conceptual schema(개념스키마)
- 전체 데이터베이스에 대한 구조를 기술
- 물리적인 구조에 관한 내용은 숨김
- entities, data types, relationships, user operations, constraints에 집중

database state
- database에 있는 실제 데이터들은 꽤 자주 바뀔수 있다. 특정 시점에 database에 있는 데이터를 database state 혹은 snapshot이라고 한다. 혹은 database에 있는 현재 instances의 집합이라고도 한다.
data definition language(DDL)
- conceptual schema를 정의하기 위해 사용되는 언어
data manipulation language(DML)
- 데이터베이스에 있는 데이터를 활용하기 위한 언어
- 데이터 추가, 삭제, 수정, 검색 등의 기능을 제공하는 언어
오늘날의 DBMS는 DML, VDL, DDL이 따로 존재하기 보다는 통합된 언어로 존재 (ex - SQL)
'STUDY > database' 카테고리의 다른 글
| DB구축 예시 (1) | 2023.11.21 |
|---|---|
| SQL의 개념 (2) | 2023.11.21 |
| 키(key)의 종류, constraints 종류 (0) | 2023.11.20 |
| 관계형 데이터베이스 (0) | 2023.11.20 |
| 데이터베이스 기본개념 (1) | 2023.11.14 |