데이터베이스 (database) 관계 db 설계 알고리즘과 추가적 정규형 문양세...

42
데데데데데데 (Database) 데데 DB 데데 데데데데데 데데데 데데데 데데데 데데데데데 IT 데데 데데데데데데데

Upload: senta

Post on 23-Feb-2016

113 views

Category:

Documents


2 download

DESCRIPTION

데이터베이스 (Database) 관계 DB 설계 알고리즘과 추가적 정규형 문양세 강원대학교 IT 대학 컴퓨터과학전공. 강의 내용. 관계 DB 설계 알고리즘과 추가적 정규형. 관계형 데이터베이스 스키마 설계 알고리즘 릴레이션 분해와 정규형의 부족한 점 분해와 종속성의 보존 분해와 무손실 ( 비부가적 ) 조인 널 값과 허상 투플이 야기하는 문제점 다치 종속성과 제 4 정규형 (4NF) 조인 종속성과 제 5 정규형 (5NF) 포함 종속성 기타 종속성과 정규화. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

데이터베이스 (Database)

관계 DB 설계 알고리즘과추가적 정규형

문양세강원대학교 IT 대학 컴퓨터과학전공

Page 2: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 2

강의 내용

관계형 데이터베이스 스키마 설계 알고리즘

• 릴레이션 분해와 정규형의 부족한 점

• 분해와 종속성의 보존

• 분해와 무손실 ( 비부가적 ) 조인

• 널 값과 허상 투플이 야기하는 문제점

다치 종속성과 제 4 정규형 (4NF)

조인 종속성과 제 5 정규형 (5NF)

포함 종속성

기타 종속성과 정규화

관계 DB 설계 알고리즘과 추가적 정규형

Page 3: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 3

관계 DB 스키마 설계 알고리즘

좋은 데이터베이스 스키마 설계를 위해서는 정규형만으로는 불충분함• 예제 : 두 개 애트리뷰트를 갖는 릴레이션은 BCNF 이다 . 그러면 , 모든 릴레이션을 두

애트리뷰트로 설계하면 좋은 설계인가 ?

좋은 데이터베이스 설계를 보장하기 위해서는 다음의 추가적인 조건들이

필요함• 종속성 보존 특성 (dependency preservation property)

• 무손실 조인 특성 (lossless join property)

관계 DB 설계 알고리즘과 추가적 정규형

Page 4: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 4

릴레이션 분해와 정규형의 부족한 점 (1/2)

전체 릴레이션 스키마 (universal relation schema) R = {A1, A2, ...,

An}• 데이터베이스의 모든 애트리뷰트들을 포함하는 릴레이션이다 .

• 분해는 전체 릴레이션 R 로부터 시작한다 .

설계목표 I: R 을 m 개 릴레이션 스키마의 집합인 분해집합

D = {R1, R2, ..., Rm} 로 분해한다 .• 각 릴레이션 스키마 Ri 는 R 의 애트리뷰트들의 부분집합이다 .

• 애트리뷰트 보존 조건 : R 의 모든 애트리뷰트들은 적어도 하나의 릴레이션 Ri 에

나타나야 한다 .

관계 DB 설계 알고리즘과 추가적 정규형

Page 5: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae Moon

릴레이션 분해와 정규형의 부족한 점 (2/2)

설계목표 II: D 의 각 릴레이션 Ri 는 BCNF 혹은 3NF 에 속하도록

한다 . 좋은 데이터베이스 설계는 이들 정규형만으로 부족하다 .• 예제 : 애트리뷰트가 둘인 릴레이션은 자동적으로 BCNF 이다 . 이러한 애트리뷰트가

둘인 릴레이션과 BCNF 가 아닌 릴레이션을 조인하게 되면 가짜 투플이 만들어질 수

있다 .

• 그림 9.5 와 그림 9.6 참조 : EMP_LOCS 는 BCNF 이나 BCNF 가 아닌

EMP_PROJ1 과 조인 시 가짜 투플이 생성되었음

관계 DB 설계 알고리즘과 추가적 정규형

ENAME PLOCATIONSEMP_LOCS

기본키

SSN PNUMBEREMP_PROJ1

기본키

HOURS PNAME PLOCATIONS그림 9.5(a)

SSN PNUMBER HOURS PNAME PLOCATIONS

123456789*123456789123456789*123456789*123456789

11222

32.532.5

7.57.57.5

ProductXProductXProductYProductYProductY

BellaireBellaireSugarlandSugarlandSugarland

ENAME

Smith, John B.English, Joyce A.Smith, John B.English, Joyce A.Wong, Franklin T.

Page 5

그림 9.6

Page 6: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 6

분해와 종속성 보존 (1/3)

