본문 바로가기
Computer Science/Database

[데이터베이스] 강의 정리 5장 - 관계데이터 모델링

by ggyongi 2021. 10. 17.
반응형

강의 출처: '데이터베이스의 원리와 응용' / 백현미 / 한양대학교
http://www.kocw.net/home/cview.do?cid=9c591659f017851e

 

 

5. 관계데이터 모델링

<용어>

릴레이션: 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것

속성: 릴레이션의 열(애트리뷰트)

튜플: 릴레이션의 행

도메인: 하나의 속성이 가질 수 있는 모든 값의 집합 ex) CHAR(10), INT

: 속성 값을 아직 모르거나 해당되는 값이 없음을 표현

차수: 하나의 릴레이션에서 속성의 전체 개수 = 열 개수

카디널리티: 하나의 릴레이션에서 튜플의 전체 개수 = 행 개수

 

<릴레이션 구성>

릴레이션 스키마: 릴레이션의 논리적 구조, 릴레이션의 이름과 릴레이션에 포함된 모든 속성 이름으로 정의

ex) 고객(고객아이디, 고객이름, 나이, 등급, 직업, 적립금)

릴레이션 인스턴스: 어느 한 시점에 릴레이션에 존재하는 튜플들의 집합

 

<데이터베이스의 구성>

데이터베이스 스키마: 릴레이션 스키마의 모음

데이터베이스 인스턴스: 릴레이션 인스턴스 모음

 

<릴레이션 특성>

튜플의 유일성 - 하나의 릴레이션 안에 동일한 튜플 존재할 수 없음

튜플의 무순서 - 튜플 사이의 순서는 무의미

속성의 무순서 - 속성 사이의 순서는 무의미

속성의 원자성 - 속성값으로 원자 값만 사용할 수 있다.

 

<>

- 키는 유일성과 최소성을 가짐.

- 유일성: 하나의 릴레이션에서 모든 튜플은 서로 다른 키 값을 가져야 함

- 최소성: 꼭 필요한 최소한의 속성으로만 키를 구성

 

- 슈퍼키(super key): 유일성을 만족하는 속성 또는 속성들의 집합 / 최소성은 고려 안함

- 후보키(candidate key): 유일성과 최소성을 만족하는 속성 또는 속성들의 집합

- 기본키(primary key): 후보키 중 기본적으로 사용하기 위해 선택한 키

- 대체키(alternate key): 기본키로 선택되지 못한 후보키

- 외래키(foreign key): 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합

* 외래키 속성과 그것이 참조하는 기본키 속성의 이름은 달라도 도메인은 같아야 함

* 하나의 릴레이션에는 외래키가 여러개 존재할 수 있다.

* 외래키는 널값이 가능하다.

 

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

개체 무결성 제약조건: 기본키를 구성하는 모든 속성은 널 값을 가질 수 없다.

참조 무결성 제약조건: 외래키는 참조할 수 없는 값을 가질 수 없다.

ex) 주문 릴레이션의 주문고객 속성에는 cherry가 있는데 고객 릴레이션의 고객아이디에는 cherry가 없다

-> 참조 무결성 제약조건 위배

이때 외래키 속성이 널값을 가진다고 해서 참조 무결성 제약조건을 위반한 것은 아니다.

 

<E-R 다이어그램을 릴레이션 스키마로 변환하는 규칙>

1. 모든 개체는 릴레이션으로 변환한다. ( 개체 이름-> 릴레이션 이름, 개체 속성-> 릴레이션 속성)

2. 다대다 관계는 릴레이션으로 변환한다. (관계의 이름->릴레이션 이름, 관계의 속성-> 릴레이션 속성)

이때 각 개체를 릴레이션으로 변환한 후 이 릴레이션의 기본키를 관계 릴레이션에 포함시켜 외래키로 지정하고 외래키들을 조합하여 관계 릴레이션의 기본키로 지정.

예시)

3. 일대다 관계는 외래키로 표현한다.

3-1. 일반적인 일대다(1:n) 관계는 외래키로 표현

이때 1측 개체 릴레이션의 기본키를 n측 개체 릴레이션에 포함시켜 외래키로 지정.

3-2. 약한 개체가 참여하는 일대다 관계는 외래키를 포함해서 기본키를 지정.

 

 

4. 일대일 관계는 외래키로 표현한다.

4-1. 일반적인 일대일 관계는 외래키를 서로 주고받는다.

(한계점: 데이터가 중복되는 한계를 가짐- 양쪽에 결혼날짜가 있음)

 

4-2. 필수적으로 참여하는 개체 릴레이션만 외래키를 받는다.

(예시- 남자만 필수적으로 참여하는 상황 / 여자 릴레이션 결혼날짜 항목이 null 가능성이 많아져서 남자

릴레이션에만 외래키를 받음)

4-3. 모든 개체가 필수적으로 참여하면 릴레이션을 하나로 합친다. (굳이 나눠 관리할 필요가 없기때문)

 

 

5. 다중 값 속성은 릴레이션으로 변환한다.

예시- 부하직원이라는 다중 값 속성은 릴레이션으로 변환

이때 사원-부하직원 릴레이션에는 중복되는 사원번호가 생긴다는 문제가 발생한다.

 

 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글