반응형
(1) 무결성 제약조건이란
데이터 무결성이란 데이터의 정확성 또는 유효성을 의미합니다.
일관된 데이터베이스 상태를 정의하는 규칙들을 묵시적으로 또는 명시적으로 정의하는 것이 목적입니다.
권한을 가진 사용자에 의한 데이터베이스 갱신이 일관성을 깨지 않도록 보장하는 수단이라 할 수 있습니다.
(2) 무결성 제약조건의 장점
스키마를 정의할 때 일관성 조건을 오직 한 번만 명시하고, 데이터베이스가 갱신될 때 DBMS가 자동적으로 일관성 조건을 검사하므로 응용 프로그램들은 일관성 조건을 검사할 필요가 없습니다.
만약에, 응용 프로그램에서 무결성 제약조건을 유지할 경우 발생하는 문제점
프로그래밍 작업이 훨씬 복잡해지고, 무결성 제약조건을 반복해서 구현해야 하고, 무결성 제약조건들 간에 서로 충돌이 발생할 수 도 있습니다.
ex)
어떤 학생이 수강 신청을 했으나 학생들에 관한 정보를 포함하고 있는 릴레이션에 이 학생에 대한 데이터가 없다. (데이터 불일치 발생) | |||||||||
질의 처리 과정에 학생의 학번과 과목의 번호를 비교한다. (서로 연산할만한 연관이 없다.) | |||||||||
학생이 대학을 그만두어서 학생 릴레이션에는 이 학생에 대한 데이터가 삭제되었으나 수강 릴레이션에는 남아있다. (데이터 불일치) |
(2.1) 무결성 제약조건의 특징
1. 스키마의 한 부분에 정의된다.
2. 데이터베이스의 상태에 대한 제한을 한다.
3. 릴레이션 내의 무결성 제약조건 : 오직 한 릴레이션만 포함
4. 릴레이션 사이의 무결성 제약조건 : 여러 릴레이션을 포함
(3) 도메인 제약조건
- 데이터 형식을 통해 값들의 유형을 제한한다.
- 속성의 디폴트 값을 지정하며 저장되는 값들의 범위를 제한할 수 있다. ( 0<AGE<100 or SALARY > 100000 )
- 또한, 릴레이션을 정의할 때 속성 선언에 'NOT NULL' 구문을 붙이면 모든 투플에서 해당 속성의 값이 반드시 존재해야 한다.
(4) 키 제약조건
- 키 제약조건은 키 속성에 중복된 값이 존재해서는 안 된다는 것이다.
- 릴레이션을 정의할 때 기본키로 정의하거나 UNIQUE를 명시한 속성은 중복된 값이 허용되지 않는다.
(5) 기본키와 엔티티 무결성 제약조건
- 기본키는 투플들을 고유하게 식별하고, 효율적으로 빠르게 접근하는 데 사용된다. ( 두 개 이상의 투플이 동일한 기본키 값을 가질 수 없다.)
- 엔티티 무결성 제약조건은 릴레이션의 기본키를 구성하는 어떤 애트리뷰트도 NULL값을 가질 수 없다. ( 투플들을 고유하게 식별하기 위함이다, 대체키는 포함되지 않는다.)
(6) 외래키와 참조 무결성 제약조건
- 두 릴레이션의 연관된 투플들 사이의 일관성을 유지하는 데 사용된다. ( 삽입, 삭제, 수정)
- 릴레이션 사이의 관계들이 다른 릴레이션의 기본키를 참조하는 것을 기반으로 하기에 외래키 개념이 중요하다.
* employee 릴레이션의 외래키의 값은 department 릴레이션의 투플의 기본키와 같습니다.
* 외래키가 자신을 포함하고 있는 릴레이션의 기본키를 구성하고 있지 않으면 NULL값을 가집니다.
( 위에서 ENO 속성이 외래키인데, 예를 들어 아직 부서가 정해지지 않은 경우 이 값은 널값으로 일단 저장한다.)
반응형
'CS > Database' 카테고리의 다른 글
[DB] 데이터베이스 ER모델 (1) - 엔티티, 엔티티 타입, 애트리뷰트 (0) | 2022.09.27 |
---|---|
[DB] 데이터베이스 설계 - 요구사항 수집과 분석, 개념적 설계, 논리적 설계, 물리적 설계 (0) | 2022.09.26 |
[DB] 데이터 베이스 무결성 제약조건 유지 - 삽입, 삭제, 수정 (0) | 2022.09.11 |
[DB] 파일 시스템과 DBMS의 차이 - 데이터 관리 시스템 (0) | 2022.09.03 |
[DB] 데이터베이스 개념, 특징 / 데이터베이스 관리 시스템 DBMS (0) | 2022.09.03 |