데이터베이스 설계자는 R 의 애트리뷰트들에 대해 성립하는 함수적

종속성의 집합 F 를 정의한다 .

분해집합 D 는 종속성을 보존해야 한다 .• 즉 , 각 릴레이션 Ri 에서 성립하는 모든 FD 들의 합집합이 F 와 동등 (equivalent)

해야 한다 .

종속성 보존은 정형적으로 다음과 같이 정의한다 .• Ri 상으로 F 의 프로젝션 (ΠRi(F)):

F+ 에 속하는 함수적 종속성 X →Y 들의 집합이며 (X∪Y) ⊆ Ri 를 만족한다 .

• 만약 (ΠR1(F)∪ΠR2(F)∪ ...∪ΠRm(F))+ = F+ 를 만족하면 , 분해 집합 D=

{R1,R2,...,Rm} 은 종속성을 보존한다고 정의한다 .

이런 특성으로 인해 각 릴레이션 Ri 상의 함수적 종속성들이 개별적으로 성립함을

보임으로써 , F 의 함수적 종속성들이 성립함을 보장할 수 있다

관계 DB 설계 알고리즘과 추가적 정규형

Page 7: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 7

분해와 종속성 보존 (2/3)

Claim 1: 종속성들의 집합 F 에 대해서 종속성을 보존하면서 각

릴레이션 Ri 가 제 3 정규형인 분해집합 D 를 항상 구할 수 있다 .

제 3 정규형으로의 관계 합성 ( 알고리즘 10.2)1. Find a minimal set of FDs G equivalent to F

2. For each X of an FD X→A in G,

Create a relation schema Ri in D with the attributes {X∪{A1}∪{A2}∪ ...

∪{Ak}},

where X→A1, X→A2, …, X→Ak are the only dependencies in G with X

as left-hand-side;

3. Place any remaining attributes in a single relation schema to ensure the attribute preservation property.

Claim 1A: 관계 합성 알고리즘에 의해 생성되는 모든 릴레이션

스키마는 3NF 에 속한다 .

관계 DB 설계 알고리즘과 추가적 정규형

Page 8: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 8

분해와 종속성 보존 (3/3)

문제점 :• F 에 대한 최소 덮개 (minimal cover) 를 찾아야 한다 .

• 최소 폐쇄를 찾는 효율적인 알고리즘이 존재하지 않는다 .

• F 에 대한 여러 개의 최소 덮개가 존재할 수 있다 . 따라서 , 알고리즘의 결과는 어떤

함수적 종속성이 선택되었는가에 따라 다르다 .

관계 DB 설계 알고리즘과 추가적 정규형

Page 9: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 9

분해와 무손실 ( 비부가적 ) 조인 개념 (1/2)

무손실 조인의 비정형적 정의 :• 분해집합의 릴레이션들을 조인했을 때 , 어떠한 가짜 투플도 생성되지 않음을 보장하는

특징이다 .

무손실 조인의 정형적 정의 :• 함수적 종속성의 집합 F 를 만족하는 모든 릴레이션 상태 r 에 대해 다음의 성질이

만족되면 , R 의 분해집합 D = {R1, R2, .., Rm} 는 F 에 대해서 무손실 조인 특성을

갖는다 . ( 는 D 에 포함된 모든 릴레이션의 자연조인이다 .)

(ΠR1(r) , ..., ΠRm (r) ) = r

관계 DB 설계 알고리즘과 추가적 정규형

Page 10: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 10

분해와 무손실 ( 비부가적 ) 조인 개념 (2/2)

분해집합이 위의 성질을 만족하면 , 프로젝션과 조인 연산 후에 가짜 투플이

추가되지 않음이 보장된다 .

분해된 릴레이션들은 실제로는 기본 릴레이션으로 저장하기 때문에 , 조인을

수반한 질의가 의미 있는 결과를 생성하기 위해서는 위와 같은 조건이 필요하다 .

주어진 분해집합 D 가 함수적 종속성 집합 F 에 대해서 무손실 조인 특성을

가지는 것을 검사하는 알고리즘이 존재한다 .

관계 DB 설계 알고리즘과 추가적 정규형

Page 11: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 11

[ 그림 10.1] n 차 분해에 대한 무손실 조인 검사 (1/2)

(a) 경우 1: EMP_PROJ 를 EMP_PROJ1 과 EMP_LOCS 로 분해하면 검사를

통과하지 못함

관계 DB 설계 알고리즘과 추가적 정규형

R = {SSN, ENAME, PNUMBER, PNAME, PLOCATION, HOURS} D = {R1, R2}R1 = EMP_LOCS = {ENAME, PLOCATION}R2 = EMP_PROJ1 = {SSN, PNUMBER, HOURS, PNAME, PLOCATION} F = {SSN ENAME; PNUMBER {PNAME, PLOCATION}; {SSN, PNUMBER} HOURS}

