[수업출처] 숙명여자대학교 IT공학전공 박영호 교수님 수업 '데이터베이스'
1. 데이터 모델
- 모델: 실체를 가져올 수 없기 때문에, 핵심 특성을 담은 모형을 등장시켜 실체를 설명하기 위한 것
- 어떤 데이터에 대한 개념적, 형식적 표현
- original 대상을 다음 3가지로 구분하여 설명
1) 구조 structure (ex. DML 정의: CREATE SCHEMA ... )
2) 연산 operation (구조를 운용하기 위함. SELECT, DELETE, INSERT, UPDATE ...)
3) 제약조건 constraint (개념들의 집합)
종류
1) Conceptual Data Models (high-level, semantic-level) 개념적 데이터 모델
- 데이터를 높은 수준이나 의미적 수준으로 표현하는 데이터 모델
- ex) '학생' 테이블의 구성요소 - 나이, 주소 등
→ Database Schema
→ 데이터 베이스를 설계한다는 것 = Schema를 설계하는 것
2) Physical Data Models (low-level, internal-level) 물리적 데이터 모델
- 데이터를 낮은 수준이나 물리적 수준으로 표현하는 데이터 모델
- 데이터가 디스크에 어떻게 저장되는 것이 효과적인지 설명하기 위한 구현 수준의 실질적 데이터 모델
- ex) '나이'는 4byte 정수로, B-tree index 구축하자 등을 정하는 일
3) Implementation Data Models (record-oriented, representational)
- 상위 두 모델의 중간 레벨로, 상용 제품의 구현 시 적용되는 데이터 모델
4) Self-Describing Data Model
- data value를 가진 data들의 설명을 결합한 데이터 모델
- ex) XML, NoSQL systems
2. Schema vs Instance
1) Schema (구조, 뼈대)
- 데이터베이스에 대한 설명서
- 데이터베이스 구조 & 제약조건들에 대한 설명 포함
- 데이터베이스 카탈로그에 존재
- Schema Diagram 스키마 도면: 데이터베이스 스키마를 diagram 형식으로 표현한 것 (ex. E-R diagram)
- 테이블들을 구성하고 있는 속성들을 그림으로 표현한 데이터 설계 도면
- 스키마 구성: 스키마의 구성요소 또는 스키마에 포함된 객체
2) Database State
- 특정 시점에 데이터베이스에 저장된 실제 데이터
- 데이터베이스의 모든 데이터 집합이 포함됨
= database instance (= occurrence, snapshot)
- instance는 개별 데이터베이스 구성요소에도 적용됨
- ex) record instance, table instance, entity instance
3) 비교
- 스키마는 자주 변하지 않음
- 인스턴스는 (state) 데이터베이스가 갱신될 때마다 변함
- 스키마 = intention
- 인스턴스 = extension
- ex) 학생 릴레이션의 나이는 '22', 주소는 '강남구 논현동', 학년은 '3' 일 때,
나이, 주소, 학년은 schema,
'22', '강남구 논현동', '3'은 Instance
'Database > SQL' 카테고리의 다른 글
[SQL] CH01 - 15 (2) | 2022.11.17 |
---|---|
[Lecture] 1. 데이터베이스 시스템 (0) | 2022.03.21 |
[MySQL] SQL 옵티마이저 (0) | 2021.01.18 |
[MySQL] 데이터 제어어 : DCL (0) | 2021.01.18 |
[MySQL] Titanic 예제 (0) | 2021.01.11 |