1 / 32

Converting ER Diagrams to Relational Tables

Converting ER Diagrams to Relational Tables. 2002.3. 참고문헌 : “ Data Modeling”, G.Lawrence Sanders. Attributes. Entities. CREDITS. L_NAME. Relationship. ENROLL. F_NAME. C_NAME. COURSE. STUDENT. CID. SID. 1. ER 다이어그램 구성 요소. Street. Amount. Phone. Is-part-of. Is-part-of.

winka
Download Presentation

Converting ER Diagrams to Relational Tables

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Converting ER Diagrams to Relational Tables 2002.3 참고문헌: “Data Modeling”, G.Lawrence Sanders

  2. Attributes Entities CREDITS L_NAME Relationship ENROLL F_NAME C_NAME COURSE STUDENT CID SID 1. ER 다이어그램 구성 요소

  3. Street Amount Phone Is-part-of Is-part-of Order Date Is-part-of Address City Is-part-of Salesperson Is-part-of Is-part-of Is-part-of Name State Is-part-of Is-associated-with ORDER CUSTOMER Is-part-of Isa Isa Isa Spouse Name Isa Discount INSTOCK Is-part-of Is-part-of Is-part-of RETAIL WHOLESALE CUSTOM Item ID Is-part-of Is-part-of Is-part-of Is-part-of Is-part-of Card Number Is-part-of Expiration Date Balance Is-part-of Completion Date Credit Card Type Date Started Color 2. Semantic Data Model(의미 데이터 모델, semantic network concept, 1968)

  4. Street City Amount State Order Date Salesperson Phone PLACES Name CUSTOMER ORDER 1 N ISA ISA Discount RETAIL WHOLESALE CUSTOM INSTOCK Balance Expiration Date Spouse Name Completion Date Item ID Date Started Card Number Credit Card Type Color 3. Semantic Model Converted to ER Diagram

  5. CUSTOMER CUSTOMER Is-part-of Is-part-of Address Is-part-of Address Phone Is-part-of Phone State Is-part-of Street State City Street City 4. 복합속성과 다중속성 Semantic Model ER Diagram

  6. CUSTOMER CUSTOMER HAS Address Street Phone City State State PHONE Street City 5. 복합속성과 다중속성 Simple Attributes for Address and New Entity Phone (관계형 데이터 모델로 변환을 고려함)

  7. DIVISION COMPUTER COMPRISED-OF HAS HAS CONTAINS INCLUDES CONSISTS-OF CONSISTS-OF ACCOUNTING MOTHERBOARD HUMAN RESOURCES HARDDRIVE PRODUCTION MONITOR MARKETING 6. 집단화 (Is-part-of관계)

  8. Name Address Sex Student_id STUDENT Age ISA Club_name GRADUATE UNDERGRADUATE Passed_Exam Fraternity Thesis_Date Dorm_Room 7. 일반화/세분화(Is-a관계)

  9. CUSTOMER PLACES ORDER CUSTOMER CUST_ORDER ORDER EMPLOYEE ASSIGNED CAR CUSTOMER OBTAINS LOAN CUSTOMER CUST_LOAN LOAN 8. 일반적 관계(Is-associated-with관계) An is-associated-with structure 관계이름은 동사나 동사를 복합하여 사용

  10. 1 1 1:1 Cardinality Kurt Fargo Brian Mustang Tonya EMPLOYEE ASSIGNED Ranger CAR Scott Jeep Nancy Prizm 9. Cardinality One-to-One Cardinality

  11. 1 N 1:N Cardinality Gone with the Wind Terminator Terminator ll Cretaceous Park Sandlot Son of Flubber Blade Runner Bad News Bears Fride Green Tomatoes Kyzystoflak Johnson Hill Cerveny Denton CUSTOMER RENTS VIDEO 9. Cardinality One-to-Many Cardinality

  12. 1 TEACH N N ENROLL M FACULTY COURSE STUDENT 1:N Cardinality N:M Cardinality Colleen John Andrew Jordan Sean Jody Walt Rieta Tracey Doris Linda MGS 602 MGS 351 MGS 404 MGS 606 Cerveny Lotfi 9. Cardinality One-to-Many and Many-to-Many Cardinality

  13. Jordan Mike Rieta Colleen Sean Jody Walt Andrew Larry Whitney Barb John EMPLOYEE MARRIED-TO EMPLOYEE 9. Cardinality One-to-One Recursive Relationship(일대일 재귀적 관계) 1 MARRIED-TO EMPLOYEE 1 재귀 관계는 개체가 개체 자신과 연결되는 관계를 말함.

  14. FACULTY TEACH COURSE 9. Cardinality 1:N 관계의 최소/최대 Cardinality Upper bound = maximum cardinality Lower bound = minimum cardinality Upper bound Upper bound Lower bound Lower bound 0 : 1 0 : 4 1:N 관계 N:M 관계의 최소/최대 Cardinality COURSE STUDENT ENROLL 1 : 7 0 : N N:M 관계

  15. Upper bound Lower bound 0 : 1 MARRIED-TO EMPLOYEE 0 : 1 Lower bound Upper bound 9. Cardinality 1:1 재귀 관계의 최소/최대 Cardinality 선택적/의무적 관계(Optional/Mandatory Relationship) • 선택적 관계(Optional Relationship) - Minimum cardinality가 0인 관계 • 의무적 관계(Mandatory Relationship) - Minimum cardinality가 1인 관계 COURSE STUDENT ENROLL 1 : 7 0 : N 강좌에서 학생관계 = 선택적 관계 학생에서 강좌관계 = 의무적 관계

  16. 9. Cardinality 다양한 Cardinality 표현방식 COURSE STUDENT ENROLL (0 , N) (1 , 7) A. COURSE STUDENT ENROLL 1 : 7 0 : N B. COURSE STUDENT ENROLL N 7 C. COURSE STUDENT ENROLL D.

  17. 10. ER 다이어그램을 관계형 테이블로 변환 • 기본 변환 규칙: • 1:1 관계의 경우, 모든 속성은 하나의 테이블로 합친다. • 1:N 관계의 경우, ‘1’에 해당하는 개체의 키속성을 ‘N’에 해당하는 개체에 추가한다. • N:M 관계의 경우, 두 개체의 키속성들로 이루어진 새로운 테이블을 생성한다. • ===> NULL속성 최소화를 보장하지 못함!!! • Optional-Max 변환 원리: • 기본 변환 규칙의 경우, 최대 대응수만으로 결정함. • 최소 대응수가 0, 최대 대응수가 1인 개체의 경우, 임시로 ‘Many(N)’으로 취급함. • 임시 대응수로 변경한 후, 기본변환 규칙에 따라 관계형 테이블로 변환. • ===> NULL속성 최소화를 보장!!!

  18. 10. ER 다이어그램을 관계형 테이블로 변환 Optional-Max 변환 규칙: 1. ER 다이어그램을 그리고 최대/최소 대응수를 표시한다. 다중값 속성은 개체로 표시한다. 2. 최소/최대 대응수가 0과 1인 곳은 모두 ‘N’으로 임시 표시한다. 최대 대응수가 1 초과인 경우는 그대로 둔다. 3. 모든 개체의 이름을 테이블 이름으로 사용한다. 4. 각 테이블의 키 속성을 결정한다. 5. 개체의 모든 속성을 테이블의 컬럼으로 구성한다. 주의:규칙 6,7,8은 최대 대응수에 따른다. 1이상의 최대 대응수는 ‘Many(다, N)’으로 취급한다 6. 1:1 관계의 경우, 참여하는 개체의 모든 속성을 하나의 테이블로 합쳐 구성한다. 7. 1:N 관계의 경우, ‘1’에 해당하는 개체의 키 속성을 ‘N’에 해당하는 개체의 속성으로 추가한다. 추가된 속성은 외래키(Foreign Key)가 된다. 8. N:M 관계의 경우, 새로운 테이블을 생성하고, 관계명을 테이블 이름으로 사용한다. 새로운 테이블은 교차 테이블(Intersection table)이라 한다. 교차 테이블의 키는 관계에 참여하는 개체들의 키 조합이 된다. 추가된 각 키 속성은 외래키가 된다. 9. 개체나 관계의 추가적인 속성은 같은 이름으로 해당 테이블의 컬럼이 된다. 복합 속성의 경우, 단순 속성으로 분리하여 변환한다.

  19. N FACULTY TEACH COURSE 0 : 1 0 : 4 0 : 7 ENROLL These are temporary labels for the upper cardinality bounds. 0 : N STUDENT N 1 : 1 0 : 1 1 : N HAS STUD_MAJ ASSIGNED 1 : 1 1 : 1 0 : 1 N HOME ADDRESS MAJOR LOCKER 10. ER 다이어그램을 관계형 테이블로 변환 Optional-Max 변환을 위한 임시 ‘Many(N)’

  20. 10. ER 다이어그램을 관계형 테이블로 변환 1:1 관계의 변환 L_NAME F_NAME STUDENT HAS HOME ADDRESS 1 : 1 1 : 1 H_STREET SID H_CITY H_STATE Attribute posting STUDENT (SID, F_NAME, L_NAME, H_STREET, H_CITY, H_STATE) STUDENT테이블로 합쳐짐.

  21. H_STATE 10. ER 다이어그램을 관계형 테이블로 변환 1:N 관계의 변환 H_CITY H_STREET DESCRIP -TION 1 : N 1 : 1 STUDENT STUD_MAJ MAJOR L_NAME F_NAME MAJ_ID SID Foreign key posting STUDENT (SID, MAJ_ID, F_NAME, L_NAME, H _STREET, H_CITY, H_STATE) MAJOR (MAJ_ID, DESCRIPTION) ‘1’에 해당하는 테이블의 키속성이 ‘N’에 해당하는 테이블에 추가되어 Foreign Key가 됨.

  22. CREDITS H_STATE CID 10. ER 다이어그램을 관계형 테이블로 변환 N:M 관계의 변환 H_CITY H_STREET L_NAME COURSE ENROLL STUDENT C_NAME 1 : 7 0 : N F_NAME SID Foreign key posting COURSE (CID,C_NAME,CREDITS) ENROLL (CID, SID) STUDENT (SID, MAJ_ID, _NAME,L_NAME, H _STREET,H_CITY,H_STATE) 두 테이블의 키속성으로 이루어진 신규 테이블 생성되고, 이 테이블의 기본키는 CID와 SID의 조합이다.

  23. 10. ER 다이어그램을 관계형 테이블로 변환 선택적(Optional) 관계의 변환 !:N 관계를 임시로 N:M관계로 취급하여 변환. Lower cardinality bound of 0 indicates optional relationship. Upper cardinality bound of 1 is temporarily labeled an N for optional relationships. CREDITS L_NAME N C_NAME FACULTY 0 : 1 TEACH 0 : 4 COURSE F_NAME FID CID Foreign key posting FACULTY (FID,F_NAME,L_NAME) TEACH (FID,CID) COURSE (CID,C_NAME,CREDITS) New intersection table

  24. H_STATE 10. ER 다이어그램을 관계형 테이블로 변환 양방향 선택적(Optional) 관계의 변환 H_CITY H_STREET N N STUDENT ASSIGNED LOCKER L_NAME 0 : 1 0 : 1 BUILDING LID F_NAME SID Foreign key posting STUDENT (SID,MAJ_ID, F_NAME,L_NAME, ASSIGNED (SID,LID,BUILDING) LOCKER (LID,BUILDING) H _STREET,H_CITY,H_STATE) New intersection table

  25. 10. ER 다이어그램을 관계형 테이블로 변환 Is-a관계의 변환 L_NAME F_NAME SEX STUDENT (SID,F_NAME,L_NAME,SEX,AGE) SID STUDENT AGE 1 : 1 Foreign key posting Upper cardinality bound is temporarily labeled an N for optional relationships. ISA GRADUATE (SID,PASSED_EXAM,THESIS DATE) N N 0 : 1 0 : 1 GRADUATE UNDER- GRADUATE UNDERGRADUATE (SID,DORM_ROOM,FRATERNITY) PASSED _EXAM THESIS _DATE DORM _ROOM FRATERNITY

  26. 10. ER 다이어그램을 관계형 테이블로 변환 집단 개체의 변환 CID Indicates foreign key posting CONTAINS is a new intersection table COMPUTER (CID, MID, VID, C_DESC) COMPUTER C_DESC 0 :N 0 :N 0 :N CONTAINS (CID, HID) HAS CONTAINS CONSISTS-OF VID HID MID 0 : N 1 : 1 1 : 1 MOTHER- BOARD HARDDRIVE MONITOR H_DESC M_DESC G_DESC MOTHERBOARD (MID, M_DESC) HARDDRIVE (HID, H_DESC) MONITOR (VID, G_DESC)

  27. 10. ER 다이어그램을 관계형 테이블로 변환 1:1 재귀적 관계의 변환 Upper cardinality bbound is temporarily labeled an N for optional relationships. F_NAME L_NAME N 0 : 1 MARRIED-TO EMPLOYEE N 0 : 1 SS# Foreign key posting EMPLOYEE (SS#, F_NAME, L_NAME) MARRIED-TO (WIFE_SS#, HUS_SS#) New intersection table

  28. 10. ER 다이어그램을 관계형 테이블로 변환 1:N 재귀적 관계의 변환 F_NAME L_NAME 1 : 1 SUPERVISES EMPLOYEE 0 : N SS# Foreign key posting EMPLOYEE (SS#, SUPER_SS#, F_NAME, L_NAME)

  29. 10. ER 다이어그램을 관계형 테이블로 변환 N:M 재귀적 관계의 변환 QNTY_ON_ HAND 0 : N PART_DESC QNTY_ REQUIRED STRUCTURE PART 0 : M PART# Foreign key posting PART (PART#, PART_DESC, QNTY_ON_HAND) STRUCTURE (MAJOR_P#,MINOR P#,QNTY_REQUIRED) New intersection table

  30. ITEM (IID, DESCRIP) DESCRIP IID ITEM ADDRESS LOCATION 0 : N ORDER CUSTOMER WAREHOUSE 0 : N 0 : N CID WID Foreign key posting ORDER (CID, IID, WID) New intersection table CUSTOMER (CID, ADDRESS) WAREHOUSE (WID, LOCATION) 10. ER 다이어그램을 관계형 테이블로 변환 삼항 관계의 변환 1. 이항관계로 변환 후, 관계형 테이블로 변환하는 방법. 2. 직접 관계형 테이블로 변환하는 방법. 삼항 이상의 관계는 대부분 N:N:N이므로, 관계를 위한 신규 테이블 생성.

  31. L_NAME F_NAME STUDENT SID 10. ER 다이어그램을 관계형 테이블로 변환 성능을 위한 고려 사항(1) 관계형 데이터 모델 설계의 상반된 두 가지 목표(Trade-off관계) 1. 설계자 입장 : 데이터 비정상 및 NULL 값의 최소화. 2. DB관리자/사용자 입장 : 생성되는 테이블 수의 최소화. N:M관계이므로 일반적으로 신규 테이블 STUD_CLUB를 생성함. STUD_CLUB 1 : N CLUB 0 : 3 CID PRESIDENT C_DESC Post foreign key three times STUDENT (SID, F_NAME, L_NAME, CID1,CID2, CID3) CLUB (CID, C_DESC, PRESIDENT) NULL 값 발생할 수 있다

  32. STUDENT 0 : 1 ASSIGNED 0 : 1 LOCKER 10. ER 다이어그램을 관계형 테이블로 변환 성능을 위한 고려 사항(2) 일반적인 경우 STUDENT (SID, MAJOR_ID, F_NAME, L_NAME, ...) ASSIGNED (SID, LID, BUILDING) LOCKER (LID, BUILDING) Case 1. STUDENT (SID, MAJOR_ID, F_NAME, L_NAME, ...) LOCKER (LID, BUILDING, SID) Case 2. STUDENT (SID, MAJOR_ID, F_NAME, L_NAME, …, LID, BUILDING) LOCKER (LID, BUILDING)

More Related