b11 a2 b13 b14 a5 b16

a1 b22 a3 a4 a5 a6

SSN ENAME PNUMBER PNAME PLOCATION HOURSR

1

R2

( 함수적 종속성들을 적용한 후에 행렬에 어떤 변화도 생기지 않음 )

SSN ENAME

EMP PNUMBER PNAME

PROJECT PLOCATION SSN

WORKS_ON HOURSPNUMBER

(b) 무손실 조인 특성이 있는 EMP_PROJ 의 분해

Page 12: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 12

[ 그림 10.1] n 차 분해에 대한 무손실 조인 검사 (2/2)

(c) 경우 2: EMP_PROJ 를 EMP, PROJECT, WORKS_ON 으로 분해하면

검사를 통과함

관계 DB 설계 알고리즘과 추가적 정규형

R = {SSN, ENAME, PNUMBER, PNAME, PLOCATION, HOURS} D = {R1, R2, R3}R1 = EMP = {SSN, ENAME}R2 = PROJ = {PNUMBER, PNAME, PLOCATION}R3 = WORKS_ON = {SSN, PNUMBER, HOURS} F = {SSN ENAME; PNUMBER {PNAME, PLOCATION}; {SSN, PNUMBER} HOURS}

a1 a2 b13 b14 b15 b16

b21 b22 a3 a4 a5 a26

a1 b32 a3 b34 b35 a6

SSN ENAME PNUMBER PNAME PLOCATION HOURSR

1

R2

( 알고리즘을 시작할 때 행렬 S 의 초기 내용 )

a1 a2 b13 b14 b15 b16

b21 b22 a3 a4 a5 a26

a1 b32 a3 b34 b35 a6

SSN ENAME PNUMBER PNAME PLOCATION HOURSR

1

R2

( 처음 두개의 함수적 종속성을 적용한 후의 행렬 S 의 내용 . 마지막 항의 모든 애트리뷰트가 심볼 “ a” 를 가지므로 알고리즘을 종료한다 .)

Page 13: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 13

무손실 조인 특성을 갖는 BCNF 릴레이션들로 분해 (1/3)

릴레이션 R 을 분해한 릴레이션들이 BCNF 정규형에 속하며 , 분해집합이 함수적 종속성의 집합 F 에 대해 무손실 조인 특성을 갖게

하는 알고리즘이 존재한다 (Algorithm 10.3)1. Set D ← {R}2. While there is a relation schema Q in D that is not in

BCNF do {

Choose one Q in D that is not in BCNF;Find a FD X→Y in Q that violates BCNF;Replace Q in D by two relation schemas (Q - Y) and

(X∪Y);};

관계 DB 설계 알고리즘과 추가적 정규형

Page 14: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 14

무손실 조인 특성을 갖는 BCNF 릴레이션들로 분해 (2/3)

위 알고리즘은 다음 두 가지 무손실 조인 분해 특성에 기반한다 .

(1) R 의 분해집합 D = {R1, R2} 가 함수적 종속성의 집합 F 에 대해 무손실 조인

특성을 가지기 위한 필요충분조건은 다음의 두 가지 중 반드시 하나를 만족하는

것이다 .

• 함수적 종속성 ((R1∩R2) → (R1 - R2)) 가 F+ 에 속한다 .

• 함수적 종속성 ((R1∩R2) → (R2 - R1)) 가 F+ 에 속한다 .

(2) R 의 분해집합 D = {R1, R2,..., Rm} 이 함수적 종속성 집합 F 에 대해 무손실 조인

특성을 가지고 , Ri 의 분해집합 D1 = {Q1, Q2,..., Qm} 가 F 의 Ri 상에의

프로젝션에 대해 무손실 조인 특성을 가진다면 , R 의 분해집합 D2 = {R1, R2, .., Ri-

1, Q1, Q2, .., Qk, Ri+1, .., Rm} 또한 F 에 대해 무손실 조인 특성을 가진다 .

관계 DB 설계 알고리즘과 추가적 정규형

Page 15: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 15

무손실 조인 특성을 갖는 BCNF 릴레이션들로 분해 (2/3)

분해집합이 종속성을 보존하며 BCNF 정규형에 속하게 하는 알고리즘은

존재하지 않는다 .

다음의 수정된 합성 알고리즘은 1) 무손실 조인 특성과 2) 종속성 보존 특성을

만족하며 , 3) 제 3 정규형 릴레이션으로 분해하는 것을 보장한다 . ( 주의 : BCNF 정규형으로의 분해는 보장 못함 )

