Microsoft PowerPoint - 13(FD1) [호환 모드]

Similar documents
Microsoft PowerPoint 관계 DB의 FD와 정규화

<4D F736F F F696E74202D E20B0FCB0E BCB3B0E820BECBB0EDB8AEC1F2B0FA20C3DFB0A1C0FB20C1A4B1D4C7FC>

내용 3.1 관계모델의개념 3.2 관계제약조건과관계형데이타베이스스키마 3.3 갱신연산과트랜잭션그리고제약조건의위반처리 3.4 요약 Ch6 Fundamentas of Database Systems 2

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

슬라이드 제목 없음

PowerPoint Presentation

슬라이드 제목 없음

<4D F736F F F696E74202D E20B0FCB0E820B5A5C0CCC5CD20B8F0B5A8B0FA20B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20C1A6BEE020C1B6B0C7>

Microsoft PowerPoint - QVIZMVUMWURI.pptx

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

VENUS Express 사용자 매뉴얼

untitled

슬라이드 제목 없음

Microsoft PowerPoint - 4(SQL-Data Definition,BasicQuery) [호환 모드]

슬라이드 제목 없음

슬라이드 제목 없음

금오공대 컴퓨터공학전공 강의자료

The Relational Model

Microsoft PowerPoint - 5 [호환 모드]

03-01 데이터모델링과데이터모델의개념 개체-관계모델 논리적데이터모델

PowerPoint Presentation

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint - 6 [호환 모드]

Microsoft PowerPoint - 7(ERModeling) [호환 모드]

Microsoft PowerPoint 관계 대수 및 관계 해석(Part 1)

Microsoft PowerPoint SQL-99

PowerPoint 프레젠테이션

Microsoft PowerPoint _정규화

