Database/Database System 정리
Chapter 3 정리
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. 제약조건의 위반 처리
- 삭제를 거부한다.
- 삭제되는 투플을 참조하는 투플들까지 모두 삭제한다.(연쇄 삭제)
- 삭제되는 투플을 참조하는 투플에서 외래키 값을 널로 바꾸거나 다른 유효한 투플을 참조하도록 변경한다.