무결성 제약조건
1. 키(key)
- 정의: 각각의 튜플(레코드)를 고유하게 식별해 주는 역할을 하는 속성,
주로 두 개체(Entity)를 연관시키는 데 사용된다.
참고) 키를 구성하는 속성의 수가 많으면 속성 값들이 불필요하게 중복되므로, 키의 요소가 되는 속성의 수가 적은 것이 바람직하다.
- 키(Key)의 종류
- Super Key : 특정 튜플을 고유하게 식별하는 하나 또는 하나 이상의 속성들의 집합
예) (학번, 이름), (주민번호, 이름), (주민번호)
- Candidate Key(후보 키) : 각 튜플을 고유하게 식별하는 최소한의 속성들의 집합
예) (학번, 이름)은 후보키가 아님, (학번)은 후보 키
- Primary Key(기본 키) : 한 개체에 여러 개의 후보키가 존재할 때, DB 설계자는 그 중 하나를 기본 키로 지정함
예) 학번, 주민번호 등의 후보 키에서 학번을 기본 키로 지정함.
참고) 더 많이 자주 사용되는 값을 기본 키로 하는 것이 유용함
- Alternate Key(대체 키) : 후보 키 중에서 기본 키를 제외한 나머지 키
- Foreign Key(외래 키) : 관계형 데이터베이스에서 각 개체간의 관계를 표현하기 위해 사용되는 키. 외래 키는 다른 개체의 기본 키를 참조하는 속성이다.
예) 학생 개체(entity)의 학과코드 속성은 [학과 개체]의 기본 키인 학과코드 속성을 참조하는 외래 키
- Super Key : 특정 튜플을 고유하게 식별하는 하나 또는 하나 이상의 속성들의 집합
2. 무결성(integrity) 제약조건
- 데이터 무결성은 데이터의 본래의 의미가 손상되지 않음을 의미하는 것
- 데이터의 정확성 또는 유효성을 유지하는 것이다.
- 데이터베이스의 일관된 상태를 유지하도록하는 규칙들을 정의하는 것이 무결성 제약조건이다.
무결성 제약조건의 종류
- 도메인 제약 조건 : 각 속서의 값이 반드시 원자 값을 가져야 하며,
허용된 값의 범위/유형에 맞는 값만이 저장될 수 있도록 하는 것
예) 학번에는 학번 값만 입력되면, 학번의 형식에 맞는 값만 입력되야 함
- 키 무결성 제약조건 : 키 속성이 고유한 값이어야 한다는 것. 키는 튜플을 유일하게 구분짓는 값이므로 중복이 허용될 수 없음
- 기본 키와 개체 무결성 제약조건 : 기본 키는 널(NULL) 값을 가질 수 없도록 하는 것
- 외래 키와 참조 무결성 제약조건 : 참조 무결성 제약조건은 두 개체간의 연관된 튜플들
사이의 일관성을 유지하기 위해 사용됨.
따라서 먼저 참조되는 개체의 기본 키 속성에 값이 있어야만
참조되는 개체의 외래 키 속성의 값을 지정할 수 있도록 제한함