데이터베이스 무결성: Difference between revisions
From CS Wiki
No edit summary |
No edit summary |
||
Line 48: | Line 48: | ||
* '[https://raisonde.tistory.com/entry/데이터베이스-관계-데이타-모델과-관계-제약조건 제약조건]'의 관점에서 보느냐 '무결성'의 관점에서 보느냐의 차이도 존재함 | * '[https://raisonde.tistory.com/entry/데이터베이스-관계-데이타-모델과-관계-제약조건 제약조건]'의 관점에서 보느냐 '무결성'의 관점에서 보느냐의 차이도 존재함 | ||
* 초기 [[관계대수]]의 이론을 기준으로 보느냐, 현대 실무적 관점에서 보느냐의 차이도 존재함 | * 초기 [[관계대수]]의 이론을 기준으로 보느냐, 현대 실무적 관점에서 보느냐의 차이도 존재함 | ||
== 참조 무결성 제약 조건 == | |||
;Relational Integrity Constraint | |||
{| class="wikitable" | |||
|- | |||
! 기능 !! 구분 | |||
|- | |||
| Restrict || | |||
* 부모 테이블의 참조 대상 키가 삭제 또는 변경되는 것을 불허 | |||
* 자식 테이블의 참조값을 변경하는 경우, 부모 테이블에 있는 참조 대상 키가 있는 경우만 허용 | |||
|- | |||
| Cascade || 부모 테이블의 참조 대상 키가 삭제되면 자식 테이블의 참조 튜플 삭제 | |||
|- | |||
| Nullify || 부모 테이블의 참조 대상 키가 삭제되면 자식 테이블의 참조값을 Null로 변경 | |||
|- | |||
| Default || 부모 테이블의 참조 대상 키가 삭제되면 미리 정의한 Default 값으로 변경 | |||
|} |
Revision as of 04:12, 24 August 2019
- 권한 부여된 사용자들에 의해 야기될 수 있는 의미적 에러를 방지하고, 데이터베이스가 현실 세계의 올바른 데이터를 갖도록 보장하는 특성
구분 | 설명 | 예시 |
---|---|---|
개체 무결성
(Entity Integrity) |
|
|
참조 무결성
(Referential Integrity) |
|
|
속성 무결성
(Attribute Integrity) |
|
|
키 무결성
(Key Integrity) |
|
|
사용자정의 무결성
도메인 무결성 (Domain Integrity) |
|
|
- 이에 대한 표준은 정해져 있지 않은 것으로 보인다[1]
- 국내외 문서마다 분류 기준이 조금씩 다름
- '제약조건'의 관점에서 보느냐 '무결성'의 관점에서 보느냐의 차이도 존재함
- 초기 관계대수의 이론을 기준으로 보느냐, 현대 실무적 관점에서 보느냐의 차이도 존재함
참조 무결성 제약 조건
- Relational Integrity Constraint
기능 | 구분 |
---|---|
Restrict |
|
Cascade | 부모 테이블의 참조 대상 키가 삭제되면 자식 테이블의 참조 튜플 삭제 |
Nullify | 부모 테이블의 참조 대상 키가 삭제되면 자식 테이블의 참조값을 Null로 변경 |
Default | 부모 테이블의 참조 대상 키가 삭제되면 미리 정의한 Default 값으로 변경 |
- ↑ 확인 필요