용어 및 기초 개념
릴레이션(Relation)
- 관계형 데이터 모델에서 하나의 개체에 관한 데이터를 저장하기 위한 구조 ( = 테이블)
- 스키마와 인스턴스로 이루어져있다.
릴레이션 스키마(Schema)
- 릴레이션의 이름, 각 속성의 이름, 타입, 도메인 등을 정의하는 개념
릴레이션 인스턴스(Instance)
속성(Attribute) / 필드
- 릴레이션의 열(Column)
- 서로 다른 이름을 가져야 한다.
튜플(Tuple) / 레코드
도메인(Domain)
- 릴레이션의 속성이 가질 수 있는 원자값들의 집합
차수(Degree)
Cardinality
Key란?
릴레이션의 튜플을 식별할 수 있는 단일 속성 혹은 속성들의 집합
- 테이블 내 튜플을 식별해주고 테이블 간의 관계를 설정 및 식별할 수 있다.
유일성
과 최소성
에 따라 나눌 수 있다.
유일성(uniqueness) : 하나의 키값으로 튜플을 유일하게 식별할 수 있는 성질
최소성(irreducibility) : 키를 구성하는 속성들 중 꼭 필요한 최소한의 속성들로만 키를 구성하는 성질
Super Key(슈퍼 키)
유일성 O, 최소성 X
- ex) 학번, 아이디 등은 중복이 허용되지 않아서 유일성을 만족하기 때문에 슈퍼키가 될 수 있지만 나이, 성별 등은 슈퍼키가 될 수 없다.
Candidate Key(후보 키)
유일성 O, 최소성 O
- ex) 슈퍼키(학번, 나이)는 유일성은 만족하지만 굳이 필요없는 속성인 나이를 포함하고 있어서 최소성을 만족하지 못한다. 나이를 제거해서 최소성을 만족시키면 후보키가 될 수 있다.
Primary Key(기본 키, PK)
후보 키에서 선택받은 키
- null값을 가질 수 있는 속성이 포함된 후보 키는 기본 키로 부적절하다.
- 값이 자주 변경될 수 있는 속성이 포함된 후보 키는 기본 키로 부적절하다.
Alternate Key(대체 키)
후보 키에서 선택받지 못한 키
Foreign Key(외래 키, FK)
다른 릴레이션의 기본 키를 참조하는 키
- 릴레이션 간의 관계를 나타내기 위해 사용
- ex) 주문과 고객 정보 릴레이션이 있을 때 주문에서 외래 키로 고객 정보의 기본 키인 id를 참조할 수 있다.
- 외래 키로 고객id를 가져오면 고객 정보와 주문 릴레이션의 정보를 매칭시킬 수 있다.
참고 및 출처
논리적 데이터 모델링, 관계형 모델