관계 데이터 모델의 개념
릴레이션을 사용하여 모든 데이터를 논리적으로 구성한 것이 관계 데이터 모델이다
릴레이션 : 행과 열로 이루어진 2차원 테이블, 튜플의 집합
레코드 : 릴레이션의 각 행
튜플 : 행을 의미
애트리뷰트 : 열을 의미
카디날리티 : 튜플의 수
차수 : 애트리뷰트의 수
스키마 : 릴레이션이 어떻게 구성되는지에 대한 기본적인 구조로 첫 행을 의미
도메인 : 한 애트리뷰트에 나타날 수 있는 값들의 집합
릴레이션 스키마
릴레이션의 이름과 릴레이션 애트리뷰트의 집합이다
표기법은 릴레이션 이름 (애트리뷰트1, 애트리뷰트2, ... ) 으로, 기본 키 애트리뷰트에 밑줄 표시한다
내포라고 한다
릴레이션 인스턴스
릴레이션의 어느 시점에 들어있는 튜플들의 집합이다
시간의 흐름에 따라 계속 변한다
외연라고 한다
릴레이션의 특성
- 각 릴레이션은 오직 하나의 레코드 타입만 포함
- 한 애트리뷰트 내의 값들은 모두 같은 유형
- 애트리뷰트와 튜플의 순서는 중요하지 않음
- 키가 존재하기 때문에 동일한 튜플이 두 개 이상 존재하지 않음
- 한 튜플의 각 애트리뷰트는 원자값을 가짐
릴레이션의 키
각 튜플을 고유하게 식별할 수 있는 하나 이상의 애트리뷰트들의 모임
1) 슈퍼키
한 릴레이션 내의 특정 튜플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트들의 집합
예시) 신용카드 회사의 고객 릴레이션에서 (신용카드번호, 주소) 또는 (주민등록번호, 이름) 또는 (주민등록번호)
2) 후보키
각 튜플을 고유하게 식별하는 최소한의 애트리뷰트들의 모임
모든 릴레이션에는 최소한 한 개 이상의 후보 키가 있으며, 두 개 이상의 애트리뷰트로 이루어진 경우에
복합 키라고 부름
예시) (신용카드번호, 주소)는 신용카드 회사의 고객 릴레이션의 후보 키가 아니지만 (신용카드번호)는 후보 키
예시) 아래 사진에서 (학번,과목번호)는 후보키
3) 기본키
여러 후보키 중 하나 대표로 선정한 키
4) 대체키
기본키가 아닌 후보키
5) 외래키
어떤 릴레이션의 기본 키를 참조하는 애트리뷰트
자체 릴레이션의 기본키를 참조할 수도 있음
키들의 포함관계
'CS > 데이터베이스' 카테고리의 다른 글
[Database] SQL (0) | 2021.10.08 |
---|---|
[Database] 관계 대수와 SQL (2) (0) | 2021.10.08 |
[Database] 관계대수와 SQL (0) | 2021.09.23 |
[Database] DBMS 발전과정/분류/언어 (0) | 2021.09.07 |
[Database] 데이터베이스란? (0) | 2021.09.02 |
댓글