관계 데이터 모델의 개념
- 관계 데이터 모델의 기본 개념
- 개념적 구조(conceptual; E-R model)를 논리적(logical; relation schema) 구조로 표현하는 논리적 데이터 모델
- 하나의 개체에 대한 데이터를 하나의 relation에 저장
- relation (릴레이션): 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것
file 관리 시스템 관점에서 파일(file)에 대응 - attribute (속성; column): 릴레이션의 열, attribute.
file 관리 시스템 관점에서 필드(field)에 대응. - tuple (튜플): 릴레이션의 행, 인스턴스
file 관리 시스템 관점에서 레코드(record)에 대응 - domain (도메인)
- 하나의 속성이 가질 수 있는 모든 값의 집합
- 속성 값을 입력 및 수정할 때 적합성 판단의 기준이 됨
(** column의 형식도 정해줄 수 있음(주민등록번호는 char 13과 같이) ->적합성 판단이 가능) - 일반적으로 속성의 특성을 고려한 데이터 타입으로 정의
- null (널): 속성 값을 아직 모르거나 해당되는 값이 없음을 표현
- degree (차수): 하나의 relation에서 column의 전체 개수로, 정적인 특성을 갖음
- cardinality (카디널리티): 하나의 relation에서 tuple의 전체 개수로, 동적인 특성을 갖음
- 릴레이션의 구성
- relation schema (릴레이션 스키마)
- relation의 논리적 구조
- relation의 이름과 relation에 포함된 모든 column 이름으로 정의
(ex. 고객(고객아디이, 고객이름, 나이, 등급, 직업, 적립금) - relation intension (릴레이션 내포)라고도 함
- 정적인 특징이 있음
- relation instance (릴레이션 인스턴스)
- 어느 한 시점에 relation에 존재하는 tuple
- relation extension (릴레이션 외연)이라고도 함
- 동적인 특징이 있음
- relation schema (릴레이션 스키마)
- 데이터베이스의 구성
- database schema (데이터베이스 스키마)
- 데이터베이스의 전체 구조
- 데이터베이스를 구성하는 relation shema의 모음
- database instance (데이터베이스 인스턴스)
- 데이터베이스를 구성하는 릴레이션 인스턴스의 모음
- database schema (데이터베이스 스키마)
- 릴레이션의 특성 ⭐
- 튜플의 유일성: 하나의 릴레이션에는 동일한 튜플이 존재할 수 없음
- 튜플의 무순서: 하나의 릴레이션에서 튜플 사이의 순서는 무의미함
- 속성의 무순서: 하나의 릴레이션에서 속성 사이의 순서는 무의미함
- 속성의 원자성: 속성 값으로 원자 값만 사용할 수 있음
(원자값: 더 이상 쪼개질 수 없는 값. 다중값을 걸러내야함. 복합속성(4장)은 들어갈 수 없음)
- 키 (key): 릴레이션에서 튜플들을 유일하게 구별하는 속성 또는 속성들의 집합
- 키의 특성
- uniqueness (유일성): 하나의 릴레이션에서 모든 튜플은 서로 다른 키 값을 가져야 함
- minimality (최소성): 꼭 필요한 최소한의 속성들로만 키를 구성함
- 키의 종류
- super key (슈퍼키): uniqueness를 만족하는 속성 또는 속성들의 집합
(ex. 고객 릴레이션의 슈퍼키: 고객아이디 , (고객아디이, 고객이름) , (고객이름, 주소) 등 - candidate key (후보키): uniqueness 와 minimality를 만족하는 속성 또는 속성들의 집합
(ex. 고객 릴레이션의 후보키: 고객아이디 , (고객이름, 주소) 등 - primary key; PK (기본키): 후보키 중에서 기본적으로 사용하기 위해 선택한 키
(ex. 고객 릴레이션의 기본키: 고객아이디) - alternative key (대체키): 기본키로 선택되지 못한 후보키
(ex. 고객 릴레이션의 대체키: (고객이름, 주소)
- super key (슈퍼키): uniqueness를 만족하는 속성 또는 속성들의 집합
- 키의 특성
-
-
- foreign key; FK (외래키)
- 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
- 릴레이션들 간의 관계를 표현
- 참조하는 릴레이션: 외래키를 가진 릴레이션
- 참조되는 릴레이션: 외래키가 참조하는 기본키를 가진 릴레이션
- foreign key; FK (외래키)
-
관계 데이터 모델의 제약
- intergrity constraint (무결성 제약조건)
- 데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙
- intergrity (무결성): 데이터를 결함이 없는 상태, 즉 정확하고 유효하게 유지
- 삽입/삭제/수정 연산으로 데이터베이스의 상태가 변하더라도 지켜야하는 조건
- entity intergrity constraint (개체 무결성 제약조건)
- 기본키를 구성하는 모든 속성은 널 값을 가질 수 없는 규칙
- referential intergrity constraint (참조 무결성 제약조건)
- 외래키는 참조할 수 없는 값을 가질 수 없는 규칙
'데이터베이스' 카테고리의 다른 글
[데이터베이스론] 7장. SQL (0) | 2024.04.12 |
---|---|
[데이터베이스론] 6장. 관계 데이터 연산 (0) | 2024.04.12 |
[데이터베이스론] 4장. 데이터 모델링 (0) | 2024.04.11 |
[데이터베이스론] 3장. 데이터베이스 시스템 (0) | 2024.04.10 |
[데이터베이스론] 2장. 데이터베이스 관리시스템 (0) | 2024.04.10 |