많은 제 3 정규형 릴레이션들은 BCNF 정규형에도 속한다 .

관계 DB 설계 알고리즘과 추가적 정규형

Page 16: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 16

무손실 조긴과 종속성을 보장하는 분해 알고리즘

무손실 조인과 종속성 보존을 보장하는 제 3 정규형 릴레이션으로

분해하는 알고리즘

1. Find a minimal cover for F.

2. For each X of an FD X→Y in G

Create a relation schema Ri in D with the attributes {X∪}

{A1}∪{A2}∪ ... ∪{Ak}},

where X→A1, X→A2, …, X→Ak are the only dependencies in G

with X as

left-hand-side;

3. If none of the relations schemas in D contains a key of R, then create one

more relation schema that contains attributes that form a key for R.

관계 DB 설계 알고리즘과 추가적 정규형

Page 17: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 17

널 값이 야기하는 문제점 (1/4)

널 값 (Null Values)• 널 값이 조인 애트리뷰트에 존재할 때 문제가 발생한다 .

• 널 값이 존재하는 경우 질의를 명기할 때 정규 조인 (regular join) 과 OUTER 조인의

결과 사이의 차이가 중요해진다 .

• 어떤 질의는 정규 조인을 필요로 하고 어떤 질의는 OUTER 조인을 필요로 한다 .

관계 DB 설계 알고리즘과 추가적 정규형

Page 18: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 18

널 값이 야기하는 문제점 (2/4)

[ 그림 10.2(a)] 조인 애트리뷰트에 널 값이 존재하는 데이터베이스

관계 DB 설계 알고리즘과 추가적 정규형

ENAME SSN BDATE ADDRESS DNUMEMPLOYEE

Smith, John B.Wong, Franklin T.Zelaya, Alicia J.Wallace, Jennifer S.Narayan, Ramesh K.English, Joyce A.Jabbar, Ahmad V.Borg, James E.Berger, Anders C.Benitez, Carlos M.

123456789333445555999887777987654321666884444453453453987987987888665555999775555888664444

09-JAN-5508-DEC-4519-JUL-5820-JUN-3115-SEP-5231-JUL-6229-MAR-5910-NOV-2726-APR-5509-JAN-53

731 Fondren, Houston, TX638 Voss, Houston, TX3321 Castle, Spring, TX291 Berry. Bellaire, TX975 Fire Oak, Humble, TX5631 Rice, Houston, TX980 Dallas, Houston, TX731 Stone, Houston, TX6530 Braes, Bellaire, TX7654 Beech, Houston, TX

55445541nullnull

DNAME DNUMBER DMGRSSNDEPARTMENT

ResearchAdministrationHeadquarters

541

333445555987654321888665555

Page 19: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 19

널 값이 야기하는 문제점 (3/4)

[ 그림 10.2(b)] EMPLOYEE 와 DEPARTMENT 에 자연조인을

적용한 결과

두 개 투플이 사라짐

관계 DB 설계 알고리즘과 추가적 정규형

ENAME SSN BDATE ADDRESS

Smith, John B.Wong, Franklin T.

Zelaya, Alicia J.Wallace, Jennifer S.

Narayan, Ramesh K.English, Joyce A.Jabbar, Ahmad V.Borg, James E.

123456789

333445555

999887777987654321

666884444453453453

987987987

888665555

09-JAN-55

08-DEC-45

19-JUL-5820-JUN-3115-SEP-5231-JUL-6229-MAR-5910-NOV-27

731 Fondren, Houston, TX

638 Voss, Houston, TX3321 Castle, Spring, TX291 Berry. Bellaire, TX

975 Fire Oak, Humble, TX5631 Rice, Houston, TX980 Dallas, Houston, TX731 Stone, Houston, TX

DNAME DMGRSSN

ResearchResearch

AdministrationAdministration

ResearchResearchAdministration

Headquarters

333445555333445555

987654321987654321333445555

333445555987654321888665555

DNUM

55

445

541

Page 20: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 20

널 값이 야기하는 문제점 (4/4)

[ 그림 10.2(c)] EMPLOYEE 를 DEPARTMENT 와 외부 조인한 결과

투플이 사라지지 않음 ( 널 값을 갖는 가상적인 부서가 생김 )

관계 DB 설계 알고리즘과 추가적 정규형

ENAME SSN BDATE ADDRESS

Smith, John B.Wong, Franklin T.Zelaya, Alicia J.Wallace, Jennifer S.Narayan, Ramesh K.English, Joyce A.Jabbar, Ahmad V.Borg, James E.Berger, Anders C.Benitez, Carlos M.

123456789333445555999887777987654321666884444453453453987987987888665555999775555888664444

