[데이터베이스] 데이터베이스개론 CH5
Chapter 5 관계 데이터 모델
-
관계 데이터 모델의 개념
- 관계 데이터 모델의 기본 용어
- 하나의 개체에 관한 데이터를 릴레이션 하나에 담아 테이터베이스에 저장한다.
- 속성(=attribute) : 릴레이션의 열
- 각 속성은 서로 다른 이름을 이용해 구별한다.
- 파일 관리 시스템에서 파일의 필드에 대응하는 개념이다.
- 투플 (=tuple) : 릴레이션의 행
- 고객 개체의 인스턴스다.
- 파일 관리 시스템에서 파일의 레코드에 대응하는 개념이다.
- 도메인 : 속성 하나가 가질 수 있는 모든 값의 집합
- 예를 들어 고객의 등급이라는 속성의 값으로 vip, gold, silver, bronze가 있고 이들은 도메인이라고한다.
- 그러나 고객아이디, 고객이름, 나이와 같은 속성들이 대다수고 이들의 도메인을 정의하기 어렵다. => 따라서, 도메인은 속성의 특성을 고려한 데이터 타입으로 정의한다. ex. 고객이름 속성 도메인 - CHAR(20)
- 널 값 : 릴레이션에 있는 특정 투플의 속성 값을 모르거나, 적합한 값이 없는 경우 - 특정 속성에 해당되는 값이 없음을 나타내는 것으로 0이나 공백 문자와는 다른 것이다. - 데이터 관리 시스템마다 내부적으로 표시하는 기호가 다르다.
- 차수 : 하나의 릴레이션에서 속성의 전체 개수 - 모든 릴레이션은 최소 1 이상의 차수를 유지해야 한다. - 차수는 일반적으로 자주 변하지 않는다는 정적인 특징이 있다.
- 카디널리티 : 하나의 릴레이션에서 투플의 전체 개수 - 투플이 없는 릴레이션이 존재할 수도 있다. - 투플이 계속 삽입되거나 기존의 투플이 삭제될 수 있으므로 릴레이션의 카디널리티는 자주 변한다는 동적인 특징이 있다.
- 속성(=attribute) : 릴레이션의 열
- 하나의 개체에 관한 데이터를 릴레이션 하나에 담아 테이터베이스에 저장한다.
- 릴레이션과 데이터베이스의 구성
- 릴레이션 스키마(=릴레이션 내포, relation intension)
- 릴레이션의 이르모가 릴레이션에 포함된 모든 속성의 이름
- 릴레이션의 논리적 구조
- 정적이다.
- 릴레이션 이름(속성이름1, 속성이름2, … , 속성이름n)
- ex. 고객(고객아이디, 고객이름, 나이, 등급, 직업, 적립금)
- 릴레이션 인스턴스(=릴레이션, 릴레이션 외연, relation extension)
- 투플들의 집합
- 현재 릴레이션의 실제 내용을 쉽게 파악할 수 있다.
- 동적이다.
- 데이터베이스 스키마와 데이터베이스 인스턴스
- 데이터베이스는 여러 개의 릴레이션으로 구성된다.
- 즉, 데이터베이스를 구성하는 모든 릴레이션 스키마와 릴레이션 인스턴스를 모아 놓은 것이다.
- 릴레이션 스키마(=릴레이션 내포, relation intension)
- 릴레이션의 특성
- 투플의 유일성 : 하나의 릴레이션에는 동일한 투플이 존재할 수 없다.
- 투플의 무순서 : 하나의 릴레이션에서 투플 사이의 순서는 무의미하다.
- 속성의 무순서 : 하나의 릴레이션에서 속성 사이의 순서는 무의미하다.
- 속성의 원자성 : 속성 값으로 원자 값만 사용할 수 있다.
- 모든 속성 값은 더는 분해할 수 없는 하나의 값이다.
- 관계 데이터 모델은 릴레이션을 단순한 구조로 정의하고자 하는 특성으로 다중 값을 허용하지 않는다. ex. 직업: 회사원, 학생 (X)
- 키의 종류
- 릴레이션에 포함된 투플들을 유일하게 구별해주는 역할은 속성 또는 석성들의 집합인 키가 담당한다.
- 키는 관계 데이터 모델에서 중요한 제약조건을 정의한다.
- 슈퍼키 : 유일성의 특성을 만족하는 속성 또는 속성들의 집합
- 하나의 릴레이션에서 키로 지정된 속성 값은 투플마다 달라야 한다.
- 키 값이 같은 투플은 존재할 수 없다.
- 후보키 : 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
- 새로운 투플이 삽입되거나 기존 투플의 속성 값이 바뀌어도 유지되어야 한다.
- 슈퍼키 중에서 최소성을 만족하는 것
- ex. 고객 아이디
- 기본키 : 데이터베이스 설계자나 관리자가 여러 후보키 중에서 기본적으로 사용할 키를 선택한 것
- 기본키를 선택할 때 고려해야 하는 점
- 널 값을 가질 수 있는 속성이 포함된 후보키는 기본키로 부적합하다.
- 값이 자주 변경될 수 있는 속성이 포함된 후보키는 기본키로 부적합하다.
- 단순한 후보키를 기본키로 선택한다.
- 기본키를 선택할 때 고려해야 하는 점
- 대체키 : 기본키로 선택되지 못한 후보키들
- 외래키 : 어떤 릴레이션에 소속된 속성 또는 속성 집합이 다른 릴레이션의 기본키가 되는 키
- 관계 데이터 모델의 기본 용어
-
관계 데이터 모델의 제약
- 개체 무결성 제약조건
- 기본키를 구성하는 모든 속성은 널 값을 가지면 안된다.(기본키의 본래 목적을 상실하게 됨.)
- 참조 무결성 제약조건
-
외래키는 참조할 수 없는 값을 가질 수 없다. (참조 가능해야한다. = 찾아볼 수 있어야 한다.)
-
- 개체 무결성 제약조건
[참조] 데이터베이스개론 (저자: 김연희)