데이터베이스 무결성: 두 판 사이의 차이
IT위키
편집 요약 없음 |
|||
(다른 사용자 한 명의 중간 판 3개는 보이지 않습니다) | |||
10번째 줄: | 10번째 줄: | ||
* 기본키는 반드시 값을 가짐(NOT NULL) | * 기본키는 반드시 값을 가짐(NOT NULL) | ||
|| | || | ||
* PK | * PK is not null | ||
|- | |- | ||
| 참조 무결성 | | 참조 무결성 | ||
35번째 줄: | 35번째 줄: | ||
|- | |- | ||
| 사용자정의 무결성 | | 사용자정의 무결성 | ||
( | 도메인 무결성 | ||
(Domain Integrity) | |||
|| | || | ||
* 속성은 업무적으로 정합한 값이어야 함 | * 속성은 업무적으로 정합한 값이어야 함 | ||
46번째 줄: | 48번째 줄: | ||
* '[https://raisonde.tistory.com/entry/데이터베이스-관계-데이타-모델과-관계-제약조건 제약조건]'의 관점에서 보느냐 '무결성'의 관점에서 보느냐의 차이도 존재함 | * '[https://raisonde.tistory.com/entry/데이터베이스-관계-데이타-모델과-관계-제약조건 제약조건]'의 관점에서 보느냐 '무결성'의 관점에서 보느냐의 차이도 존재함 | ||
* 초기 [[관계대수]]의 이론을 기준으로 보느냐, 현대 실무적 관점에서 보느냐의 차이도 존재함 | * 초기 [[관계대수]]의 이론을 기준으로 보느냐, 현대 실무적 관점에서 보느냐의 차이도 존재함 | ||
== [[참조 무결성 제약]] == | |||
;Relational Integrity Constraint | |||
{| class="wikitable" | |||
|- | |||
! 기능 !! 구분 | |||
|- | |||
| Restrict || | |||
* 부모 테이블의 참조 대상 키가 삭제 또는 변경되는 것을 불허 | |||
* 자식 테이블의 참조값을 변경하는 경우, 부모 테이블에 있는 참조 대상 키가 있는 경우만 허용 | |||
|- | |||
| Cascade || 부모 테이블의 참조 대상 키가 삭제되면 자식 테이블의 참조 튜플 삭제 | |||
|- | |||
| Nullify || 부모 테이블의 참조 대상 키가 삭제되면 자식 테이블의 참조값을 Null로 변경 | |||
|- | |||
| Default || 부모 테이블의 참조 대상 키가 삭제되면 미리 정의한 Default 값으로 변경 | |||
|} |
2019년 12월 15일 (일) 18:27 기준 최신판
- 권한 부여된 사용자들에 의해 야기될 수 있는 의미적 에러를 방지하고, 데이터베이스가 현실 세계의 올바른 데이터를 갖도록 보장하는 특성
구분 | 설명 | 예시 |
---|---|---|
개체 무결성
(Entity Integrity) |
|
|
참조 무결성
(Referential Integrity) |
|
|
속성 무결성
(Attribute Integrity) |
|
|
키 무결성
(Key Integrity) |
|
|
사용자정의 무결성
도메인 무결성 (Domain Integrity) |
|
|
- 이에 대한 표준은 정해져 있지 않은 것으로 보인다[1]
- 국내외 문서마다 분류 기준이 조금씩 다름
- '제약조건'의 관점에서 보느냐 '무결성'의 관점에서 보느냐의 차이도 존재함
- 초기 관계대수의 이론을 기준으로 보느냐, 현대 실무적 관점에서 보느냐의 차이도 존재함
참조 무결성 제약[편집 | 원본 편집]
- Relational Integrity Constraint
기능 | 구분 |
---|---|
Restrict |
|
Cascade | 부모 테이블의 참조 대상 키가 삭제되면 자식 테이블의 참조 튜플 삭제 |
Nullify | 부모 테이블의 참조 대상 키가 삭제되면 자식 테이블의 참조값을 Null로 변경 |
Default | 부모 테이블의 참조 대상 키가 삭제되면 미리 정의한 Default 값으로 변경 |
- ↑ 확인 필요