데이터베이스 키(Key)
데이터베이스에서 키란, 데이터베이스에서 조건에 만족하는 튜플을 찾거나 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 속성(Attribute)입니다.
슈퍼키
- 유일성을 만족하는 키입니다.
어떤 속성끼리 묶던 중복값이 발생하지 않고, 서로 구별만 할 수 있다면 해당됩니다.
- 특정 속성들을 묶던 혹은 단일 속성으로 사용하던 상관없습니다.
후보키
- 슈퍼키들 중에서 속성은
최소한의 갯수로 데이터를 구분할 수 있어야 후보키가 될 수 있습니다.
- 단일 속성으로 데이터의 유일성을 보장할 수 있다면, 2개 이상의 속성으로 이워진 슈퍼키는
최소성을 만족하지 못해 후보키가 될 수 없습니다.
기본키
- 후보키들 중에서 하나를 선택한 키로 최소성과 유일성을 만족하는 속성입니다.
- 테이블의 기본키는 오직 1개만 지정할 수 있습니다.
- 기본키는 절대
NULL 값을 가질 수 없으며, 중복된 값을 가질 수 없습니다.
대체키
- 후보키가 두개 이상일 경우 그 중 하나를 기본키로 지정하고, 남은 후보키 하나를 대체키로 지정합니다.
외래키
- 연관관계를 갖는 두개의 테이블에서 참조하는 테이블의 특정 컬럼이 참조되는 테이블의 기본키를 바라보고 있는 경우 해당 컬럼을 외래키라고 합니다.
- 참조 될 테이블 A가 먼저 생성되고 참조하는 테이블 B에 값이 입력되어야 합니다.
무결성 제약조건
무결성 제약조건이란, 데이터베이스에 저장된 데이터의 일관성과 정확성을 보장하는데 사용합니다.
데이터베이스 키와 무결성 제약조건은 데이터의 구조와 무결성을 유지하는데 중요하며, 정확하고 일관된 데이터의 관리를 보장합니다.
도메인 무결성
- 각 속성 값은 반드시 원자값이어야 합니다.
- default 값, 가능한 값들의 범위 등을 지정할 수 있습니다.
개체(Entity) 무결성
- 엔티티: 데이터 집합(상품, 주문 ...)
- 릴레이션의 기본 키를 구성하는 어떤 Attribute도 NULL 값을 가질 수 없습니다.
- 개체는 중복된 값을 허용하지 않습니다.
참조 무결성
- 두 릴레이션의 연관된 튜플들 사이의 일관성을 유지하는데 사용됩니다.
- 릴레이션 R2의 외래 키가 릴레이션 R1의 기본키를 참조할 때, 참조 무결성 제약조건은 아래 둘 중 하나라도 성립한다면 참조 무결성을 만족합니다.
1. 외래 키의 값은 R1의 어떤 튜플의 기본 값과 같다.
2. 외래 키가 자신을 포함하고 있는 릴레이션의 기본 키를 구성하고 있지 않으면 NULL 값을 가진다.(1:N 연관관계에서 발생 가능성)