데이터베이스 무결성 편집하기

IT위키

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
[[분류:데이터베이스]]
== 종류 ==
;권한 부여된 사용자들에 의해 야기될 수 있는 의미적 에러를 방지하고, 데이터베이스가 현실 세계의 올바른 데이터를 갖도록 보장하는 특성
* 개체 무결성
{| class="wikitable"
* 참조 무결성
|-
* 속성 무결성
! 구분 !! 설명 !! 예시
* 키 무결성
|-
* 사용자정의 무결성
| 개체 무결성
(Entity Integrity)
||
* 기본키는 반드시 값을 가짐(NOT NULL)
||
* PK is not null
|-
| 참조 무결성
(Referential Integrity)
||
* 외래키는 참조되는 릴레이션의 PK거나 NULL이어야 함
||
* Foreign Key
|-
| 속성 무결성
(Attribute Integrity)
||
* 속성은 지정된 형식에 맞는 값이어야 함
||
* Data Type
* Null/Not Null
|-
| 키 무결성
(Key Integrity)
||
* 한 릴레이션에 각 키는 유일해야 한다.
||
* Primary Key
|-
| 사용자정의 무결성
도메인 무결성
 
(Domain Integrity)
||
* 속성은 업무적으로 정합한 값이어야 함
||
* Check Constraint
* SW Validation
|}
* 이에 대한 표준은 정해져 있지 않은 것으로 보인다<ref>확인 필요</ref>
** 국내외 문서마다 분류 기준이 조금씩 다름
* '[https://raisonde.tistory.com/entry/데이터베이스-관계-데이타-모델과-관계-제약조건 제약조건]'의 관점에서 보느냐 '무결성'의 관점에서 보느냐의 차이도 존재함
* 초기 [[관계대수]]의 이론을 기준으로 보느냐, 현대 실무적 관점에서 보느냐의 차이도 존재함
 
== [[참조 무결성 제약]] ==
;Relational Integrity Constraint
{| class="wikitable"
|-
! 기능 !! 구분
|-
| Restrict ||
* 부모 테이블의 참조 대상 키가 삭제 또는 변경되는 것을 불허
* 자식 테이블의 참조값을 변경하는 경우, 부모 테이블에 있는 참조 대상 키가 있는 경우만 허용
|-
| Cascade || 부모 테이블의 참조 대상 키가 삭제되면 자식 테이블의 참조 튜플 삭제
|-
| Nullify || 부모 테이블의 참조 대상 키가 삭제되면 자식 테이블의 참조값을 Null로 변경
|-
| Default || 부모 테이블의 참조 대상 키가 삭제되면 미리 정의한 Default 값으로 변경
|}
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 IT위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소 편집 도움말 (새 창에서 열림)