STUDY/database

database schema 정리

까미이모 2023. 11. 14. 23:27

database schema

  • 데이터베이스(Database) 전체 또는 일부의 논리적인 구조를 표현하는 것으로 데이터베이스 내에서 데이터가 어떤 구조로 저장되는지를 나타낸다.
  • schema는 데이터베이스를 설계할 때 정해지며, 한번 정해진 후에는 자주 바뀌지 않는다.
  • 위 STUDENT테이블에서 student id, 이름, 전공, 학년 이 schema이다.
  • 대부분의 DBMS에서 사용하는 (ANSI/SPARC)모델의 3층 스키마 구조(three-schema architecture)에 따라 외부 스키마, 개념 스키마, 내부 스키마로 구분한다.

three-schema architecture (3층 스키마 구조)

  • 사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 기술하고 이들 간의 관계를 정의한 ANSI표준
  • 데이터베이스의 독립성을 확보하기 위한 방법으로 각 계층을 뷰(view) 라고도 한다.

 

  1. internal schema(내부스키마)
    • 물리적으로 데이터가 어떻게 저장되는지 physical data model을 통해 표현
    • 설계자 및 개발자 관점의 스키마
    • data storage, data structure, access path 등 물리적으로 실체가 있는 내용 기술
  2. external schema(외부스키마)
    • 실제 사용자가 바라보는 스키마
    • 특정유저들이 필요로 하는 데이터만 표현 즉, 사용자에게 알려줄 필요없는 데이터는 숨김
    • logical data model을 통해 표현
  3. conceptual schema(개념스키마)
    • 전체 데이터베이스에 대한 구조를 기술
    • 물리적인 구조에 관한 내용은 숨김
    • entities, data types, relationships, user operations, constraints에 집중

three-schema architecture(출처: https://www.tta.or.kr/)


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)

 

 

출처: 쉬운코드 https://www.youtube.com/watch?v=aL0XXc1yGPs

'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