관계 데이터 모델
관계 데이터 모델 주요 용어
- 릴레이션(relation) : 테이블(table) 구조
- 튜플(tuple) : 이름을 갖지 않는 행(row)
- 속성(attribute) : 이름을 갖는 열(column)
- 키(key) 속성 : 릴레이션을 구성하는 튜플의 속성들 중에 튜플을 유일하게 식별할 수 있는 속성
- 기본 키(primary key) : 키 속성 중에서 튜플을 식별하는 대표적 속성으로 사용자에 의해서 지정된 속성
- 도메인(domain) : 각각의 속성들이 가질 수 있는 값의 집합, 값의 풀(pool)
- 도메인의 예
성별 : '남', '여'
요일 : '일', '월', '화', '수', '목', '금', '토'
직급 : '사장', '이사', '차장', '과장', '대리'
스키마(schema)와 인스턴스(instance)
- 스키마(schema) : 해당 객체의 논리적 구조(속성들이 가지게 될 값의 유형을 정의해 놓은 형태)
- 인스턴스(instance) : 해당 객체의 물리적 구조 (물리적으로 실제 값을 가지고 있는 형태)
릴레이션 스키마와 릴레이션 인스턴스
릴레이션 스키마
- 릴레이션의 논리적 구조 (한 개의 테이블이 가지는 논리적 구조)
- 데이터베이스 테이블을 설계, 정의하는 경우 사용
- 릴레이션의 heading
릴레이션 인스턴스
- 해당 릴레이션이 특정 시간에 가지고 있는 실제 튜플들의 집합
- 릴레이션의 body
키의 종류
- 후보 키 (Candidate Key) : 유일성과 최소성을 모두 만족하는 속성
- 기본 키 (Primary Key) : 데이터베이스 설계자에 의해 지정된 하나의 후보키, 빈번한 검색과 의미적으로 중심이 되는 후보 키 NOT NULL
- 대체 키 (Altername Key) : 기본 키를 제외한 나머지 후보 키들
- 외래 키 (Foreign Key) : 다른 릴레이션과의 관계 형성을 위해 다른 릴레이션의 기본 키를 해당 릴레이션의 속성으로 사용
마치며
- 관계 데이터 모델의 장점은 개념적으로 단순하여 모델에 대한 이해나 구현이 직관적이고 용이하다. 수학적으로 견고한 이론을 기반으로 구현된 모델로, SQL과 같은 데이터 언어를 사용하여 데이터베이스에 접근 하는 것이 매우 용이하다.
- 관계 데이터 모델에서 릴레이션이란, 이름을 갖는 '열'인 '속성'들과 이름을 갖지 않는 '행'인 '튜플'들로 이루어진 '테이블'이다.
- 릴레이션을 구성하는 튜플의 속성들 중 튜플을 유일하게 식별할 수 있는 속성을 '키'라고 하며, 튜플을 식별하는 대표적 속성으로 데이터베이스 설계자나 DBA에 의해 지정된 속성을 '기본 키'라고 한다.
- 관계 데이터 모델에서 사용될 수 있는 어떤 객체의 논리적 구조를 정의해 놓은 것을 '스키마'라고 하며, 이런 스키마를 기반으로 생성되어 실제 값을 가지고 있는 형태의 물리적 구조를 '인스턴스'라고 한다.