데이터베이스 무결성
무결성?
DB 내의 데이터가 정확하고 일관되며 유효한 상태를 유지하는 것을 보장하는 규칙과 제약 조건.
개체 무결성
- 기본키를 구성하는 속성은 null값을 가질 수 없다.
- 기본키를 구성하는 속성은 다른 레코드와 중복될 수 없다.
참조 무결성
- 외래키를 구성하는 속성은 참조 테이블의 기본키 값과 동일해야 한다.
도메인 무결성
- 속성값은 속성이 정의된 도메인의 범위를 벗어날 수 없다
최소성과 유일성
최소성
- 키를 구성하는데 여러 속성을 묶어서 키로 지정할 수 있다.
이 때 키를 구성하는 최소로 필요한 속성들로만 키를 구성하는 성질.
유일성
- 하나의 키값으로 레코드를 식별할 수 있는 성질.
- 레코드가 여러 개 존재할 때 각각의 레코드는 유일해야 하며 레코드를 구분할 수 있는 속성이 필요하다.
Key
키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때
다른 튜플들과 구별할 수 있는 유일한 기준이 되는 속성이다.
튜플 : 테이블을 구성하는 각각의 행, 속성.
Key의 종류
1. 슈퍼키 (Super Key) 유일성 O 최소성 X
- 한 테이블 내에 있는 속성들의 집합으로 구성된 키.
- 슈퍼키로 구성된 속성의 값은 테이블 내에서 유일해야 한다.
2. 후보키 (Candidate Key) 유일성 O 최소성 O
- 테이블에서 각 행을 고유하게 식별할 수 있는 속성 또는 속성의 집합.
- 기본키가 될 수 있는 후보들.
3. 기본키 (Primary Key) 유일성 O 최소성 O
- 후보키 중 선택된 키.
- 한 테이블에서 특정 튜플을 유일하게 구별할 수 있는 속성.
- Null값을 가질 수 없다.
- 중복된 값을 저장할 수 없다.
3-1 자연키
- 하나의 테이블에서 레코드를 구분할 수 있는 것을(중복되지 않는 것) 자연스레 뽑다 나오는 키
3-2 인조키
- 인위적으로 생성한 키.
- 자연키와 달리 변하지 않으므로 보통 기본키는 인조키로 설정한다.
4. 대체키 (Alternate Key) 유일성 O 최소성 X
- 보조키라고도 불리며 후보키 중 선택받지 못한 키.
- 주로 검색이나 정렬에 사용된다.
5. 외래키 (Foreign Key) 유일성 X 최소성 X
- 다른 릴레이션의 기본키를 참조하는 속성.
- 외래키를 통해 테이블간 관계 표현 가능.
- 외래키로 지정되면 참조 테이블의 기본키에 없는 값은 입력할 수 없다.
6. 유일키 (Unique Key) 유일성 O 최소성 X
- null은 허용하지만 중복값은 허용하지 않는다.
- 테이블에서 여러 속성에 지정할 수 있다.
예상 질문
- 기본키 식별자로 인조키를 사용하는 이유를 설명하세요.
더보기자연키는 바뀔수도 있고 주민등록번호같은 보안사항을 키로 설정하면 보안이 위험합니다.
- 유일키와 기본키 차이점에 대해 설명하세요.
더보기기본 키는 각 레코드를 식별하기 위해 사용되며 개체 무결성 두가지 조건에 따라 null 값을 허용하지 않고
중복값을 허용하지 않으며 하나의 릴레이션 안에 오직 하나만 설정할 수 있습니다.
유일 키는 어떠한 속성의 유일성을 확보하기 위해 사용되며 기본 키 처럼 중복값을 허용하지 않지만 null 값을 허용하고 하나의 릴레이션 안에 여러개를 지정 할 수 있습니다. - 참조 무결성에대해 설명해주세요.
더보기기본 키와 참조 키 간의 관계가 항상 유지됨을 보장합니다.참조되는 테이블의 행을 이를 참조하는 참조키가 존재하는 한 삭제될 수 없고, 기본키도 변경될 수 없습니다.
출처
https://kosaf04pyh.tistory.com/201
'CS > 데이터베이스' 카테고리의 다른 글
RDB - NoSQL 차이점 (1) | 2024.03.18 |
---|---|
트랜잭션 격리 수준 (0) | 2024.03.14 |
동시성 제어 (1) | 2024.03.14 |
트랜잭션 (0) | 2024.03.13 |
ERD-정규화 (0) | 2024.03.11 |