etc./정보처리기사
관계형 데이터베이스의 제약 조건
innit
2021. 9. 3. 12:19
관계형 데이터베이스의 제약 조건에는 다음 두 가지가 있습니다.
1. 키 (Key)
2. 무결성 (Integrity)
키 (Key)
키는 DB에서 조건을 만족하는 튜플을 찾을 때 기준이 되는 속성입니다. 키의 종류에는 다음 5가지가 있습니다.
후보키 / 기본키 / 대체키 / 슈퍼키 / 외래키
1. 후보키
- 튜플을 유일하게 식별할 수 있는 속성들의 부분집합
- 유일성과 최소성을 만족하는 속성들
2. 기본키
- 후보키 중 특별히 선정된 주키
- 중복된 값을 가질 수 없음
- NULL값을 가질 수 없음
3. 대체키
- 기본키를 제외한 나머지 후보키
4. 슈퍼키
- 속성들의 집합으로 구성된 키
- 유일성은 만족하지만 최소성은 만족하지 않는 속성
- 한 릴레이션 내에 있는 모든 튜플들 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않음
5. 외래키
- 다른 릴레이션의 기본키를 참조하는 속성들의 집합
- 외래키로 지정되면 참조 릴레이션의 기본키에 없는 값은 입력할 수 없음
무결성 (Integrity)
무결성이란 DB의 데이터와 현실 세계의 실제값이 일치하는 정확성을 의미합니다. 무결성 제약 조건은 무결성을 보장하기 위해 부정확한 자료가 DB에 저장되는 것을 방지하기 위한 제약 조건을 의미합니다.
무결성의 종류는 아래 8가지가 있습니다.
개체 무결성 |
참조 무결성 |
도메인 무결성 |
사용자 정의 무결성 |
NULL 무결성 |
고유 무결성 |
키 무결성 |
관계 무결성 |
기본키는 NULL값과 중복값을 가질 수 없음 |
외래키는 참조 릴레이션의 기본키 값이거나 NULL이어야 함 |
속성은 반드시 도메인에 속한 값이어야 함 |
사용자가 정의한 제약조건을 따라야 함 | 특정 속성은 NULL이 될 수 없음 | 특정 속성에 대해 각 튜플들은 서로 다른 값을 가져야 함 | 하나의 릴리에션에는 최소 하나의 키 | - 튜플의 삽입 가능 여부 - 튜플 관계의 적절성 여부 에 관한 규정 |
데이터 무결성 강화를 위해서 다음과 같은 방법을 사용할 수 있습니다.
애플리케이션 | 데이터베이스 트리거 | 제약 조건 |
무결성 조건을 검증하는 코드를 프로그램에 추가하기 |
트리거 이벤트에 무결성 조건을 실행하는 SQL 추가하기 |
DB에 제약 조건을 설정하기 |
728x90
반응형