Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- IOS
- 알고리즘
- git status
- Git
- github
- Unreal static Framework
- Swift
- Unreal iOS
- Algorithm
- 2차원배열
- Unreal iOS Framework
- 깃 명령어
- 백준
- Cpp
- C++
- 리눅스 명령어
- unreal dynamic framework
- 깃허브 가이드
- protocol 기본구현
- new int
- 깃허브 사용법
- 동적할당
- 깃허브
- ios framework
- PS
- 인프런
- 깃헙
- Problem Solving
- embed&sign
- where Self
Archives
- Today
- Total
Get Up & Code, MacKin Talk
[데이터베이스] 무결성 제약 조건 본문
관계 데이터 모델에서 정의하고 있는 기본 제약 사항 : 키와 관련한 무결성 제약조건(Integrity constraint)
- 무결성은 데이터에 결함이 없는 상태, 즉 데이터를 정확하고 유효하게 유지하는 것
데이터베이스가 삽입, 삭제, 수정 연산으로 상태가 변하더라도 무결성 제약조건은 반드시 지켜져야 한다.
보안 vs 무결성
- 보안 : 권한이 없는 사용자로부터 데이터를 보호하는 것.
- 무결성 : 권한이 있는 사용자의 잘못된 요구에 의해 데이터가 부정확해지지 않도록 하는 것.
관계 데이터 모델이 기본으로 포함하고 있는 무결성 제약 조건
개체 무결성 제약조건 : 기본키를 구성하는 모든 속성은 Null 값을 가질 수 없다.
- 관계 데이터 모델에서 기본키는 튜플들을 구별해주고, 쉽게 접근하게 해준다. 기본키의 구성요소가 Null이 되면 유일성을 판단할 수 없고, 기본키 본래 목적을 상실할 수 있다.
- 새로운 튜플이 삽입되는 연산과 기존 튜플의 수정 연산이 발생할 때, 기본키에 Null이 포함될 경우, 연산의 수행을 거부한다.
참조 무결성 제약조건 : 외래키는 참조할 수 없는 값을 가질 수 없다.
외래키 : 다른 릴레이션의 기본키를 참조하는 속성, 릴레이션 간의 관계를 표현하는 역할
- 외래키가 자신이 참조하는 릴레이션의 기본키와 상관이 없는 값을 가지게 되면 두 릴레이션을 연관시킬 수 없다.
- 참조 무결성 제약조건을 위반하지 않는 경우에만 참조 릴레이션에서 튜플을 삭제할 수 있다.
도메인 무결성
- 데이터 베이스에 삽입되는 데이터들에 제약조건: 각 속성의 도메인에 지정된 값만을 가져야 한다.
- ex) 주문 일자 데이터 : 날짜 데이터 사용
키 무결성
- 릴레이션은 최소 하나 이상의 키를 가지고 있어야 한다.
null 무결성
- null 무결성은 특정 속성값에는 Null 값을 가질 수 없다.
- 기본적으로 속성값으로 Null 값을 가질 수 있는데 기본키와 같이 필수적인 속성에 대해서는 스키마를 정의할 때 해당 속성을 Not Null로 미리 정의할 수 있다.
고유 무결성
- 특정 속성에 삽입되는 데이터가 고유한 값을 가지도록 조건이 주어졌을 때, 그 속성은 모두 달라야 한다.
- 각 튜플에서 위 조건을 만족하는 속성값은 중복될 수 없다.