관계 데이터 모델에서 정의하고 있는 기본 제약 사항은 키와 관련한 무결성 제약조건 Integrity Constraint이다
// 무결성
데이터에 결함이 없는 상태, 데이터가 정확하고 유효하게 유지된 상태를 말한다
무결성 제약조건의 주요 목적은 데이터베이스에 저장된 데이터의 무결성을 보장하고, 데이터베이스의 상태를 일관되게 유지하는 것이다
어느 시점에 데이터베이스에 저장된 데이터를 의미하는 데이터베이스 상태 또는 데이터베이스 인스턴스가 항상 지켜야 하는 중요한 규칙이라고 할 수 있다
무결성은 권한이 있는 사용자의 잘못된 요구에 의해 데이터가 부정확해지지 않도록 보호하는 것이다
무결성 제약 조건에는 개체 무결성 제약조건과 참조 무결성 제약조건이 있다
- 무결성 제약 조건
- 개체 무결성 제약조건
기본키를 구성하는 모든 속성을 널 값을 가질 수 없다 - 참조 무결성 제약조건
외래키는 참조할 수 없는 값을 가질 수 없다
- 개체 무결성 제약조건
1. 개체 무결성 제약조건 Entity Integrity Constraint
기본키를 구성하는 모든 속성은 널 값을 가지면 안된다
기본키를 구성하는 속성 전체, 일부가 널이 되면 투플의 유일성을 판단할 수 없게 된다 = 기본키의 본래 목적 상실
개체 무결성 제약조건을 만족 시키려면 새로운 투플이 삽입되는 연산과 기존 투플의 기본키 속성 값이 변경되는 연산이 발생할 때 기본키에 널 값이 포함되는 상황에서는 연산의 수행을 거부하면 된다
데이터베이스 관리 시스템이 자동으로 수행하기에 새로운 릴레이션을 생성할 때마다 기본키를 어떤 속성들로 구성할 것인지 데이터베이스 관리 시스템이 알려주면 된다
2. 참조 무결성 제약조건 Referential Integrity Constraint
외래키는 참조할 수 없는 값을 가질 수 없다는 규칙
외래키는 자신이 참조하는 릴레이션에 기본키 값으로 존해하는 값, 참조 가능한 값을 가져야 한다
외래키가 널 값인 경우는 무결성 제약조건을 위반했다고 해야 하는가?
정답 = X
참조 무결성 제약조건을 만족시키려면 외래키가 참조 가능한 값만 가져야 하지만, 널값을 가진다고 위반한것으로 판단하면 안된다
'공부 > 데이터베이스' 카테고리의 다른 글
| 6. 관계 데이터 연산 / 01 관계 데이터 연산의 개념 (0) | 2025.09.08 |
|---|---|
| 5. 관계 데이터 모델 / 총 정리 (1) | 2025.09.08 |
| 5. 관계 데이터 모델 / 01 관계 데이터 모델의 개념 (0) | 2025.09.08 |
| 4. 데이터 모델링 / 총정리 (0) | 2025.09.06 |
| 4. 데이터 모델링 / 03 논리적 데이터 모델 (0) | 2025.09.06 |