School/데이터베이스

관계 데이터 모델

응엉잉 2022. 4. 16. 13:42

관계 데이터 모델

관계 데이터 모델의 개념

1. 관계 데이터 모델의 기본 개념

개념적 구조 -> 논리적 구조로 표현하는 논리적 데이터 모델

E-R 다이어그램 -> table

하나의 개체에 대한 데이터 -> 하나의 릴레이션에 저장

관계, 제약사항도 릴레이션으로 저장 가능

 

릴레이션 예시 : 고객 릴레이션

2. 관계 데이터 모델의 기본 용어

용어 설명 파일 관리 시스템 관점
릴레이션 (Relation) 하나의 개체에 관한 데이터를 2차원 테이블 구조로 저장한것 파일
속성 (Attribute) 릴레이션의 필드
투플 (Tuple) 릴레이션의 레코드

 

용어 설명
도메인 (Domain) - 하나의 속성이 가질 수 있는 모든 값들의 집합
- 속성 값을 입력 및 수정할 때 적합성 판단의 기준
- 속성의 특성을 고려한 데이터타입으로 정의
널 (Null) - 속성을 아직 모르거나, 해당되는 값이 없음을 표현
차수 (Degree) - 하나의 릴레이션에서 속성의 전체 개수
카디널리티 (Cardinality) - 하나의 릴레이션에서 투플의 전체 개수

ex) 고객 릴레이션의 차수는 6, 카디널리티는 4

 

3. 릴레이션의 구성

릴레이션 스키마
( = 릴레이션 내포 )
- 릴레이션의 논리적 구조
- 릴레이션의 이름과 포함된 모든 속성 이름으로 정의
 ex) 고객(고객아이디,고객이름,나이,적립금)
- 정적인 특징이 있음
릴레이션 인스턴스
( = 릴레이션 외연 )
- 어느 한 시점에 릴레이션에 존재하는 투플들의 집합
- 동적인 특징이 있음

4. 데이터베이스의 구성

데이터베이스 스키마 - 데이터베이스의 전체 구조
- 데이터베이스를 구성하는 릴레이션 스키마 모음
데이터베이스 인스턴스 - 데이터베이스를 구성하는 릴레이션 인스턴스 모음

 

쇼핑몰 데이터베이스 예시

5. 릴레이션의 특성

투플의 유일성 하나의 릴레이션에는 동일한 투플이 존재할 수 없다
투플의 무순서 하나의 릴레이션에서 투플 사이의 순서는 무의미하다
속성의 무순서 하나의 릴레이션에서 속성 사이의 순서는 무의미하다
속성의 원자성 속성 값으로 원자 값만 사용이 가능하다

 

6. 키 **

1) 키의 정의

릴레이션에서 투플들을 유일하게 구별하는 속성 또는 속성들의 집합

키의 종류

2) 키의 특성

유일성 하나의 릴레이션에서 모든 투플은 서로 다른 키 값을 가져야 함
최소성 꼭 필요한 최소한의 속성들로만 키를 구성함

 

3) 키의 종류

종류 설명
슈퍼키(super key) 유일성을 만족하는 속성 또는 속성들의 집합
후보키(candidate key) 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
기본키(primary key) 후보키 중 기본적으로 사용하기 위해 선택한 키
대체키(alternate key) 기본키로 선택되지 못한 후보키
외래키(foreign key) 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
릴레이션들 간 관계를 표현
 - 참조되는 릴레이션 : 외래키가 참조하는 기본키를 가진 릴레이션
 - 참조하는 릴레이션 : 외래키를 가진 릴레이션

ex.

슈퍼키 : 고객 릴레이션의 고객 아이디, (고객 아이디, 고객 이름), (고객 이름, 주소) ...

후보키 : 고객 릴레이션의 고객 아이디, (고객 이름, 주소) ...

기본키 : 고객 릴레이션의 고객 아이디

후보키 : 고객 릴레이션의 (고객 이름, 주소) ...

주문 릴레이션의 주문고객은 고객 릴레이션의 기본키인 고객아이디에서 가져온 정보임

-> 외래키 : 주문 릴레이션의 주문고객

-> 참조되는 릴레이션 : 고객 릴레이션

-> 참조하는 릴레이션 : 주문 릴레이션

기본키와 외래키가 함께 정의될 수도 있음

관계 데이터 모델의 제약

무결성 제약조건(integrity constraint)

데이터의 무결성을 보장하고, 일관된 상태로 유지하기 위한 규칙

* 무결성 : 데이터를 정확하고 유효하게 유지하여, 데이터에 결함이 없는 상태

 

1. 개체 무결성 제약조건

기본키를 구성하는 모든 속성은 null 값을 가질 수 없다

ex.

이 경우 고객 아이디를 기본키로 사용할 수 없다

 

2. 참조 무결성 제약조건

외래키는 참조할 수 없는 값을 가질 수 없다

ex.

주문 릴레이션의 주문고객에는 cherry 가 있는데 고객 릴레이션의 고객 아이디에는 cherry 가 없으므로,

주문 릴레이션은 고객 릴레이션의 고객아이디를 참조할 수 없음

* 외래키 속성이 null 값을 가진다고 해서 참조 무결성 제약조건을 위반한 것은 아님

'School > 데이터베이스' 카테고리의 다른 글

SQL-SELECT 문  (0) 2022.04.18
관계 데이터 연산  (0) 2022.04.17
데이터 모델링  (0) 2022.04.15
데이터베이스 시스템  (0) 2022.04.13
데이터베이스 관리 시스템(DBMS)  (0) 2022.04.12