aking 2014. 4. 21. 00:38

2014/04/11 - [Database System] - Chapter 3


관계 모델의 개념


- 관계 모델에서 데이터베이스는 릴레이션들의 모임으로 표현된다.

- 릴레이션은 투플(행, 레코드)들의 집합으로 표현된다.

- 투플은 애트리뷰트(컬럼, 필드 혹은 속성)들로 구성된다.


① ER모델과의 비교

- 행: 엔티티 혹은 관계에 해당하는 사실을 표현함

- 열: 애트리뷰트들을 표시함

② 관계 모델의 용어

- 행: 투플

- 열: 애트리뷰트(속성)

- 테이블: 릴레이션



관계 제약 조건과 관계형 데이터베이스 스키마


1. 도메인 제약조건

각 애트리뷰트 A의 값은 반드시 A의 도메인 에 속하는 원자값이어야 한다.

- 도메인과 관련된 데이터 타입

- 정수, 실수와 같은 표준 숫자형
- 문자, 고정길이 문자열, 가변길이 문자열
- 날짜, 시간
- 화폐단위
- 메모 등


2. 키 제약조건

- 서로 다른 두 투플은 동일한 키 애트리뷰트를 가질 수 없다. (릴레이션 인스턴스 내에서 같은 값이 절대로 중복되지 않는 속성이다.)
- 키는 최소의 슈퍼키(minimal superkey)


3. 엔티티 무결성 제약조건

- 어떠한 기본 키 값도 널 값을 가질 수 없다는 제약 조건이다.
- 기본키가 각 투플들을 식별하는 데에 이용되기 때문이다.


4. 참조 무결성 제약조건

- 참조 무결성은 두 릴레이션에 대한 제약조건이다.

- 한 릴레이션 의 투플 이 다른 릴레이션 의 투플 을 참조할 때의 제약조건이다.

: 참조하는 릴레이션

: 참조되는 릴레이션



갱신 연산과 제약조건의 위반 처리


- 릴레이션에 투플을 삽입하거나 삭제 변경할 때 제약조건을 만족하는 검사한다.


1. 갱신 연산

- 갱신 연산은 기본적으로 "삭제 후 삽입" 연산으로 간주할 수 있으므로 삽입과 삭제시의 문제점이 모두 나타난다.

- 기본 키(PK)나 외래키(FK)가 아닌 애트리뷰트 값의 변경은 문제가 없다.


2. 제약조건의 위반 처리

- 삭제를 거부한다.

- 삭제되는 투플을 참조하는 투플들까지 모두 삭제한다.(연쇄 삭제)

- 삭제되는 투플을 참조하는 투플에서 외래키 값을 널로 바꾸거나 다른 유효한 투플을 참조하도록 변경한다.