09-JAN-5508-DEC-4519-JUL-5820-JUN-3115-SEP-5231-JUL-6229-MAR-5910-NOV-2726-APR-5509-JAN-53

731 Fondren, Houston, TX638 Voss, Houston, TX3321 Castle, Spring, TX291 Berry. Bellaire, TX975 Fire Oak, Humble, TX5631 Rice, Houston, TX980 Dallas, Houston, TX731 Stone, Houston, TX6530 Braes, Bellaire, TX7654 Beech, Houston, TX

DNAME DMGRSSN

ResearchResearchAdministrationAdministrationResearchResearchAdministrationHeadquartersnullnull

333445555333445555987654321987654321333445555333445555987654321888665555nullnull

DNUM

55445541nullnull

Page 21: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 21

허상 투플이 야기하는 문제점 (1/3)

허상 투플 (Dangling Tuples)• 정규화 과정에서 릴레이션을 너무 분해하면 허상 투플의 문제가 발생함

• 분해된 릴레이션을 조인하면 사라지는 투플을 허상 투플이라고 함

관계 DB 설계 알고리즘과 추가적 정규형

Page 22: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 22

허상 투플이 야기하는 문제점 (2/3)

[ 그림 10.3(a)] EMPLOYEE 에서 DNUMBER 애트리뷰트를 제외한

모든 애트리뷰트를 포함하는 릴레이션 EMPLOYEE_1

관계 DB 설계 알고리즘과 추가적 정규형

ENAME SSN BDATE ADDRESSEMPLOYEE_1

Smith, John B.Wong, Franklin T.Zelaya, Alicia J.Wallace, Jennifer S.Narayan, Ramesh K.English, Joyce A.Jabbar, Ahmad V.Borg, James E.Berger, Anders C.Benitez, Carlos M.

123456789333445555999887777987654321666884444453453453987987987888665555999775555888664444

09-JAN-5508-DEC-4519-JUL-5820-JUN-3115-SEP-5231-JUL-6229-MAR-5910-NOV-2726-APR-5509-JAN-53

731 Fondren, Houston, TX638 Voss, Houston, TX3321 Castle, Spring, TX291 Berry. Bellaire, TX975 Fire Oak, Humble, TX5631 Rice, Houston, TX980 Dallas, Houston, TX731 Stone, Houston, TX6530 Braes, Bellaire, TX7654 Beech, Houston, TX

Page 23: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 23

허상 투플이 야기하는 문제점 (3/3)

[ 그림 10.3(b)] 널 값이 존재하는 DNUMBER 애트리뷰트를

포함하는 EMPLOYEE_2 에는 문제가 없음

[ 그림 10.3(c)] DNUMBER 에 널 값을 갖는 투플을 포함하지 않는

EMPLOYEE_3 를 만들면 , 조인 시 투플이 사라짐

관계 DB 설계 알고리즘과 추가적 정규형

SSN DNUM

123456789333445555999887777987654321666884444453453453987987987888665555999775555888664444

55445541nullnull

EMPLOYEE_2

SSN DNUM

123456789333445555999887777987654321666884444453453453987987987888665555

55445541

EMPLOYEE_3

(b) (c)

Page 24: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 24

강의 내용

관계형 데이터베이스 스키마 설계 알고리즘

다치 종속성과 제 4 정규형 (4NF)• 다치 종속성의 정형적 정의

• 함수적 종속성 및 다치 종속성의 추론 규칙

• 제 4 정규형 (4NF)• 제 4 정규형 릴레이션으로의 무손실 조인 분해

조인 종속성과 제 5 정규형 (5NF)

포함 종속성

기타 종속성과 정규화

관계 DB 설계 알고리즘과 추가적 정규형

Page 25: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 25

다치 종속성과 제 4 정규형

함수적 종속성은 하나의 공통된 형태의 제약조건을 명기하기 위해서

사용된다 .

함수적 종속성 만에 의해서 명기될 수 없는 다른 형태의 제약조건들이

존재한다 .

추가적인 종속성에는 다치 종속성 (multi-valued dependency) 이

있으며 , 이에 기반한 정규형이 제 4 정규형 (4NF) 이다

관계 DB 설계 알고리즘과 추가적 정규형

Page 26: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 26

다치 종속성의 정형적 정의 (1/3)

정형적 정의• 릴레이션 스키마 R 에 대해 , X 와 Y 는 R 의 애트리뷰트들의 부분집합이다 . 그리고 ,

Z = R (X ∪ Y) ( 남은 애트리뷰트들 ) 이다 .

• 릴레이션 스키마 R 에서 성립하는 다치 종속성 X Y 는 R 의 임의의 인스턴스 r(R)

에 대해 , 만약 t1[X] = t2[Y] 를 만족하는 r(R) 의 두 투플 t1, t2 가 존재한다면 , 다음의

