관계 데이터 모델(Relation Data Model)
- 관게(형) 데이터베이스(Relational Database)의 데이터 모델
- E.F. Codd 제안(IBM, 1970)
- 모든 데이터는 릴레이션(Relation, 관계)으로 표현
- 릴레이션 ≒ 테이블(Table, 표)
더보기
릴레이션(Relation) = 릴레이션 스키마(Relation Schema) + 릴레이션 인스턴스(Relation Instance)
릴레이션 스키마
- 속성들의 집합으로 릴레이션의 논리적 구조를 나타냄
- '릴레이션 스킴(Relation Scheme)' 또는 '릴레이션의 내포(Intension)'라고도 함
- 시간에 따라 변하지 않음
릴레이션 인스턴스
- 일정 시점에서의 투플(Tuple)들의 집합
- 시간에 따라 변함
투플: 속성에 해당하는 데이터의 모임
더보기
속성(Attribute)
- 단순 속성(Simple Attribute): 단일값
- 복합 속성(Composite Attribute): 단순 도메인의 결합으로 이루어진 속성
- 예) DATE는 YEAR, MONTH, DAY 결합
- 일반적으로 하나의 속성값으로 취급
속성의 값은 분해할 수 없는 원자값(Atomic Value)임
도메인(Domain): 속성이 취할 수 있는 원자 값들의 집합
릴레이션의 정의 예
CREATE DOMAIN DSNO INTEGER;
CREATE DOMAIN NAME CHAR(10);
CREATE DOMAIN DYEAR INTEGER DEFAULT 1 CONSTRAINT CHECK VALUE BETWEEN 1 AND 4;
CREATE DOMAIN DEPT CHAR(6);
CREATE TABLE STUDENT
(sno DOMAIN DSNO,
sname DOMAIN NAME,
year DOMAIN DYEAR,
dept DOMAIN DEPT);
릴레이션의 수학적 의미
- 릴레이션은 도메인 순서쌍(Domain Cartesian Product) 집합의 부분 집합
R ⊆ D1×D2×D3×⋯×Dn
- 릴레이션의 차수(Degree): 릴레이션을 이루는 속성의 개수
- 카디널러티(Cardinality): 릴레이션에 포함된 투플의 개수(인스턴스 수)
널(Null) 값
- 정보의 부재를 나타내는 특수한 값
- 아직 알려지지 않은 값(Unknown Value)
- 값이 있지만 아직 모름(Value exists, but is not available)
- 공백(Blank) 또는 영(Zero)과는 다름
릴레이션의 특성
- 투플의 상이성(uniqueness of tuples)
- 릴레이션에 포함된 투플은 모두 상이하다
- 모든 속성의 값이 동일한 투플이 존재해서는 안됨
- 투플의 무순서성(no ordering of tuples)
- 릴레이션 내의 투플들 간에는 순서가 없음
- 속성의 무순서성(no ordering of attributes)
- 릴레이션 내의 속성들 간에는 순서가 없음
- 속성의 원자성
- 모든 속성의 값은 원자값(atomic value)
- 관계 데이터 모델은 정규화 릴레이션(normalized relation)만을 대상으로 함
데이터베이스 키(Key)
- 키(Key)
- 릴레이션 내의 투플을 항상 유일하게 식별할 수 있는 속성들의 집합
- 투플 식별자(Tuple Identifier)라 할 수 있음
- 후보키(Candidate Key)
- 유일성(Uniqueness)과 최소성(Minimality)를 모두 만족하는 키
- 모든 릴레이션은 적어도 하나의 후보키를 가짐
- 수퍼키(Super Key): 유일성은 만족하나 최소성은 만족하지 못하는 키
- 기본키(Primary Key, PK)
- 후보키들 중에서 설계자가 특별히 지정한 키
- 널(NULL) 값을 가질 수 없음
- 데이터 접근 방법과 관련하여 중요한 의미를 가진다
- 대체키(Alternate Key): 기본키로 지정되지 않은 후보키
- 외래키(Foreign Key, FK)
- 다른 릴레이션의 기본키(PK)인 속성
- NULL 값을 가질 수는 있음
※ 키는 특정시점에 릴레이션의 투플들을 보고 판단하는 것이 아니라,
스키마를 작성할 때, 속성들이 나타내는 값의 의미를 기준으로 판단해야 함
무결성 제약(Integrity Constraint)
- 개체 무결성 제약(Entity Integrity Constraint): 기본키에 해당하는 속성은 널 값이 될 수 없다.
- 참조 무결성 제약(Referential Integrity Constraint): 참조할 수 없는 외래키(FK) 값은 가져서는 안된다.
- 참조 릴레이션의 FK 값은 NULL 또는 반드시 피참조 릴레이션의 PK로 존재하는 값일 것!
'데이터베이스 Database' 카테고리의 다른 글
Chapter 6 SQL - View (0) | 2020.10.21 |
---|---|
Chapter 5 관계 대수와 관계 해석 (0) | 2020.09.22 |
Chapter 3 데이터베이스 시스템의 구성 (0) | 2020.09.17 |
Chapter 2 데이터베이스 관리 시스템 (0) | 2020.09.10 |
Chapter 1 정보 환경 (0) | 2020.09.10 |