본문

160111P(월)

ORACLE Chapter 2 - 관계 데이터 모델과 제약조건

 

데이터 무결성(data integrity)

데이터의 정확성 또는 유효성을 의미한다.

 

도메인 제약조건(domain constraint)

애트리뷰트 값이 반드시 원자값이어야 한다.

데이터 형식을 통해 값들의 유형을 제한

애트리뷰트에 저장되는 값들의 범위 제한

NOT NULL을 통해서 항상 값이 존재하도록 보장

 

키 제약조건(key constraint)

애트리뷰트에 중복된 값이 존재해서는 안된다는 것

기본키로 정의하거나 UNIQUE를 명시한 애트리뷰트는 중복된 값이 허용되지 않는다.

 

기본 키와 엔티티 무결성 제약조건(entity integrity constraint)

기본키는 두 개 이상의 투플이 동일한 기본키를 가질 수 없다.

릴레이션의 기본키를 구성하는 어떤 애트리뷰트도 NULL값을 가질 수 없다.

대체키는 적용 안된다.

 

외래키와 참조 무결성 제약조건(referential integrity constraint)

두 릴레이션의 연관된 투플들 사이의 일관성을 유지하는데 사용

 

R1이 참조되는 릴레이션, R2가 참조하는 릴레이션이라고 하면

1. 외래키의 값은 R1의 어떤 투플의 기본키 값과 같다.

2. 외래키가 자신을 포함하고 있는 릴레이션에서 기본키가 아니면 NULL값을 가질 수 있다.

 

삽입

참조되는 릴레이션의 도메인 제약조건, 키 제약조건, 엔티티 무결성 제약조건을 위배 가능하다.

참조하는 릴레이션의 도메인 제약조건, 키 제약조건, 엔티티 무결성 제약조건, 참조 무결성 제약조건을 위배 가능하다.

 

삭제

참조되는 릴레이션의 참조 무결성 제약조건을 위배 가능하다.

 

제한(restricted)

위배를 야기한 연산을 단순히 거절

 

연쇄(cascade)

참조되는 릴레이션에서 투플을 삭제하고 이를 참조하는 릴레이션의 투플들도 함께 삭제한다.

 

널값(nullify)

참조되는 릴레이션에서 투플을 삭제하고 이를 참조하는 릴레이션의 투플들의 외래키에 NULL값을 넣는다.

 

디폴트값

nullify에서 NULL 대신에 디폴트값을 넣는다.

대신에 외래키에 대해서 디폴트 값을 명시하지 않으면 연산이 거절된다.

 

수정

기본키나 외래키를 수정하는것은 투플을 삭제하고 새로운 투플을 삽입하는것과 같으므로, 삽입 및 삭제연산에서의 규칙이 수정연산에서도 적용된다.

'낡은 서랍장 > ORACLE' 카테고리의 다른 글

160110P(일)  (0) 2016.01.10
160108P(금)  (0) 2016.01.08
160105P(화)  (0) 2016.01.05
151220P(일)  (0) 2016.01.02
151227P(일)  (0) 2015.12.27

공유

댓글