3 장. 관계데이터모델 관계모델 (relational model) 의기초 E/R 다이어그램에서관계설계로의변환서브클래스구조를릴레이션으로변환함수적종속성 (functional dependency) 함수적종속성에관한규칙들관계데이터베이스스키마설계다중값종속성 (multivalue

Chapter 1: 데이터베이스시스템개관

Microsoft PowerPoint - 27.pptx

RDB개요.ppt

PowerPoint Presentation

Object Oriented Analyis & Design Training Agenda

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint SQL 추가 기능

<4D F736F F F696E74202D20BFC0B6F3C5AC2D38C0E52DBAE4BFCD20BDC3BDBAC5DB20C4ABC5BBB7CEB1D72DBFC0B6F3C5AC2E BC8A3C8AF20B8F0B

슬라이드 제목 없음

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt

08/11-12<È£ä263»Áö

PowerPoint 프레젠테이션

Microsoft PowerPoint 관계 대수 및 관계 해석(Part 2)

PowerPoint Presentation

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

< B3E220C1A4BAB8C3B3B8AEBBEABEF7B1E2BBE B3E2B0A320B1E2C3E2B9AEC1A6C0BAC7E02E687770>

Microsoft Word - retail_ doc


12. 데이타베이스 설계

Database Applications - 멀티미디어 데이터베이스 – 제6장 텍스트 색인과 검색

목 차

untitled

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

Microsoft PowerPoint - 26.pptx

PowerPoint Presentation

슬라이드 제목 없음

<C3CA3520B0FAC7D0B1B3BBE7BFEB202E687770>

2014_트렌드씨_웹용_1월_s


금오공대 컴퓨터공학전공 강의자료

, Analyst, , Figure 1 통신사가입자추이 ( 명, 000) 60,000 LG U+ KT SKT 50,000 40,000 30,000 20,000 10,000 0 자료 : MSIP. 미래에셋증권리서치센터

2 247, Dec.07, 2007

<C1A4BAB8C3B3B8AEB1E2BBE7BDC7B1E220B1E2C3E2B9AEC1A B3E232C8B8292E687770>

JTS 1-2¿ùÈ£ ³»Áö_Ä÷¯ PDF¿ë

<4D F736F F F696E74202D20C1A4BAB8C3B3B8AEB1E2BBE72DC7CAB1E2B1B3C0E B3E231C8B8292E707074>

<4D F736F F F696E74202D20C1A4BAB8C3B3B8AEBBEABEF7B1E2BBE72DC7CAB1E2B1B3C0E B3E231C8B8292E707074>

OCW_C언어 기초

Microsoft Word _1

2 장. E/R 데이터모델 엔티티-관계성 (Entity-Relationship) 모델의요소설계원칙제약 (constraint) 의모델링약엔티티집합 (weak entity set) 2

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

歯3일_.PDF

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

08/09-10;È£ä263»Áö

3.2 함수의정의 Theorem 6 함수 f : X Y 와 Y W 인집합 W 에대하여 f : X W 는함수이다. Proof. f : X Y 가함수이므로 f X Y 이고, Y W 이므로 f X W 이므로 F0이만족된다. 함수의정의 F1, F2은 f : X Y 가함수이므로

SQL

Microsoft PowerPoint - additional01.ppt [호환 모드]

State of Play - Video Insights Report_Korean_v2.key

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

데이터베이스-정규화

PowerPoint Template

Microsoft PowerPoint - 2장 (DBConcepts) [호환 모드]

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

Microsoft Word - IO_2009_메모리반도체.doc

Microsoft PowerPoint Relations.pptx

Microsoft PowerPoint - Database.ppt

제 12강 함수수열의 평등수렴

쉽게 풀어쓴 C 프로그래밍

<312D31BCD3C7A5C1F62E687770>

Frama-C/JESSIS 사용법 소개

= ``...(2011), , (.)''

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

실험 5

6 장. 데이터베이스언어 SQL SQL 에서의단순질의하나이상의릴레이션을포함하는질의부질의 (subquery) 릴레이션전체를다루는연산데이터베이스변경 SQL 에서릴레이션스키마의정의뷰정의 2

Windows 8에서 BioStar 1 설치하기

<4D F736F F F696E74202D205BC1A4BAB8C3B3B8AEB1E2BBE7BBEABEF7BDC7B1E2B1E2C3E2B9AEC1A6C7AEC0CC5D B3E231C8B82E707074>

Comtrol ID 레이블 Hotkey Callback 함수 ⑴ Button, IDC_BTN_DEPT, &Department, OnBtnDepartment ⑵ Button, IDC_BTN_EMP, &Employee, OnBtnEmployee ⑶ Button, IDC_B

Microsoft Word _1

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

금오공대 컴퓨터공학전공 강의자료

Transcription:

제 13 장 관계데이타베이스의함수적종속성과정규화기본이론

목차 13.1 릴레이션스키마를설계하는몇가지개략적인지침 13. 함수적종속성 (functional dependencies, FDs) 13.3 기본키를기반으로한정규형 13.4 제 정규형과제 3 정규형의일반적인정의 13.5 BCNF (Boyce-Codd Normal Form) 13.6 다치종속성과제4정규형 13.7 조인종속성과제5정규영 13.8 요약

13.1 릴레이션스키마를설계하는몇가지개략적인지침 관계형데이타베이스설계란? 좋은 릴레이션스키마를생성하기위하여애트리뷰트들을그루핑하는과정 좋은 릴레이션에대한기준은? 릴레이션스키마의두가지수준 논리적인 사용자뷰 (user view) 수준 저장이되는 기본릴레이션 (base relation) 수준 데이타베이스설계는주로기본릴레이션을대상으로함 여기서는좋은릴레이션설계에관한개괄적인지침을논한후, 함수적종속성과정규형개념에관해논의함 1NF ( 제 1 정규형 ) NF ( 제 정규형 ) 3NF ( 제 3 정규형 ) BCNF (Boyce-Codd 정규형 ) 4NF ( 제 4 정규형 ) 5NF ( 제 5 정규형 ) 3

13.1 릴레이션스키마를설계하는몇가지개략적인지침 관계데이터베이스설계의개략적인지침 애트리뷰트들의의미 (semantics) 가스키마에서명확한지확인함 투플들에서중복되는값들을줄임 투플들에서널값들을줄임 가짜투플 (spurious tuple) 을허용하지않음 4

13.1.1 릴레이션애트리뷰트들의의미 지침1 : 의미가쉽게전달되도록릴레이션스키마를설게한다. 실세계에서어떤연관성이있는애트리뷰트들을묶어서하나의릴레이션스키마를만들어나간다. 여러엔터티들 (EMPLOYEE, DEPARTMENT, PROJECT) 의애트리뷰트들이하나의릴레이션에혼합되면안된다. 다른엔티티를참조하기위해서는외래키만을사용해야한다. 5

EMPLOYEE 외래키 ENAME SSN BDATE ADDRESS DNUMBER 기본키 DEPARTMENT 외래키 DNAME DNUMBER DMGRSSN DLOCATIONS 기본키 DEPT_LOCATIONS 외래키 PROJECT 외래키 DNUMBER DLOCATIONS PNAME PNUMBER PLOCATIONS DNUM 기본키 기본키 WORKS_ON 외래키 외래키 SSN PNUMBER HOURS 기본키 [ 그림 13.1] COMPANY 관계데이타베이스스키마를단순화시킨버전 6

EMPLOYEE ENAME SSN BDATE ADDRESS DNUMBER Smith, John B. 13456789 09-JAN-55 731 Fondren,, TX 5 Wong, Franklin T. 08-DEC-45 638 Voss,, TX 5 Zelaya, Alicia J. 999887777 19-JUL-58 331 Castle, Spring, TX 4 Wallace, Jennifer S. 98765431 0-JUN-31 91 Berry. Bellaire, TX 4 Narayan, Ramesh K. 666884444 15-SEP-5 975 Fire Oak, Humble, TX 5 English, Joyce A. 453453453 31-JUL-6 5631 Rice,, TX 5 Jabbar, Ahmad V. 987987987 9-MAR-59 980 Dallas,, TX 4 Bong, James E. 888665555 10-NOV-7 731 Stone,, TX 1 DEPARTMENT DNAME DNUMBERDMGRSSN DEPT_LOCATIONS DNUMBER DLOCATIONS Research 5 1 Administration 4 98765431 4 Stafford Headquarters 1 888665555 5 Bellaire 5 Sugarland 5 [ 그림 13.] 그림 13.1 의스키마의릴레이션들의예 7

WORKS_ON SSN PNUMBER HOURS PROJECT PNAME PNUMBERPLOCATIONSDNUM 13456789 13456789 666884444 453453453 453453453 999887777 999887777 987987987 987987987 98765431 98765431 888665555 1 3 1 3 10 0 30 10 10 30 30 0 0 3.5 7.5 40.0 0.0 0.0 30.0 35.0 5.0 0.0 15.0 null ProductX ProductY ProductZ Computerization Reorganization Newbenefits 1 3 10 0 30 Bellaire Sugarland Stafford Stafford 5 5 5 4 1 4 [ 그림 13.] 그림 13.1 의스키마의릴레이션들의예 (cont.) 8

13.1. 투플에서중복된정보와이상 (anomaly) 하나의릴레이션에하나이상의엔티티의애트리뷰트들을혼합하는것은여러가지문제를일으킨다 정보가중복저장되며, 저장공간을낭비하게된다 ( 그림 13.의 EMPLOYEE와 DEPARTMENT 13.3 및 13.4의 EMP_DEPT 비교 ) 갱신이상이발생하게된다 ; 동일한정보를한릴레이션에는변경하고, 나머지릴레이션에서는변경하지않은경우어느것이정확한지알수없게된다. 지침 : 갱신이상이발생하지않도록스키마설계 삽입이상 (insertion anomalies) 삭제이상 (deletion anomalies) 수정이상 (modification anomalies) 9

(a) EMP_DEPT ENAME SSN BDATE ADDRESS DNUMBER DNAME DMGRSSN (b) EMP_PROJ SSN PNUMBER HOURS ENAME PNAME PLOCATIONS fd1 fd fd3 [ 그림 13.3] 두개의릴레이션스키마와함수적종속성 (a) EMP_DEPT 릴레이션스키마 (b) EMP_PROJ 릴레이션스키마 10

EMP_DEPT ENAME SSN BDATE ADDRESS DNUMBER Smith, John B. Wong, Franklin T. Zelaya, Alicia J. Wallace, Jennifer S. Narayan, Ramesh K. English, Joyce A. Jabbar, Ahmad V. Bong, James E. 13456789 999887777 98765431 666884444 453453453 987987987 888665555 09-JAN-55 08-DEC-45 19-JUL-58 0-JUN-31 15-SEP-5 31-JUL-6 9-MAR-59 10-NOV-7 731 Fondren,, TX 638 Voss,, TX 331 Castle, Spring, TX 91 Berry. Bellaire, TX 975 Fire Oak, Humble, TX 5631 Rice,, TX 980 Dallas,, TX 731 Stone,, TX 5 5 4 4 5 5 4 1 DNAME Research Research Administration Administration Research Research Administration Headquarters DMGRSSN 98765431 98765431 98765431 888665555 EMP_PROJ SSN PNUMBER HOURS ENAME PNAME PLOCATIONS 13456789 13456789 666884444 453453453 453453453 999887777 999887777 987987987 987987987 98765431 98765431 888665555 1 3 1 3 10 0 30 10 10 30 30 0 0 3.5 7.5 40.0 0.0 0.0 30.0 35.0 5.0 0.0 15.0 null Smith, John B. Smith, John B. Narayan, Ramesh K. English, Joyce A. English, Joyce A. Wong, Franklin T. Wong, Franklin T. Wong, Franklin T. Wong, Franklin T. Zelaya, Alicia J. Zelaya, Alicia J. Jabbar, Ahmad V. Jabbar, Ahmad V. Wallace, Jennifer S. Wallace, Jennifer S. Bong, James E. ProductX ProductY ProductZ ProductX ProductY ProductY ProductZ Computerization Reorganization Newbenefits Computerization Computerization Newbenefits Newbenefits Reorganization Reorganization Bellaire Sugarland Bellaire Sugarland Sugarland Stafford Stafford Stafford Stafford Stafford Stafford [ 그림 13.4] 그림 13.3 의스키마에대한릴레이션의예 ( 그림 13. 의릴레이션들을자연조인한결과 ) 11

지침 3: 릴레이션의투플들이널값을가지지않도록설계해야한다. 널값은저장단계에서공간을낭비하게되고 논리적차원에서는조인연산들을지정하기힘들고 애트리뷰트들의의미를이해하기어려움 COUNT 나 SUM 과같은집단함수들이적용되었을때널값의해석이모호함 널값은다음과같이여러가지로해석이가능하다. 널값을가진애트리뷰트가이투플에는적용되지않는다. 이투플에서애트리뷰트의값이아직알려져있지않다 ( 모른다 ). 애트리뷰트값을알고있지만, 아직기록되지는않았다. 모든널값을동일하게표현하면널값이갖는여러의미를훼손하게된다. 릴레이션의분리 13.1.3 투플에서널값 널값이많이나타나는애트리뷰트들은별개의릴레이션으로분리함 1

13.1.4. 가짜투플 (spurious tuples) 지침 4 : 가짜투플이생기지않도록스키마설계 관계데이타베이스설계를잘못하게되면, 조인연산들이틀린결과를생성할수있다. 조인연산의결과가올바르기위해서는, 릴레이션들이 무손실조인 (lossless join) 조건을만족하도록설계되어야한다. 더자세한것은제 14 장에서논의하며, 여기서는예를통하여가짜투플을살펴본다. 13

(a) EMP_LOCS EMP_PROJ1 ENAME PLOCATIONS SSN PNUMBER HOURS PNAME PLOCATIONS (b) 기본키 EMP_LOCS 기본키 EMP_PROJ1 ENAME PLOCATIONS SSN PNUMBER HOURS PNAME PLOCATIONS Smith, John B. Smith, John B. Narayan, Ramesh K. English, Joyce A. English, Joyce A. Wong, Franklin T. Wong, Franklin T. Wong, Franklin T. Zelay, Alicia J. Jabbar, Ahmad V. Wallace, Jennifer S. Wallace, Jennifer S. Borg, James E. Bellaire Sugarland Bellaire Sugarland Sugarland Stafford Stafford Stafford Stafford 13456789 13456789 666884444 453453453 453453453 999887777 999887777 987987987 987987987 98765431 98765431 888665555 1 3 1 3 10 0 30 10 10 30 30 0 0 3.5 7.5 40.0 0.0 0.0 30.0 35.0 5.0 0.0 15.0 null ProductX ProductY ProductZ ProductX ProductY ProductY ProductZ Computerization Reorganization Newbenefits Computerization Computerization Newbenefits Newbenefits Reorganization Reorganization Bellaire Sugarland Bellaire Sugarland Sugarland Stafford Stafford Stafford Stafford Stafford Stafford [ 그림 13.5] EMP_PROJ 를다르게표현 (a) 그림 13.3(b) 의 EMP_PROJ 를두개의릴레이션스키마 (EMP_LOCS 와 EMP_PROJ1) 로표현 (b) 그림 13.4 의 EMP_PROJ 릴레이션을 EMP_LOCS 와 EMP_PROJ1 릴레이션의애트리뷰트들상에프로젝트한결과 14

SSN PNUMBER HOURS PNAME PLOCATIONS ENAME 13456789 *13456789 13456789 *13456789 *13456789 666884444 *666884444 *453453453 453453453 *453453453 453453453 *453453453 * * * * 1 1 3 3 1 1 3 3 10 0 0 3.5 3.5 7.5 7.5 7.5 40.0 40.0 0.0 0.0 0.0 0.0 0.0 ProductX ProductX ProductY ProductY ProductY ProductZ ProductZ ProductX ProductX ProductY ProductY ProductY ProductY ProductY ProductY ProductZ ProductZ Computerization Computerization Reorganization Bellaire Bellaire Sugarland Sugarland Sugarland Bellaire Bellaire Sugarland Sugarland Sugarland Sugarland Sugarland Sugarland Stafford Smith, John B. English, Joyce A. Smith, John B. English, Joyce A. Wong, Franklin T. Narayan, Ramesh K. Wong, Franklin T. Smith, John B. English, Joyce A. Smith, John B. English, Joyce A. Wong, Franklin T. Smith, John B. English, Joyce A. Wong, Franklin T. Narayan, Ramesh K. Narayan, Ramesh K. Narayan, Ramesh K. Wong, Franklin T. Narayan, Ramesh K. [ 그림 13.6] EMP_PROJ1 과 EMP_LOCS 에자연조인을적용한결과 (* 는가짜투플을나타냄 ) 15

13. 함수적종속성 함수적종속성 (FD: functional dependency) 은좋은릴레이션설계의정형적기준으로사용된다. FD와키는릴레이션의정규형을정의하기위해사용된다. FD는데이타애트리뷰트들의의미와애트리뷰트들간의상호관계로부터유도되는제약조건 (constraints) 의일종이다. 16

13..1 함수적종속성의정의 함수적종속성 X 와 Y 를임의의애트리뷰트들의집합이라고할때, X 의값이 Y 의값을유일하게 (unique) 결정한다면 X 는 Y 를함수적으로결정한다 (functionally determines) 라고함 X Y 로표기하고, Y 는 X 에함수적으로종속된다 라고함 함수적종속성은모든릴레이션인스턴스 r(r) 에대하여성립해야함 함수적종속성의검사방법 릴레이션인스턴스 r(r) 에속하는어떠한임의의두투플에대해서도속성들의집합 X 에대해동일한값을가질때마다 Y 에대해서도동일한값을가진다면 X Y 라는함수적종속성이성립한다. 즉, r(r) 에서의임의의두투플 t 1 과 t 에대해 t 1 [X] = t [X] 이면, t 1 [Y] = t [Y] 이다. FD 는특정릴레이션인스턴스보다는실세계에서존재하는애트리뷰트들사이의제약조건으로부터유도된다. 17

13..1 함수적종속성의정의 (cont.) FD 제약조건의예제 주민등록번호는사원의이름을결정한다. SSN ENAME 프로젝트번호는프로젝트이름과위치를결정한다. PNUMBER {PNAME, PLOCATION} 사원의주민등록번호와프로젝트번호는그사원이일주일동안그프로젝트을위해서일하는시간을결정한다. {SSN, PNUMBER} HOURS FD는스키마 R에있는애트리뷰트들의특성이며, 모든릴레이션인스턴스 r(r) 에서성립해야하는성질이다. K가 R의키이면 K는 R의모든애트리뷰트들을함수적으로결정한다 (t 1 [K] = t [K] 인서로다른두개의투플이존재하지않기때문에 ). 18

13.3 기본키를기반으로한정규형 13.3.1 릴레이션들의정규화 13.3. 정규형의실제사용 13.3.3 키의정의와키에참여하는애트리뷰트 13.3.4 제1 정규형 (First Normal Form ; 1NF) 13.3.5 제 정규형 (Second Normal Form ; NF) 13.3.6 제3 정규형 (Third Normal Form ; 3NF) 19

정규화 (normalization) 불만족스러운 나쁜 릴레이션의애트리뷰트들을나누어서더작은 좋은 릴레이션으로분해하는과정 정규형 (normal form) 특정조건을만족하는릴레이션스키마의형태 제 정규형, 제 3 정규형, BCNF 릴레이션스키마의 FD 와키에기반하여정의됨 제 4 정규형 키와 MVD 에기반하여정의됨 제 5 정규형 13.3.1 릴레이션들의정규화 조인종속성에기반하여정의됨 좋은릴레이션설계를위해서는정규형이외에도추가특성이필요함 ( 즉, 무손실조인과종속성보존 ; 제 14 장참조 ) 0

13.3. 정규형의실제사용 실제프로젝트에서는이전에가지고있는데이터구조 ( 즉, 파일, 문서등 ) 로부터바람직한테이블이되도록정규화하는과정을거침. 현재업계에서는제 3 정규형, 혹은 BCNF 정규형까지만대부분설계함 제 4 정규형또는제 5 정규형은이해하기매우어렵고, 실제설계에는거의적용하지않음 릴레이션을최상의수준의정규형으로정규화할필요가없으며, 성능을위해서낮은수준의정규형으로둘수도있다. 이를비정규화 (denormalization) 라고한다. 1

13.3.3 키의정의와키에참여하는애트리뷰트 릴레이션스키마 R={A1,A,, An} 슈퍼키 S R은애트리뷰트의집합으로릴레이션내투플들이서로다른값을가짐 후보키K는수퍼키이면서최소애트리뷰트들의집합 기본키는후보키중에서특별히지정된키 주요애트리뷰트 (prime attribute) : 키에속하는애트리뷰트 비주요애트리뷰트 (nonprime attribute) : 키에속하지않는애트리뷰트

13.3.4 제 1 정규형 (1NF) 제 1 정규형 복합애트리뷰트 (composite attribute), 다치애트리뷰트 (multivalue attribute), 그리고중첩릴레이션 (nested relation) 등비원자적 (nonatomic) 애트리뷰트들을허용하지않은릴레이션의형태 제 1 정규형은릴레이션정의의일부분을이루고있음 3

(a) DEPARTMENT DNAME DNUMBER DMGRSSN DLOCATIONS (b) DEPARTMENT DNAME DNUMBER DMGRSSN DLOCATIONS Research Administration Headquarters 4 5 1 98765431 888665555 {Bellaire, Sugarland, } {Stafford} {} (c) DEPARTMENT DNAME DNUMBER DMGRSSN DLOCATIONS Research Research Research Administration Headquarters 4 4 4 5 1 98765431 888665555 Bellaire Sugarland Stafford [ 그림 13.9] 제 1 정규형으로정규화 (a) 제 1 정규형이아닌릴레이션스키마 (b) 릴레이션인스턴스의예 (c) 중복이포함된제 1 정규형릴레이션 4

(a) EMP_PROJ SSN ENAME PNUMBERS PROJS HOURS (b) EMP_PROJ SSN ENAME PROJS PNUMBERS HOURS (c) EMP_PROJ1 SSN ENAME EMP_PROJ SSN PNUMBER HOURS 13456789 666884444 453453453 999887777 987987987 98765431 888665555 Smith, John B. Narayan, Joyce K. English, Joyce A. Wong, Franklin T. Zelaya, Alicia J. Jabbar, Ahmad V. Wallace, Jennifer S. Bong, James E. 1 3 1 3 10 0 30 10 10 30 30 0 0 3.5 7.5 40.0 0.0 0.0 30.0 35.0 5.0 0.0 15.0 null [ 그림 13.10] 중첩된릴레이션을제 1 정규형으로정규화 (a) 중첩릴레이션 PROJS 를포함하는릴레이션 EMP_PROJ 의스키마 (b) 각투플안에중첩릴레이션을포함하고있는릴레이션 MP_PROJ 의외연의예 (c) 기본키를복사함으로써 EMP_PROJ 를제 1 정규형릴레이션들로분해 5

제 정규형은 FD 와키개념을이용한다. 정의 : 주요애트리뷰트 (prime attribute): 후보키 K의멤버인애트리뷰트 완전함수적종속성 (full functional dependency): FD Y Z에서Y의어떤애트리뷰트라도제거하면더이상성립하지않는경우 완전함수적종속성 : X Y에서 X가후보키인경우 부분함수적종속성 : X Y에서 X가후보키의 proper subset인경우 예제 : 13.3.5 제 정규형 (NF) {SSN, PNUMBER} HOURS는 SSN HOURS와 PNUMBER HOURS가성립하지않기때문에완전함수적종속성이다. {SSN, PNUMBER} ENAME은 SSN ENAME이성립하기때문에완전함수적종속성이아니다 ( 이는부분함수종속성 (partial function dependency) 이라고부름 ). 6

13.3.3 제 정규형 (NF) (cont.) 정의 릴레이션스키마 R의모든비주요 (non-prime) 애트리뷰트들이기본키에대해서완전함수적종속이면, R은제 정규형 (NF) 에속한다. R은제 정규형정규화과정에의해서항상제 정규형릴레이션으로분해될수있다. 7

(a) EMP_PROJ SSN PNUMBER HOURS ENAME PNAME PLOCATIONS fd1 fd fd3 NF 정규화 EP1 EP EP3 SSN PNUMBER HOURS SSN ENAME PNUMBER PNAME PLOCATIONS fd1 fd fd3 [ 그림 13.11] 정규화과정 (a) EMP_PROJ 를제 정규형으로정규화 8

(b) EMP_DEPT ENAME SSN BDATE ADDRESS DNUMBER DNAME DMGRSSN 3NF 정규화 ED1 ENAME SSN BDATE ADDRESS DNUMBER ED DNUMBER DNAME DMGRSSN [ 그림 13.11] 정규화과정 (cont.) (b) EMP_DEPT 를제 3 정규형으로정규화 9

정의 이행적함수적종속성 (transitive functional dependency): 두 FD Y X와 X Z에의해서추론될수있는 FD Y Z 예제 13.3.4 제 3 정규형 (3NF) SSN DMGRSSN은 SSN DNUMBER과 DNUMBER DMGRSSN이성립하기때문에이행적함수적종속성이다. SSN ENAME는 SSN X이고 X ENAME인애트리뷰트집합 X가존재하지않기때문에이행적종속성이아니다. 릴레이션스키마 R이제 정규형을갖고 R의어떤비주요애트리뷰트도기본키에대해서이행적으로종속되지않으면 R은제 3 정규형을갖는다고한다. R은제 3 정규형정규화과정에의해서항상제 3 정규형릴레이션으로분해될수있다 ( 그림 13.10 b) 30

13.4 제 정규형과제 3 정규형의일반적인정의 여기서부터는여러개의후보키를가진릴레이션들을고려한다. 릴레이션스키마 R 의모든비주요애트리뷰트 A 가 R 의모든후보키에완전함수적종속이면 R 은제 정규형 (NF) 을갖는다고한다. 정의 : 주요애트리뷰트 (prime attribute): 임의의후보키 K의멤버인애트리뷰트 릴레이션스키마 R의수퍼키 (superkey): R의후보키를포함한 R의애트리뷰트들의집합 S 릴레이션스키마 R의 FD X A가성립할때마다 (a) X 가 R의수퍼키이거나 (b) A가 R의주요애트리뷰트이면 R은제 3 정규형 (3NF) 을갖는다고한다. Boyce-Codd 정규형은위의조건중 (b) 의경우를허락치않는정규형을의미한다. 31

(a) LOTS PROPERTY_ID# COUNTY_NAME LOT# AREA PRICE TAX_RATE fd1 fd fd3 (b) LOTS1 PROPERTY_ID# COUNTY_NAME LOT# AREA PRICE fd4 LOTS PROPERTY_ID# fd3 fd1 fd TAX_RATE fd4 [ 그림 13.1] 제 정규형과제 3 정규형으로정규화 (a) LOTS 릴레이션스키마와함수적종속성 fd1 부터 fd4 (b) LOTS 를제 정규형릴레이션 LOTS1 과 LOTS 로분해 3

(a) LOTS1A LOTS1B PROPERTY_ID# COUNTY_NAME LOT# AREA AREA PRICE fd1 fd4 fd (b) LOTS 1NF LOTS1 LOTS NF LOTS1A LOTS1B LOTS 3NF [ 그림 13.1] 제 정규형과제 3 정규형으로정규화 (cont.) (c) LOTS1 를제 3 정규형릴레이션 LOTS1A 과 LOTS1B 로분해 (d) LOTS 의정규화요약 33

13.5 BCNF (Boyce-Codd Normal Form) 릴레이션스키마 R 에서성립하는임의의 FD X A 에서 X 가 R 의수퍼키이면 R 은 Boyce-Codd 정규형 (BCNF) 을갖는다고한다. 각정규형은그의선행정규형보다더엄격한조건을갖는다. 즉, 모든제 정규형릴레이션은제 1 정규형을갖는다. 모든제 3 정규형릴레이션은제 정규형을갖는다. 모든 BCNF 릴레이션은제 3 정규형을갖는다. 제 3 정규형에는속하나 BCNF 에는속하지않는릴레이션이존재한다. 관계데이타베이스설계의목표는각릴레이션이 BCNF( 또는제 3 정규형 ) 를갖게하는것이다. 좋은 관계형데이타베이스의릴레이션을설계하기위해서는추가적인특성이만족되어야한다 ( 제 14 장참조 ). 무손실조인 (lossless join) 특성 종속성보존 (dependency preservation) 특성 제 14 장에는또다른정규형으로제 4 정규형 ( 다중치종속성에기반 ) 을논의함 34

(a) LOTS1A PROPERTY_ID# COUNTY_NAME LOT# AREA fd1 fd fd5 BCNF 정규화 LOTS1AX LOTS1AY PROPERTY_ID# AREA LOT# AREA COUNTY_NAME (b) R A B C fd1 fd1 [ 그림 13.13] BCNF (a) BCNF 로정규화하는과정에서종속성 fd 가없어지는경우 (b) 제 3 정규형이지만 BCNF 가아닌릴레이션 R 35

13.6 다치종속성과제 4 정규형 함수적종속성은하나의공통된형태의제약조건을명기하기위해서사용된다. 함수적종속성만에의해서명기될수없는다른형태의제약조건들이존재한다. 추가적인종속성에는다치종속성 (multivalued dependency) 이있으며, 이에기반한정규형이제4정규형 (4NF) 이다. Ch10 36

정형적정의 13.6 다치종속성과제 4 정규형 (cont d) 릴레이션스키마 R에대해, X와 Y는 R의애트리뷰트들의부분집합이다. 그리고, Z = R-(X Y) ( 남은애트리뷰트들 ) 이다. 릴레이션스키마 R에서성립하는다치종속성 X Y는 R의임의의인스턴스 r(r) 에대해, 만약 t 1 [X] = t [Y] 를만족하는 r(r) 의두투플t 1, t 가존재한다면, 다음의성질을만족하는두개의투플 t 3 와 t 4 도반드시존재해야한다 : t 3 [X] = t 4 [X] = t 1 [X] = t [X] t 3 [Y] = t 1 [Y] 이고 t 4 [Y] = t [Y] t 3 [Z] = t [Z] 이고 t 4 [Z] = t 1 [Z] MVD 제약조건은 Z의값에관계없이 X의값이Y의값들의집합을결정한다라는것을암시한다. MVD 의특성 : X Y 가성립하면, X Z 도성립한다. 애트리뷰트들의집합 X 의값이애트리뷰트들의집합 Y 의값을결정한다면, X 는 Y 를다중결정한다 (multidetermine) 라고한다. Ch10 37

13.6 다치종속성과제 4 정규형 (cont d) MVD X Y가 (a) Y X 혹은 (b) (X Y) = R이면단순다치 종속성 (trivial MVD) 이라부른다. 단순다치종속성은다치종속성의정의에따라항상성립한다. 주어진함수적종속성과다치종속성의집합 F 에대해추가적인함수적종속성과다치종속성을추론할수있다. Ch10 38

(a) EMP (b) ENAME PNAME DNAME EMP_PROJECTS EMP_DEPENDENTS Smith Smith Smith Smith X Y X Y John Anna Anna John ENAME Smith Smith PNAME X Y ENAME Smith Smith DNAME John Anna (c) SUPPLY SNAME PARTNAME PROJNAME Smith Smith Adamsky Walton Adamsky Adamsky Smith Bolt Nut Bolt Nut Nail Bolt Bolt ProjX ProjY ProjY ProjZ ProjX ProjX ProjY [ 그림 13.15] 제 4 정규형 (a) 두개의다치종속성ENAME PNAME과 ENAME DNAME을가진 EMP 릴레이션 (b) EMP를제4 정규형인두개의릴레이션으로분해 (c) 다치종속성을갖지않으며제 4 정규형인 SUPPLY 릴레이션 Ch10 39

13.6 다치종속성과제 4 정규형 (cont d) 제 4 정규형의특성 : 3NF와 BCNF는다치종속성을다루지않는다. 비단순다치종속성을가지는릴레이션스키마는좋은디자인이아닐수있다. 제 4 정규형은위와같은문제를다루며, BCNF 정규형이된다. ( 제 4 정규형에속하는모든릴레이션은 BCNF 정규형에속한다 ) 제 4 정규형의정형적정의 : 종속성들의집합 F에대한F + 의모든비단순다치종속성 X - >> Y 에대하여, X가 R의수퍼키이면릴레이션스키마 R은 F에대한제4 정규형이다. Ch10 40

(a) EMP ENAME Smith Smith Smith Smith Brown Brown Brown Brown Brown Brown Brown Brown Brown Brown Brown Brown PNAME X Y X Y W X Y Z W X Y Z W X Y Z DNAME John Anna Anna John Jim Jim Jim Jim Joan Joan Joan Joan Bob Bob Bob Bob (b) EMP_PROJECTS ENAME Smith Smith Brown Brown Brown Brown ENAME PNAME X Y W X Y Z EMP_DEPENDENTS Smith Smith Brown Brown Brown DNAME Anna John Jim Joan Bob [ 그림 13.15] 제 4 정규형의이점 (a) 여러개의튜플을추가한 EMP 릴레이션 (Brown) (b) EMP 를 EMP_PROJECTS 와 EMP_DEPENDENTS 로분해 Ch10 41

조인종속성 13.7 조인종속성과제 5 정규형 R에지정된조인종속성은 JD(R 1, R,, R n ) 으로표기하며, R의상태 r에대하여 R의모든합법적상태 r이 R 1, R,, R n 으로의무손실조인분해를가져야한다 는점이다. 다치종속성은 n 이 인특별한경우이다. R i = R 이면, JD(R 1, R,, R n ) 를단순다치종속성이라부른다. 제 5 정규형 (5NF) R이함수적종속성, 다치종속성, 그리고조인종속성들의집합인 F에대해모든비단순조인종속성 FD(R 1, R,, R n ) 이 F + 에속하고, R i 가 R의수퍼키라면, R은제5정규형에속한다. 프로젝트 - 조인정규형 (Project-Join NF: PJNF) 이라고도한다. 조인종속성을발견하는것은매우어려운일로, 실제로제5정규형은거의쓰이지않는다. Ch10 4