[데이터베이스]관계 데이터 모델과 관계 데이터베이스 제약조건

728x90
반응형

목차

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개 이상인 경우, 기본키가 지정되고 남은 후보키들을 대체키라고 함.

 

 

728x90
반응형