성질을 만족하는 두 개의 투플 t3 와 t4 도 반드시 존재해야 한다 :

t3[X] = t4[X] = t1[X] = t2[X]

t3[Y] = t1[Y] 이고 t4[Y] = t2[Y]

t3[Z] = t2[Z] 이고 t4[Z] = t1[Z]

MVD 제약조건은 Z 의 값에 관계없이 X 의 값이 Y 의 값들의 집합을

결정한다라는 것을 암시한다 .

MVD 의 특성 : X Y 가 성립하면 , X Z 도 성립한다 .

관계 DB 설계 알고리즘과 추가적 정규형

→→

→→→→

Page 27: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 27

다치 종속성의 정형적 정의 (2/3)

애트리뷰트들의 집합 X 의 값이 애트리뷰트들의 집합 Y 의 값을

결정한다면 , X 는 Y 를 다중결정한다 (multidetermine) 라고 한다 .

MVD X Y 가 (a) Y⊆X 혹은 (b) (X∪Y) = R 이면 단순 다치

종속성 (trivial MVD) 이라 부른다 .

단순 다치 종속성은 다치 종속성의 정의에 따라 항상 성립한다 .

주어진 함수적 종속성과 다치 종속성의 집합 F 에 대해 추가적인 함수적

종속성과 다치 종속성을 추론할 수 있다 .

관계 DB 설계 알고리즘과 추가적 정규형

→→

Page 28: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 28

다치 종속성의 정형적 정의 (3/3)

제 4 정규형 (4NF)(a) 두 다치 종속성 ENAME PNAME 과 ENAME DNAME 을 가진 EMP

릴레이션

(b) EMP 를 제 4 정규형인 두 개의 릴레이션으로 분해

(c) 다치 종속성을 갖지 않으며 제 4 정규형인 SUPPLY 릴레이션

관계 DB 설계 알고리즘과 추가적 정규형

→→ →→

ENAME PNAME

SmithSmithSmithSmith

XYXY

EMPDNAME

JohnAnnaAnnaJohn

ENAME PNAME

SmithSmith

XY

EMP_PROJECTS ENAME

SmithSmith

EMP_DEPENDENTS DNAME

JohnAnna

SNAME PARTNAME

SmithSmithAdamskyWaltonAdamskyAdamskySmith

BoltNutBoltNutNailBoltBolt

SUPPLYPROJNAME

ProjXProjYProjYProjZProjXProjXProjY

(a)(b)

(c)

Page 29: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 29

FD 와 MVD 의 추론 규칙

추론 규칙들의 집합IR1. (FD 의 재귀성 규칙 ): X⊇Y 이면 , X→Y 이다

IR2. (FD 의 부가성 규칙 ): {X→Y} |= XZ→YZIR3. (FD 의 이행성 규칙 ): {X→Y, Y→Z} |= X→ZIR4. (MVD 의 보완성 규칙 ): {X ->> Y} |= {X ->> (R - (X∪Y))}

IR5. (MVD 의 부가성 규칙 ): X ->> Y 이고 W⊇Z 이면 , WX ->> YZ 이다

IR6. (MVD 의 이행성 규칙 ): {X ->> Y, Y ->> Z} |= X ->> (Z - Y)IR7. (FD 에서 MVD 로의 모사 규칙 ): {X→Y} |= X ->> Y

IR8. (FD 와 MVD 의 합동 규칙 ): X ->> Y 이고 , (a)W∩Y 가 공집합 , (b) W→Z, (c) Y⊇Z 인 W 가 존재하면 , X→Z 이다

주의• 규칙 IR7 에 의해 , 모든 FD 는 MVD 이다 . • 규칙 IR1 에서 IR8 를 적용하면 함수적 종속성들의 집합에 대한 폐쇄 F+ 를 유도할 수

있다 .

관계 DB 설계 알고리즘과 추가적 정규형

Page 30: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 30

제 4 정규형 (4NF)

제 4 정규형의 특성• 3NF 와 BCNF 는 다치 종속성을 다루지 않는다 .

• 비단순 다치 종속성을 가지는 릴레이션 스키마는 좋은 디자인이 아닐 수 있다 .

• 제 4 정규형은 위와 같은 문제를 다루며 , BCNF 정규형이 된다 . ( 제 4 정규형에

속하는 모든 릴레이션은 BCNF 정규형에 속한다 )

제 4 정규형의 정형적 정의• 종속성들의 집합 F 에 대한 F+ 의 모든 비단순 다치 종속성 X ->> Y 에 대하여 , X 가

R 의 수퍼키이면 릴레이션 스키마 R 은 F 에 대한 제 4 정규형이다 .

