반응형
IT CookBook, 오라클로 배우는 데이터베이스 개론과 실습(2판)
데이터베이스 핵심 이론을 오라클로 실습하며 공부할 수 있는 책이다. 데이터베이스 시스템을 이해하는 데 필요한 이론을 4개의 부로 나누어 실습과 함께 익힌 다음, 마지막에는 워크북으로 배
www.hanbit.co.kr
오라클로 배우는 데이터베이스 개론과 실습(2판) 을 공부하며, 정리한 내용을 포스팅하는 글입니다.
도메인 무결성 제약조건
- 도메인 제약이라고도 하며, 릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만을 가져야 함.
- (도메인 무결성에 위배된 예시) 속성이 날짜인데 문자열이 들어간다거나 하면 위배가 된다.
- 도메인 이란?
- 각 속성이 가질 수 있는 값의 집합
- 예) 취미 속성의 도메인은 {독서, 산책, 자전거타기, 등등} 이 된다.
- 각 속성이 가질 수 있는 값의 집합
개체 무결성 제약조건
- 기본키 제약이라고도 함. 기본키는 NULL 값을 가져서는 안되고, 오직 하나의 값만 존재해야 한다.
- 삽입: 기본키 값이 같으면 삽입이 금지됨
- 수정: 기본키 값이 같거나, NULL일 때 수정이 금지됨
- 삭제: 특별한 확인이 필요하지 않으며 즉시 수행됨.
참조 무결성 제약조건
- 외래키 제약이라고도 함.
- 릴레이션 간의 참조 관계를 선언하는 제약조건.
- 자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 동일해야 하고, 자식 릴레이션의 값이 변경될 때 부모 릴레이션의 제약을 받는다.
- 부모 릴레이션에서, 삭제 시
- 학과 테이블에서 OO학과를 삭제한다면, 학생 테이블에서 해당 OO학과를 참조하는 튜플이 있다면, 문제가 생긴다. 그럴 땐, 아래의 4가지 방법을 고려할 수 있다.
명령어 | 의미 | 예 |
RESTRICTED | 자식 릴레이션에서 참조하고 있으면 부모 릴레이션의 삭제 작업을 거부함 | 학과 릴레이션의 튜플 삭제 거부 |
CASCADE | 자식 릴레이션의 관련 튜플을 함께 삭제 | 학생 릴레이션의 관련 튜플 함께 삭제 |
DEFAULT | 자식 릴레이션의 관련 튜플을 미리 설정해 둔 값으로 변경 | 학생 릴레이션의 학과가 다른 학과로 자동 배정 |
NULL | 자식 릴레이션의 관련 튜플을 NULL 값으로 설정(NULL 이 허가되는 경우) | 학생 릴레이션의 학과가 NULL값으로 변경됨 |
UNIQUE 제약조건(유일성 제약조건, 고유성 제약조건)
- 실제 DBMS에서는 위에서 설명한 세 가지 무결성 제약조건과 함께 UNIQUE 제약조건도 사용
- UNIQUE 제약조건은 속성의 모든 값은 설 같은 값이 업어야 한다는 것
- 이는 릴레이션 내의 각각의 튜플을 유일하게 식별할 수 있는 속성들의 집합으로 볼 수 있음
- UNIQUE 제약조건은 기본키 제약과는 달리 NULL 값을 허용
반응형