목차
1. 관계형 모델의 개념
2. 릴레이션의 특징
3. 관계형 무결성 제약조건
관계 데이터 모델과 관계 데이터베이스 제약조건
관계 데이터베이스의 아주 중요한 기본 개념이다!!
1. 관계형 모델의 개념 (Relational Model Concepts)
* (Informal) Relation 정의
• 2차원 테이블
• A table of tuples
• 열(Column): attribute
• 행(Row): tuple
* (Formal) Relational Concepts
• Domain(도메인): A set of atomic (indivisible) values - 하나의 속성이 가질 수 있는 같은 타입의 모든 값의 집합
• Attribute(속성): A name to suggest the meaning that a domain plays in a particular relation
• Relation Schema: A Relation name R and a set of attributes Aᵢ, that define the relation
• relation의 차수(Degree of a relation): attributes의 개수
• Tuple t
- A (ordered) set of values ◁ value들끼리의 순서는 중요함!
- n-tuple
• Relation instances r(R): a set of tuples
2. 릴레이션의 특징 (Characteristics of Relations)
* 릴레이션(table)의 특징
• r(R)에 있는 튜플들의 순서는 의미X
• 릴레이션 스키마 R에 있는 attributes의 순서는 중요함
• 한 튜플 내에 있는 각 value들은 atomic(더이상 나뉘지 않음)
3. 관계형 무결성 제약조건 (Relational Integrity Constraints)
* Constraints (제약조건. 지켜져야 하는 조건들)
are conditions that must hold on all valid relation instance
1) (키) key constraints : 키를 꼭 가져야 한다.
2) (엔티티(개체) 무결성) Entity integrity constraints : key가 null이면 X
3) (참조 무결성) Referential integrity constraints :
(부르는) R1에 있는 FK attribute 값은,
(불리는) R2 안에 나타난 PK attribute 값을 가져야 한다.
= 내가 가지고 있는 FK는 참조되는 테이블의 PK 출신이어야 한다.
(1) Key 제약 조건: (candidate) key를 가져야 함
• R의 슈퍼키 (SK, SuperKey)
- 유일성(unique)을 가진 애트리뷰트는 슈퍼키에 해당한다고 볼 수 있음.
- 키는 중복X, unique
- 키만 가지고 모든 튜플들을 unique하게 identify할 수 있음.
- PK와 복합키도 슈퍼키
• R의 후보키 (Candidate Key)
- A “minimal” superkey 최소화된 슈퍼키
- 유일성 + ⭐️최소성⭐️
- 각 행을 유일하게 식별할 수 있는 최소한의 키
- superkey를 구성하는 attributes 중 하나라도 빼면, key의 역할을 못하는 최소한의 key
• 후보키가 기본키가 될 수 있다.
• 대체키(alternate key): 기본키 지정 후 남은 후보키들. 언제든지 키가 대체될 수 있는 키.
• 기본키(Primary key): 유일성과 최소성을 만족하는 애트리뷰트
- 후보키 중에서 선택
- 릴레이션당 1개만 지정 가능
- Null일 수 없음
- (당연히도) 중복값X
- 밑줄로 표현
▶ 나중에 나올 '정규화' 부분에서 다시 나옴! 기본 개념 중요!!
(2) Entity Integrity 제약조건 (개체 무결성 제약조건)
• Entity Integrity: key가 null이 되면 안 된다.
• 키가 아니더라도 null이 되지 않도록 해주는 게 좋음.
(3) Referential Integrity 제약조건
• calling relation의 FK는 called relation의 PK출신이어야 한다.
참조하는 릴레이션의 외래키는 참조되는 릴레이션의 기본키여야 한다.
마무리
관계형 데이터베이스의 무결성 제약조건
1. 키 무결성: 키를 가져야 한다.
2. 엔티티(개체) 무결성: 그 키가 null이면 안 된다.
3. 참조 무결성: 내가 가지고 있는 외래키(FK)는 그걸 가져온 릴레이션의 기본키(PK) 출신이어야 한다.
유일한 값만 가짐(유일성) → 슈퍼키 → (+최소성) → 후보키 → (후보키 중에서 1개 선택) → 기본키
후보키가 2개 이상인 경우, 기본키가 지정되고 남은 후보키들을 대체키라고 함.