관계 DB 설계 알고리즘과 추가적 정규형

Page 31: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 31

4NF 릴레이션으로의 무손실 조인 분해 (1/2)_

모든 MVD 는 FD 이므로 , 제 4 정규형은 BCNF 를 포함한다 .

F 의 모든 종속성이 함수적 종속성이면 , 4NF 의 정의는 자동적으로

BCNF 정의가 된다 .

릴레이션 R 상의 종속성의 집합 F 에 대해 R 을 제 4 정규형

릴레이션으로 무손실 조인 분해하는 알고리즘이 존재한다 .

특성 LJ1’: R 의 분해집합 D = {R1, R2} 가 종속성의 집합 F 에 대해

무손실

조인 특성을 가질 필요충분조건은 다음의 둘 중 하나를 만족하는 것이

다 :• (a) 종속성 ((R1∩R2) ->> (R1 - R2)) 가 F+ 에 속한다 .

• (b) 종속성 ((R1∩R2) ->> (R2 - R1)) 가 F+ 에 속한다 .

관계 DB 설계 알고리즘과 추가적 정규형

Page 32: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 32

4NF 릴레이션으로의 무손실 조인 분해 (2/2)_

4NF 릴레이션으로의 분해 알고리즘

1. Set D ← {R}2. While there is a relation schema Q in D that is not in 4NF do

{Choose one Q in D that is not in 4NF;Find a nontrivial MVD X Y in Q that violates 4NF;Replace Q in D by two relation schemas (Q - Y) and (X∪Y);

};

관계 DB 설계 알고리즘과 추가적 정규형

Page 33: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 33

[ 그림 10.5] 4NF 의 이점

(a) 여러 투플을 추가한 EMP 릴레이션 (Brown)

(b) EMP 를 EMP_PROJECTS 와 EMP_DEPENDENTS 로 분해

관계 DB 설계 알고리즘과 추가적 정규형

ENAME PNAME

SmithSmithSmithSmithBrownBrownBrownBrownBrownBrownBrownBrownBrownBrownBrownBrown

XYXYWXYZWXYZWXYZ

EMPDNAME

JohnAnnaAnnaJohnJimJimJimJim JoanJoanJoanJoanBobBobBobBob

ENAME PNAMEEMP_PROJECTS

SmithSmithBrownBrownBrownBrown

XYWXYZ

ENAME DNAMEEMP_DEPENDENTS

SmithSmithBrownBrownBrown

AnnaJohnJimJoanBob

(a) (b)

Page 34: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 34

강의 내용

관계형 데이터베이스 스키마 설계 알고리즘

다치 종속성과 제 4 정규형 (4NF)

조인 종속성과 제 5 정규형 (5NF)

포함 종속성

기타 종속성과 정규화

관계 DB 설계 알고리즘과 추가적 정규형

Page 35: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 35

조인 종속성과 제 5 정규형 (5NF)

조인 종속성

• R 에 지정된 조인 종속성은 JD(R1, R2, …, Rn) 으로 표기하며 , R 의 상태 r 에 대하여

“ R 의 모든 합법적 상태 r 이 R1, R2, …, Rn 으로의 무손실 조인 분해를 가져야 한다”는

점이다 .

• 다치 종속성은 n 이 2 인 특별한 경우이다 .

• Ri = R 이면 , JD(R1, R2, …, Rn) 를 단순 다치 종속성이라 부른다 .

제 5 정규형 (5NF)• R 이 함수적 종속성 , 다치 종속성 , 그리고 조인 종속성들의 집합인 F 에 대해 모든

비단순 조인 종속성 FD(R1, R2, …, Rn) 이 F+ 에 속하고 , Ri 가 R 의 수퍼키라면 , R 은

제 5 정규형에 속한다 .

• 프로젝트 - 조인 정규형 (Project-Join NF: PJNF) 이라고도 한다 .

• 조인 종속성을 발견하는 것은 매우 어려운 일로 , 실제로 제 5 정규형은 거의 쓰이지

않는다 .

관계 DB 설계 알고리즘과 추가적 정규형

Page 36: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 36

포함 종속성

포함 종속성은 릴레이션들 사이의 제한조건을 나타낸다 .

정형적으로 :릴레이션 R 의 애트리뷰트 집합 X 와 릴레이션 S 의 애트리뷰트 집합 Y 사이의

포함 종속성 R.X < S.Y 는 R 의 릴레이션 상태 r 과 S 의 릴레이션 상태 s 에

대해 다음과 같은 조건을 만족해야 한다 .

