9 1 COMPANY DB DB EMPLOYEE ENAME SSN
[그림 9. 1] 단순화된 COMPANY 관계 DB 스키마 관계 DB의 함수적 종속성과 정규화 외래키 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 기본키 Page 6 Database by Yang-Sae Moon
[그림 9. 2] 그림 9. 1 스키마를 위한 DB 상태 (1/2) 관계 DB의 함수적 종속성과 정규화 EMPLOYEE ENAME SSN BDATE ADDRESS DNUMBER Smith, John B. 123456789 09 -JAN-55 731 Fondren, Houston, TX 5 Wong, Franklin T. 333445555 08 -DEC-45 638 Voss, Houston, TX 5 Zelaya, Alicia J. 999887777 19 -JUL-58 3321 Castle, Spring, TX 4 Wallace, Jennifer S. 987654321 20 -JUN-31 291 Berry. Bellaire, TX 4 Narayan, Ramesh K. 666884444 15 -SEP-52 975 Fire Oak, Humble, TX 5 English, Joyce A. 453453453 31 -JUL-62 5631 Rice, Houston, TX 5 Jabbar, Ahmad V. 987987987 29 -MAR-59 980 Dallas, Houston, TX 4 Bong, James E. 888665555 10 -NOV-27 731 Stone, Houston, TX 1 DEPARTMENT DNAME DEPT_LOCATIONS DNUMBER DMGRSSN DNUMBER DLOCATIONS Research 5 333445555 1 Houston Administration 4 987654321 4 Stafford Headquarters 1 888665555 5 Bellaire 5 Sugarland 5 Houston Page 7 Database by Yang-Sae Moon
[그림 9. 2] 그림 9. 1 스키마를 위한 DB 상태 (2/2) 관계 DB의 함수적 종속성과 정규화 WORKS_ON SSN PNUMBER HOURS 123456789 666884444 453453453 333445555 999887777 987987987 987654321 888665555 1 32. 5 2 7. 5 3 40. 0 1 20. 0 2 10. 0 3 10. 0 10 10. 0 20 10. 0 30 30. 0 10 10 35. 0 30 20 15. 0 20 null PROJECT PNAME PNUMBER PLOCATIONS DNUM Product. X 1 Bellaire 5 Product. Y 2 Sugarland 5 Product. Z 3 Houston 5 Computerization 10 Stafford 4 Reorganization 20 Houston 1 Newbenefits 30 Stafford 4 Page 8 Database by Yang-Sae Moon
투플에서 중복된 정보와 갱신 이상 (3/3) 관계 DB의 함수적 종속성과 정규화 [그림 9. 4] 그림 9. 3의 스키마에 대한 릴레이션 예 (그림 9. 2의 릴레이션들을 자연조인한 결과) 데이터 중복 발생 EMP_DEPT 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. Bong, James E. 123456789 333445555 999887777 987654321 666884444 453453453 987987987 888665555 09 -JAN-55 08 -DEC-45 19 -JUL-58 20 -JUN-31 15 -SEP-52 31 -JUL-62 29 -MAR-59 10 -NOV-27 731 Fondren, Houston, TX 638 Voss, Houston, TX 3321 Castle, Spring, TX 291 Berry. Bellaire, TX 975 Fire Oak, Humble, TX 5631 Rice, Houston, TX 980 Dallas, Houston, TX 731 Stone, Houston, TX 123456789 666884444 453453453 333445555 999887777 987987987 987654321 888665555 PNUMBER 1 2 3 1 2 2 3 10 20 30 10 10 30 30 20 20 HOURS 32. 5 7. 5 40. 0 20. 0 10. 0 30. 0 10. 0 35. 0 20. 0 15. 0 null 5 5 4 4 5 5 4 1 DNAME DMGRSSN Research Administration Headquarters 333445555 987654321 888665555 데이터 중복 발생 EMP_PROJ SSN DNUMBER ENAME PNAME Smith, John B. Narayan, Ramesh K. English, Joyce A. Wong, Franklin T. Zelaya, Alicia J. Jabbar, Ahmad V. Wallace, Jennifer S. Bong, James E. Page 12 Product. X Product. Y Product. Z Computerization Reorganization Newbenefits Computerization Newbenefits Reorganization PLOCATIONS Bellaire Sugarland Houston Stafford Stafford Houston Database by Yang-Sae Moon
가짜 투플이 나타나는 예 (1/2) 관계 DB의 함수적 종속성과 정규화 [그림 9. 5] EMP_PROJ를 다르게 표현 (a) 그림 9. 3(b)의 EMP_PROJ를 두 개 릴레이션 스키마 (EMP_LOCS와 EMP_PROJ 1)로 표현 (b) 그림 9. 4의 EMP_PROJ 릴레이션을 EMP_LOCS 와 EMP_PROJ 1 릴레이션의 애트리뷰트 들 상에 프로젝트 한 결과 (a) EMP_LOCS ENAME (b) EMP_PROJ 1 PLOCATIONS SSN 기본키 EMP_LOCS ENAME Smith, John B. Narayan, Ramesh K. English, Joyce A. Wong, Franklin T. Zelay, Alicia J. Jabbar, Ahmad V. Wallace, Jennifer S. Borg, James E. PNUMBER HOURS PNAME PLOCATIONS 기본키 EMP_PROJ 1 PLOCATIONS Bellaire Sugarland Houston Stafford Houston SSN PNUMBER 123456789 666884444 453453453 333445555 999887777 987987987 987654321 888665555 Page 16 1 2 3 1 2 2 3 10 20 30 10 10 30 30 20 20 HOURS PNAME 32. 5 7. 5 40. 0 20. 0 10. 0 30. 0 10. 0 35. 0 20. 0 15. 0 null PLOCATIONS Product. X Product. Y Product. Z Computerization Reorganization Newbenefits Computerization Newbenefits Reorganization Bellaire Sugarland Houston Stafford Stafford Houston Database by Yang-Sae Moon
가짜 투플이 나타나는 예 (2/2) 관계 DB의 함수적 종속성과 정규화 [그림 9. 6] EMP_PROJ 1과 EMP_LOCS을 자연조인한 결과 ( 는 가짜 투플을 나타냄) SSN 123456789 *123456789 666884444 *453453453 *453453453 *333445555 333445555 PNUMBER HOURS 1 1 2 2 2 3 3 10 20 20 32. 5 7. 5 40. 0 20. 0 10. 0 PNAME Product. X Product. Y Product. Z Product. X Product. Y Product. Z Computerization Reorganization PLOCATIONS Bellaire Sugarland Houston Bellaire Sugarland Sugarland Houston Stafford Houston Page 17 ENAME Smith, John B. English, Joyce A. Wong, Franklin T. Narayan, Ramesh K. Database by Yang-Sae Moon
[그림 9. 8] 다치 애트리뷰트를 1 NF로 정규화 관계 DB의 함수적 종속성과 정규화 (a) 제 1정규형이 아닌 릴레이션 스키마 (부서는 여러 위치가 있을 수 있다. ) (b) 릴레이션 인스턴스의 예 (다치 애트리뷰트를 갖기 때문에 1 NF가 아니다. ) (c) 중복이 포함된 제 1정규형 릴레이션 (a) (b) DEPARTMENT DNAME DMGRSSN DLOCATIONS DNUMBER DMGRSSN DLOCATIONS 333445555 987654321 888665555 {Bellaire, Sugarland, Houston} {Stafford} {Houston} DMGRSSN DLOCATIONS 333445555 987654321 888665555 Bellaire Sugarland Houston Stafford Houston DEPARTMENT DNAME Research Administration Headquarters (c) DNUMBER 4 5 1 DEPARTMENT DNAME Research Administration Headquarters DNUMBER 4 4 4 5 1 Page 33 Database by Yang-Sae Moon
[그림 9. 9] 중첩된 릴레이션을 1 NF로 정규화 관계 DB의 함수적 종속성과 정규화 (a) 중첩 릴레이션 PROJS를 포함하는 릴레이션 EMP_PROJ의 스키마 (b) 각 투플 안에 중첩 릴레이션을 포함하고 있는 릴레이션 MP_PROJ의 외연의 예 (c) 기본 키를 복사함으로써 EMP_PROJ를 제 1정규형 릴레이션들로 분해 (a) (b) EMP_PROJ SSN ENAME PROJS PNUMBERS EMP_PROJ 1 ENAME 123456789 Smith, John B. 666884444 453453453 Narayan, Joyce K. English, Joyce A. 333445555 Wong, Franklin T. 999887777 Zelaya, Alicia J. 987987987 Jabbar, Ahmad V. 987654321 Wallace, Jennifer S. 888665555 Bong, James E. ENAME EMP_PROJ 2 SSN HOURS (c) SSN EMP_PROJ PNUMBER HOURS Page 34 PROJS PNUMBERS HOURS 1 2 3 1 2 2 3 10 20 30 10 10 30 30 20 20 32. 5 7. 5 40. 0 20. 0 10. 0 30. 0 10. 0 35. 0 20. 0 15. 0 null Database by Yang-Sae Moon
[그림 9. 10(a)] EMP_PROJ를 2 NF으로 정규화 관계 DB의 함수적 종속성과 정규화 기본키 EMP_PROJ SSN PNUMBER HOURS ENAME PLOCATIONS 완전 함수적 종속성 fd 1 부분 함수적 종속성 fd 2 부분 함수적 종속성 fd 3 2 NF 정규화 EP 1 SSN EP 2 PNUMBER HOURS fd 1 SSN EP 3 ENAME fd 2 완전 함수적 종속성 PNUMBER PNAME PLOCATIONS fd 3 완전 함수적 종속성 Page 36 완전 함수적 종속성 Database by Yang-Sae Moon
[그림 9. 10(b)] EMP_DEPT를 3 NF으로 정규화 관계 DB의 함수적 종속성과 정규화 EMP_DEPT ENAME SSN BDATE ADDRESS DNUMBER DNAME DMGRSSN 이행 함수적 종속성 3 NF 정규화 ED 1 ENAME ED 2 SSN BDATE ADDRESS DNUMBER Page 38 DNUMBER DNAME DMGRSSN Database by Yang-Sae Moon
[그림 9. 11] 2 NF와 3 NF로 정규화 (1/2) 관계 DB의 함수적 종속성과 정규화 (a) LOTS 릴레이션 스키마와 함수적 종속성 fd 1부터 fd 4 (b) LOTS를 2 NF 릴레이션 LOTS 1과 LOTS 2로 분해 (a) 후보키 LOTS PROPERTY_ID# COUNTY_NAME LOT# AREA PRICE TAX_RATE 완전 함수적 종속성 fd 1 완전 함수적 종속성 fd 2 부분 함수적 종속성 fd 3 fd 4 (b) LOTS 1 PROPERTY_ID# COUNTY_NAME LOT# AREA PRICE fd 1 fd 2 LOTS 2 fd 4 COUNTY_NAME TAX_RATE 이행 함수적 종속성 fd 3 Page 41 Database by Yang-Sae Moon
[그림 9. 11] 2 NF와 3 NF로 정규화 (2/2) 관계 DB의 함수적 종속성과 정규화 (c) LOTS 1을 3 NF 릴레이션 LOTS 1 A와 LOTS 1 B로 분해 (d) LOTS의 정규화 요약 (c) LOTS 1 A LOTS 1 B PROPERTY_ID# COUNTY_NAME LOT# AREA fd 1 PRICE fd 4 fd 2 (d) LOTS 1 A LOTS 1 B Page 42 1 NF LOTS 2 2 NF LOTS 3 NF Database by Yang-Sae Moon
- Slides: 46