Converting ER Diagrams to Relational Tables

Slides:



Advertisements
Similar presentations
The 3rd Amado Photography Award
Advertisements

Introduction to dATABASE
ER Schema (추가)
데이터베이스 9주차 : 데이터베이스 설계 2교시 : 데이터베이스 설계(3)
Chapter 7: Entity-Relationship 모델
소프트웨어시스템 실험 Software Systems Lab. (2012년 2학기) 강의 소개
데이터 모델링 방법론 2003년 03월.
4. 데이터 기능 유형.
Smart-phone 액정교체 비용 40만 원 2013년 model 12.0만 원 엣지model 30만 원 20만 원
실전 데이터모델링 & 데이터베이스 설계와 구축
제약 조건 부모 테이블 자식 테이블 입 력 수 정 삭 제  관계형성을 통한 참조 무결성
Entity Relationship Diagram
Chapter 02. 데이터 모델링.
                              데이터베이스 설계 및 실습 #8 - ER-Win 한국외국어대학교 DaPS 연구실                              
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
제 3 장 엔티티-관계(ER) 모델을 사용한 데이타 모델링
6장 Mysql 명령어 한빛미디어(주).
에어로플랜에 가입하기 1. Title Title을 입력한다. 성과 이름을 잘 구분하여 입력한다. 생년월일을 기입한다.
MySQL 및 Workbench 설치 데이터 베이스.
소프트웨어공학 UML 학기.
2장. E/R 데이터 모델 엔티티-관계성 (Entity-Relationship) 모델의 요소 설계 원칙
6 장. ER-관계 사상에 의한 관계 데이터베이스 설계
데이터베이스 설계와 ER 모델 설계, ER 모델링.
Data Modeling Database 활용을 위한 기초 이론 Database의 개요 Data Modeling
6장 그룹 함수.
ER-Win 사용 방법.
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
08. 데이터 모델링.
UML exercise in Class.
제 3 장 관계 데이타 모델과 관계 데이타베이스 제약조건
제 7 장 엔터티-관계를 사용한 개념적 데이타 모델링
설계 단계 개념적 설계 ER 다이어그램 논리적 설계
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
Project Specification - 학사관리 시스템 과제 2번
4. 관계 데이터베이스 (Relational Database)- 7, 8장
ER-Win 4.0 Database Modeling Ⅰ. Logical Design
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall
ER-관계 사상에 의한 관계 데이터베이스 설계
데이터베이스 설계도구 ERwin 사용법(Erwin 4.1.4)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
4. 관계 데이터 모델.
학습목표 학습목표 본 장은 데이터베이스를 구성하는 개체, 속성, 관계 등을 다룬다. 특별히 데이터베이스의 구조를 테이블에 기초하여 조직하는 관계 데이터 모델은 개체(entity)와 관계(relationship) 들이 테이블의 집합 형태로 되어 간단하고 이해하기 쉬우며.
Database Management System
                              데이터베이스 설계 및 실습 #8 - ER-Win 한국외국어대학교 DaPS 연구실                              
CHAP 21. 전화, SMS, 주소록.
Database Relational DML SQL.
Data Warehouse 구축 (설계 위주)
제 8 장 ER-관계 사상에 의한 관계 데이타베이스 설계
상세 개념적 모델링. 상세 개념적 모델링 정규화를 하는 이유 데이터의 중복성 제거 데이터 모형의 단순화 Entity, Attribute의 누락 여부검증 데이터 모형의 안전성 검증.
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
Chapter 10 데이터 검색1.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
4장. 데이터 모델링 데이터 모델링과 데이터 모델의 개념 개체-관계 모델 논리적 데이터 모델.
Physical Database Design
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
켈러의 경영경제통계학 제11장 모집단에 관한 추론.
ER-관계 사상에 의한 관계 데이터베이스 설계
07. DB 설계 명지대학교 ICT 융합대학 김정호.
Chapter 2: Intro to Relational Model
ER-관계 사상에 의한 관계 데이터베이스 설계
14 뷰(View) 뷰의 개념 뷰 관리.
 6장. SQL 쿼리.
데이터베이스 설계 데이터의 분석 개체 관계.
8장. 데이터베이스 설계 데이터베이스 설계 단계 요구 사항 분석 개념적 설계 논리적 설계 물리적 설계와 구현.
CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건. CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건.
엔티티-관계(ER) 모델을 사용한 데이터 모델링
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10. ER 다이어그램을 관계형 테이블로 변환 Optional-Max 변환 규칙: 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. 개체나 관계의 추가적인 속성은 같은 이름으로 해당 테이블의 컬럼이 된다. 복합 속성의 경우, 단순 속성으로 분리하여 변환한다.

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

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

10. ER 다이어그램을 관계형 테이블로 변환 1:N 관계의 변환 Foreign key posting H_CITY H_STATE H_STREET DESCRIP -TION L_NAME STUDENT 1 : N STUD_MAJ 1 : 1 MAJOR F_NAME SID MAJ_ID 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가 됨.

10. ER 다이어그램을 관계형 테이블로 변환 N:M 관계의 변환 Foreign key posting CREDITS H_STATE H_CITY H_STREET C_NAME COURSE L_NAME 1 : 7 ENROLL 0 : N STUDENT CID 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의 조합이다.

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. L_NAME CREDITS N F_NAME FACULTY 0 : 1 TEACH 0 : 4 COURSE C_NAME FID CID Foreign key posting FACULTY (FID,F_NAME,L_NAME) TEACH (FID,CID) COURSE (CID,C_NAME,CREDITS) New intersection table

양방향 선택적(Optional) 관계의 변환 10. ER 다이어그램을 관계형 테이블로 변환 양방향 선택적(Optional) 관계의 변환 H_CITY H_STATE H_STREET N N L_NAME STUDENT 0 : 1 ASSIGNED 0 : 1 LOCKER LID BUILDING 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

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

10. ER 다이어그램을 관계형 테이블로 변환 집단 개체의 변환 COMPUTER (CID, MID, VID, C_DESC) 집단 개체의 변환 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 HID VID MID 1 : 1 0 : N 1 : 1 MOTHER- BOARD HARDDRIVE MONITOR M_DESC H_DESC G_DESC MOTHERBOARD (MID, M_DESC) HARDDRIVE (HID, H_DESC) MONITOR (VID, G_DESC)

10. ER 다이어그램을 관계형 테이블로 변환 1:1 재귀적 관계의 변환 Foreign key posting 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

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)

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

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

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

10. ER 다이어그램을 관계형 테이블로 변환 성능을 위한 고려 사항(2) 일반적인 경우 Case 1. Case 2. STUDENT LOCKER ASSIGNED 0 : 1 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)