(ΠX(r(R)) ΠY (s(S))

포함 종속성에 대한 세 가지 추론 규칙 :• IDIR1( 재귀성 규칙 ): R.X < R.X

• IDIR2( 애트리뷰트 대응 규칙 ): X={A1, A2,…, An} 이고 Y={B1, B2,…, Bn} 일 때 ,

R.X < S.Y 이고 Ai 가 Bi 에 대응한다면 R.Ai < S. Bi 이다 .

• IDIR3( 이행성 규칙 ): R.X < S.Y 이고 S.Y < T.Z 이면 , R.X < T.Z 이다 .

관계 DB 설계 알고리즘과 추가적 정규형

Page 37: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 37

강의 내용

관계형 데이터베이스 스키마 설계 알고리즘

다치 종속성과 제 4 정규형 (4NF)

조인 종속성과 제 5 정규형 (5NF)

포함 종속성

기타 종속성과 정규화

• 템플리트 종속성

• 도메인 - 키 정규형 (DKNF)

관계 DB 설계 알고리즘과 추가적 정규형

Page 38: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 38

템플리트 종속성 (1/3)

아무리 많은 종속성을 개발하더라도 , 이들로 표현할 수 없는 특별한

제약조건이 나올 수 있다 .

템플리트 종속성 : 각 제약조건과 함수적 종속성을 템플리트 혹은 예제를

사용하여 지정하는 방법이다 .

템플리트의 종류 : 투플 - 생성 템플리트 , 제약조건 - 생성 템플리트

템플리트는 많은 수의 가상 투플 (hypothesis tuple) 로 구성되며 , 템플리트의 나머지 부분은 템플리트 결론 (templete conclusion) 이라

한다 .• 투플 - 생성 템플리트 결론 : 가상 투플에 있다면 릴레이션에 반드시 나타나야 하는

투플들의 집합

• 제약조건 - 생성 템플리트 결론 : 가상 투플들에 대해서 반드시 지켜져야 하는 조건

관계 DB 설계 알고리즘과 추가적 정규형

Page 39: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 39

템플리트 종속성 (2/3)

[ 그림 10.6] 일반적 형태의 종속성에 대한 템플리트(a) 함수적 종속성 X→Y 에 대한 템플리트

(b) 다치 종속성 X ->> Y 에 대한 템플리트

(c) 포함 종속성 R.X < S.Y 에 대한 템플리트

관계 DB 설계 알고리즘과 추가적 정규형

(a) R={A, B, C, D}Hypothesis a1 b1 c1 d1

X={A, B}a1 b1 c2 d2

Y={C,D}-------------------

Conclusion c1=c2 and d1=d2

(b) R={A, B, C, D}Hypothesis a1 b1 c1 d1

X={A, B}a1 b1 c2 d2

Y={C}-------------------

Conclusion a1 b1 c2 d1a1 b1 c1 d2

( c) R={A, B, C, D} S={E, F, G}

X={C,D}Hypothesis a1 b1 c1 d1

Y={E,F}

--------------------------------------Conclusion c1 d1 g

Page 40: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 40

템플리트 종속성 (3/3)

[ 그림 10.7] 고용자 월급이 직속 상급자 월급보다 많을 수 없다는

제약조건에 대한 템플리트

관계 DB 설계 알고리즘과 추가적 정규형

EMPLOYEE = {NAME, SSN, …, SALARY, SUPERVISORSSN }

a b c d Hypothesis e d f g

--------------------------------------Conclusion c < f

Page 41: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 41

도메인 - 키 정규형 (DKNF)

DKNF: Domain-Key Normalization Form

도메인 - 키 정규형의 아이디어는 가능한 종류의 종속성과 제약조건을

적어도 이론적으로는 모두 고려하는 “궁극적 정규형”을 명기하는 것이

다 .

DKNF 에 속하는 릴레이션은 모든 제약조건과 종속성들을 단지 도메인

제약조건과 키 제약조건만으로 나타낼 수 있어야 한다 .

DKNF 릴레이션 내에 복잡한 제약조건을 포함시키는 것은 어렵기

때문에 , 실제적인 유용성은 매우 제약적이다 .

관계 DB 설계 알고리즘과 추가적 정규형

Page 42: 데이터베이스  (Database) 관계  DB  설계 알고리즘과 추가적 정규형 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 42

요약

관계형 데이터베이스 스키마 설계 알고리즘에서 문제점들• 릴레이션 분해와 정규형의 부족한 점

• 종속성 보존과 무손실 ( 비부가적 ) 조인

• 널 값과 허상 투플이 야기하는 문제점

다치 종속성의 정의와 제 4 정규형

조인 종속성의 정의와 제 5 정규형

포함 종속성

기타 종속성과 정규형• 템플리트 종속성

• 도메인 - 키 정규형

관계 DB 설계 알고리즘과 추가적 정규형