목차
1. 데이터 베이스 무결성 제약 조건 유지
2. 삽입 연산
3. 삭제 연산
4. 수정 연산
(1) 무결성 제약조건의 유지
데이터베이스에 대한 갱신 연산의 수행 결과에 따라서 무결성 제약조건이 위배될 수 있습니다.
그래서 DBMS는 외래키가 갱신되거나, 참조된 기본키가 갱신되었을 때 참조 무결성 제약조건이 위배되지 않도록 해야 합니다.
(2) 삽입 연산
참조되는 릴레이션에 새로운 투플이 삽입되면 참조 무결성 제약조건은 위배하지 않는다.
왜냐하면, 참조하는 릴레이션의 기존 투플들은 참조되는 릴레이션에 추가되는 투플과 연관이 없다.
그러나
릴레이션의 기본키인 속성의 값이 기존의 값과 동일한 값이 삽입되면 기본키 제약조건을 위배하게 되므로 조심해야 한다.
참조되는 릴레이션에 기본키의 값으로 NULL값으로 투플을 삽입하면 엔티티 무결성 제약조건을 위배한다.
부서 이름(문자형) 속성의 값으로 숫자가 들어있는 투플을 삽입하면 도메인 제약조건을 위배한다.
참조하는 릴레이션에 존재하지 않는 외래키 값이 있는 투플을 삽입하면 참조 무결성 제약조건을 위배한다.
(3) 삭제 연산
참조하는 릴레이션에서 투플이 삭제되면 무결성 제약조건을 위배하지 않는다.
그러나
DEPARTMENT 릴레이션에서 삭제한 투플이 EMPLOYEE 릴레이션에 투플들 중 참조한 값을 삭제한 경우라면 참조 무결성 제약조건을 위반하게 된다. ( 예를 들어, DEPTNO 값이 1,2,3을 삭제한 경우를 의미한다.)
그래서 DBMS가 삭제 연산 시 발생할 수 있는 문제점 바로잡는 방법
- 제한
위배를 야기한 연산을 DBMS가 거절한다.
- 연쇄
참조되는 릴레이션에 투플을 삭제하고, 참조하는 릴레이션에서 이 투플을 참조하는 투플을 함께 삭제한다.
- NULL 값 넣기
참조되는 릴레이션에서 투플을 삭제하고, 참조하는 릴레이션에서 이 투플을 참조하는 투플들의 외래키에 널값을 넣는다.
- Default 값 넣기
참조되는 릴레이션에서 투플을 삭제하고, 참조하는 릴레이션에서 이 투플을 참조하는 투플들의 외래키에 디폴트 값을 넣는다.
(4) 수정 연산
주어직 릴레이션에서 하나 이상의 투플의 하나 이상의 속성을 수정하는 연산입니다.
DBMS는 수정하려는 속성의 새로운 값이 올바른 데이터 타입과 도메인을 만족하는지 확인합니다.
기본키나 외래키를 수정하는 것은 하나의 투플을 삭제하고 새로운 투플을 그 자리에 삽입하는 것과 유사합니다.
수정 연산에서도 제한, 연쇄, 널값, 디폴트 값 방법이 똑같이 적용됩니다.
'CS > Database' 카테고리의 다른 글
데이터베이스 ER 모델 기초 - 엔티티, 엔티티 타입, 애트리뷰트 이해 (0) | 2022.09.27 |
---|---|
[DB] 데이터베이스 설계 - 요구사항 수집과 분석, 개념적 설계, 논리적 설계, 물리적 설계 (0) | 2022.09.26 |
데이터베이스 무결성 제약조건이란? 도메인, 기본키, 참조 무결성으로 알아보는 제약조건 (0) | 2022.09.10 |
[DB] 파일 시스템과 DBMS의 차이 - 데이터 관리 시스템 (0) | 2022.09.03 |
[DB] 데이터베이스 개념, 특징 / 데이터베이스 관리 시스템 DBMS (0) | 2022.09.03 |