데이터베이스 02 (데이터 모델, 스키마, 인스턴스)

데이터 모델링

(데이터 모델링의 기본 조건)

structure, operation, constraint

  1. 데이터 구조(structure)가 설명되어야 함 (구조←→ 관계 )

  2. 데이터 베이스로부터 데이터를 추출, 삽입, 갱신하기 위한 연산(operation)들이 설명되어야 함

  3. 데이터 베이스가 지켜야 하는 제약 조건(constraint)들을 표현하기 위한 ‘개념들의 집합’이 설명되어야 함 → 무결성(Integnity)을 유지하기 위함
    (접근제어 / 형식제어 등등 )

Conceptual Data Models

; 데이터를 높은 수준이나 의미적 수준으로 표현하는 데이터 모델
(누구나 이해할 수 있도록 high-level)

Physical Data Models

; 데이터를 낮은 수준이나 물리적 수준으로 표현하는 데이터 모델
(컴공생들이나 이해할 수 있는 low-level)

Implementation Data Models

; 상위 2개의 모델의 중간 레벨로, 상용 제품의 구현 시 적용되는 데이터 모델

Self-Describing Data Models

; data value들을 가진 data의 설명을 결합한 데이터 모델

스키마 [ Schema ]

스키마란?

  • 데이터베이스에 대한 설명서 (구조/뼈대)
  • 데이터베이스 모델을 설명한 결과물
  • 데이터베이스 구조와 데이터베이스가 지켜야 하는 제약조건들에 대한 설명을 포함함
  • 스키마는 데이터 베이스 디스크 카탈로그에 존재함
💡연산은 스키마가 아닌 인스턴스에 부여된다

스키마 도면(스키마 다이어그램)

데이터베이스 스키마를 다이어그램 형식으로 보여준 것으로 테이블을 구성하고 있는 속성들을 그림으로 표현한 데이터 설계 도면

State

- 스키마 State (Schema State)

"The actual data stored "
데이터 베이스 안에 있는 모든 걸 포함해서 현재 특정 순간의 상태를 설명하는 것을 '스키마 State' 라고 함.

Schema State
= database instance(데이터베이스의 개별적인 구성요소들)
= occurrence
= snapshot
→ record instance, table instance, entity instance


- Database State

content의 어떤 순간의 상태

- Initial Database State

초기 시스템에 로딩된 데이터들의 상태

- Valid State

구조/제약조건(스키마)에 잘 따른 상태



스키마 [Schema] vs 인스턴스 [Instance]

  • 데이터베이스 스키마는 자주 변하지 않는다
  • 인스턴스는 데이터가 갱신될 때마다 변한다 → 데이터베이스 상태(state)가 변함
  • 스키마는 ‘intention’이라고도 부르는 반면, 상태 or 인스턴스는 ‘extension’이라고도 부름

어떤 특정 시간에 데이터베이스에 실제로 저장되어 있는 실체
= database state
= database occurrence

ex. 학생 릴레이션의 나이22, 주소강남구 논현동, 학년 3

*bold : 스키마 (=type)
*italic: 인스턴스 (=value)

📍스키마와 인스턴스의 차이

스키마인스턴스
잘 변하지 않음매번 변함
a sequence of attributeattribute values = attribute values sequence
TypeValue
StructureDatabase State
intentionextension
구조, 제약조건연산
카탈로그 파일에 저장데이터 파일에 저장
레코드




summary

💭데이터 모델은데이터를 잘 설명하기 위한 방법론으로 ‘구조/제약조건/연산’ 을 가져와 설명하게 됨!

구조: 어떻게 생겼냐? / 연산 : 무슨 일이 일어나느냐? / 제약조건 : 안되는 건 뭐냐? 

💭Conceptual data models / Physical data Models / Implementation Data Model / Self-Describing Data Models

💭인스턴스 (개별적인 record / value 지칭)... = State (전체적인 의미)
스키마 (구조/제약조건 – DDL)

  • 인스턴스를 넣고 빼거나 업데이트 및 삭제를 할때 sql DML statement를 쓰게 되는데 이를 통해 움직일 수 있는 것을 인스턴스라고 함

좋은 웹페이지 즐겨찾기