관계 데이터 모델
by Frinee이 글은 김연희 저 - "데이터베이스 개론 3판"을 공부하고 정리하여 작성하였습니다.
1. 관계 데이터 모델의 개념
- 관계 데이터 모델은 하나의 개체에 대한 데이터를 릴레이션(relation) 하나에 담아 데이터베이스에 저장
1.1. 관계 데이터 모델의 기본 용어
- 속성
- 릴레이션의 열을 속성 또는 attribute라고 함.
- 릴레이션이 파일 관리 시스템의 파일을 말한다면, 속성은 해당 파일의 필드(field)에 대응
- 튜플
- 릴레이션의 행을 튜플(tuple)이라 부름
- 튜플은 파일 관리 시스템 관점에서 해당 파일의 레코드(record)에 대응함
- 도메인
- 속성 하나가 가질 수 있는 모든 값의 집합을 말함
- 관계 데이터 모델에서는 더는 분해할 수 없는 원자 값만 속성 값으로 사용할 수 있음
- 그래서 속성이 가질 수 있는 모든 원자 값의 모임이라 정의함
- 도메인의 모든 값을 일일이 나열해 정의하기 어려운 경우 데이터 타입으로 정의
- 데이터 타입을 도메인, 변수를 속성이라 생각하면 이해가 됨
- 널 값
- 릴레이션에 있는 특정 튜플 속성 값을 모르거나 적합한 값이 없는 경우를 널(Null) 값으로 사용
- 차수
- 하나의 릴레이션에서 속성의 전체 개수를 차수(degree)라 함.
- 카디널리티
- 하나의 릴레이션에서 튜플의 전체 개수를 카디널리티(cardinality)라 함.
1.2. 릴레이션과 데이터베이스의 구성
- 릴레이션은 릴레이션 스키마와 릴레이션 인스턴스로 구성되어 있음
- 릴레이션 스키마
- 릴레이션의 이름과 릴레이션에 포함된 모든 속성의 이름으로 정의하는 릴레이션의 논리적 구조이다.
- 릴레이션 스키마는 릴레이션 내포(relation intension)라고 부름
- 릴레이션 인스턴스
- 어느 한 시점에 릴레이션에 존재하는 튜플들의 집합
- 릴레이션 인스턴스에 포함된 튜플은 릴레이션 스키마에서 정의하는 각 속성에 대응하는 실제값으로 구성
- 릴레이션 인스턴스를 보면 릴레이션 실제 내용을 파악할 수 있고 내부적으로 데이터베이스 관리 시스템이 데이터 조작어를 이용해 릴레이션 인스턴스를 조작함
- 릴레이션 인스턴스는 간단히 릴레이션 혹은 릴레이션 외연(relation extension)이라 부름
- 데이터베이스 스키마와 데이터베이스 인스턴스
- 데이터베이스는 여러 개의 릴레이션으로 이루어져 있음
- 데이터베이스 스키마는 데이터베이스의 전체 구조를 의미하며 릴레이션들의 스키마를 모아놓은 것
- 데이터베이스 인스턴스는 특정 시점에 데이터베이스에서 저장된 데이터 내용의 전체 집합을 의미함
1.3. 릴레이션의 특성
- 튜플의 유일성
- 하나의 릴레이션에는 동일한 튜플이 존재할 수 없음
- 튜플의 무순서
- 하나의 릴레이션에서 튜플 사이의 순서는 무관함
- 속성의 무순서
- 하나의 릴레이션에서 속성 사이의 순서는 무의미
- 속성의 원자성
- 속성 값으로 원자 값만 사용할 수 있음
1.4. 키의 종류
- 슈퍼키
- 유일성의 특성을 만족하는 속성 또는 속성들의 집합
- 유일성은 하나의 릴레이션에서 키로 지정된 속성 값은 튜플마다 달라야 한다는 의미이고 키 값이 같은 튜플은 없다.
- 후보키
- 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
- 최소성은 꼭 필요한 최소한의 속성들로만 키를 구성하는 특성
- 슈퍼키 중에서 최소성을 만족하는 키가 후보키가 될 수 있음
- 기본키
- 여러 후보키 중 기본적으로 사용할 키를 반드시 선택해야 하는데 이것이 기본키(primary key)
- 기본키를 선택할 때 고려되는 기준
- 널 값을 가질 수 있는 속성이 포함된 후보키는 부적합 ex) 입력하지 않아도 되는 속성
- 값이 자주 변경될 수 있는 속성이 포함된 후보키는 부적합 ex) 주소
- 단순한 후보키를 기본키로 선택, 주로 정수나 단순 문자열을 선택한다.
- 대체키
- 기본키로 선택되지 못한 후보키들
- 외래키
- 어떤 릴레이션에 소속된 속성 또는 속성 집합이 다른 릴레이션의 기본키가 되는 키
- 다른 릴레이션의 기본키를 그대로 참조하는 속성의 집합
2. 관계 데이터 모델의 제약
- 관계 데이터 모델에서 정의하고 있는 기본 제약 사항은 키와 관련한 무결성 제약조건이다.
- 무결성(integrity): 데이터에 결함이 없는 상태, 즉 데이터가 정확하고 유효하게 유지된 상태
- 무결성 제약조건의 주요 목적은 데이터베이스에 저장된 데이터의 무결성을 보장하고 데이터베이스의 상태를 일관되게 유지하는 것
2.1. 개체 무결성 제약조건
- 기본키를 구성하는 모든 속성은 널 값을 가지면 안된다는 규칙
2.2. 참조 무결성 제약조건
- 외래키는 참조할 수 없는 값을 가질 수 없다는 규칙
- 외래키가 자신이 참조하는 릴레이션의 기본키와 상관없는 값을 가지면 안됨
자료
- 데이터베이스 개론 3판 (김연희 저, 2024.1)
'[컴퓨터 과학자 스터디] > 데이터베이스' 카테고리의 다른 글
데이터베이스 언어 SQL (0) | 2024.11.25 |
---|---|
관계 데이터 연산 (0) | 2024.11.21 |
데이터 모델링 (1) | 2024.11.17 |
데이터베이스 시스템 (1) | 2024.11.16 |
데이터베이스 관리 시스템 (1) | 2024.11.14 |
블로그의 정보
프리니의 코드저장소
Frinee