목차
- Relation이란
- Table표
- Key
- Relational Integrity Constraints
Relation이란
집합이 $$ \{ D_1, D_2, ... , D_n \} $$ 으로 정의 되어있을 때 부분집합들로 정의 될 수 있는 모든 서로소 관계에 있는 집합들이다.
Table표현
- tuple의 순서는 상관 없다
- 하지만 이들이 중복되서는 안된다.
- Attribute 또한 중복되서는 안된다.
- row와 column이 교차하는 지점에는 값이 1개만 존재해야한다. 물론 NULL값도 허용된다.
Key
Key의 종류
- Super Key : tuple을 구분할 수 있는 모든 Attirbute의 조합
- Key : Super Key에서 유일성에 기여하는 Attribute를 제외한 Attribute들
- Simple Key : Attribute가 1개인 Key
- Composite Key : Attribute가 2개 이상인 Key
- Candidate Key : Key가 여러개인 경우 해당 Key들의 집합
- Primary Key : Candidate Key에서 사용자가 임의로 정한 Key
좋은 PK란?
- Stable : 값이 바뀌지 않는다.
- Definitive : NULL값이 없다.
- Numeric : 숫자형이다.
- Minimal : 가장 적은 Attribute 수를 가진다.
- Short : 너무 길지 않아야한다.
- Security : 민감한 정보는 포함하지 않는다.
Relational Integrity Constraints
Key Integrity
Key값은 Table 내에서 유일해야한다.
Entity Integrity
PK에는 NULL 값이 허용되지 않는다.
Referential Integrity
참조하는 Tuple은 참조되는 Tuple의 PK값을 FK값으로 가지게 된다.
이때 FK 값은 참조되는 테이블에 반드시 존재하는 값이 되거나 NULL값이 된다.
이러한 Integrity를 위반할 수 있는 상황은 다음과 같이 2가지가 존재한다.
- 참조되는 관계에서 DELETE나 UPDATE가 발생하거나
- 참조하는 관계에서 INSERT가 발생하거나
이러한 경우 3가지 조건 방식으로 해당 Integrity를 처리할 수 있다.
- 해당 operation을 거부하고 사용자에게 이유를 설명한다.
- 해당 operation을 실행하되 수정하기를 요청한다.
- DBMS자체에서 추가적인 행동을 진행한다.(CASCADE, SET NULL, SET DEFAULT)
해당 내용은 성균관대학교 김응모 교수님 데이터 베이스 개론 수업을 듣고 정리한 것입니다.
긴 글 읽어주셔서 감사합니다.
틀린 부분이 있으면 댓글을 달아주시면 감사하겠습니다.
📧 : may3210@g.skku.edu
🔗 : https://github.com/RicardoKim
'Computer Science > 데이터베이스' 카테고리의 다른 글
EER Modeling (0) | 2022.04.02 |
---|---|
ER Modeling (0) | 2022.03.31 |
데이터 베이스 Introduction (0) | 2022.03.28 |