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

Similar documents
슬라이드 제목 없음

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

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

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

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

슬라이드 제목 없음

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

Microsoft PowerPoint - 27.pptx

<4D F736F F F696E74202D E20B0FCB0E820B5A5C0CCC5CD20B8F0B5A8B0FA20B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20C1A6BEE020C1B6B0C7>

슬라이드 제목 없음

Microsoft PowerPoint - QVIZMVUMWURI.pptx

PowerPoint Presentation

PowerPoint Presentation

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

VENUS Express 사용자 매뉴얼

Object Oriented Analyis & Design Training Agenda

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

PowerPoint Template

untitled

MySQL-.. 1

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

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

JAVA PROGRAMMING 실습 08.다형성

PowerPoint 프레젠테이션

Microsoft PowerPoint - e pptx

윈도우시스템프로그래밍

슬라이드 제목 없음

강의 개요

The Relational Model

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

OCW_C언어 기초

PowerPoint Presentation

열거형 교차형 전개형 상승형 외주형 회전형 도해패턴 계층형 구분형 확산형 합류형 대비형 상관형 (C) 2010, BENESO All Rights Reserved 2

Spring Data JPA Many To Many 양방향 관계 예제

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

PowerPoint 프레젠테이션

제8장 자바 GUI 프로그래밍 II

PowerPoint Presentation

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

슬라이드 1

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

슬라이드 제목 없음

유니티 변수-함수.key

PowerPoint 프레젠테이션

MVVM 패턴의 이해

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

DBMS & SQL Server Installation Database Laboratory

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

12. 데이타베이스 설계

설계란 무엇인가?

00º½Çмú-¾Õ

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

C# Programming Guide - Types

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

제 11 장 다원 탐색 트리

Module 2 Active Directory Domain Services 소개

Microsoft PowerPoint App Fundamentals[Part2].pptx

쉽게 풀어쓴 C 프로그래밍

<4D F736F F F696E74202D20BFC0B6F3C5AC2D38C0E52DBAE4BFCD20BDC3BDBAC5DB20C4ABC5BBB7CEB1D72DBFC0B6F3C5AC2E BC8A3C8AF20B8F0B

Microsoft PowerPoint - Java7.pptx

쉽게 풀어쓴 C 프로그래밊

03-최신데이터

JVM 메모리구조

Microsoft PowerPoint Predicates and Quantifiers.ppt

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - 1주차 UML의 구성과 도구

chap 5: Trees

윈도우시스템프로그래밍

01-OOPConcepts(2).PDF

Windows 8에서 BioStar 1 설치하기

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

소프트웨어공학개론 강의 5: 객체지향개념 최은만동국대학교컴퓨터공학과

PowerPoint Presentation

Microsoft PowerPoint - 04_OOConcepts(2010).pptx

11장 포인터


Chapter ...

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

Slide 1

Microsoft PowerPoint Relations.pptx

PowerPoint Presentation

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

슬라이드 제목 없음

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

Microsoft PowerPoint 관계 DB의 FD와 정규화

슬라이드 제목 없음

JAVA PROGRAMMING 실습 05. 객체의 활용

09´ëÇк°¼Ò°³-¼�¿ïÄ·2

Microsoft PowerPoint - 26.pptx

PowerPoint 프레젠테이션

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

chap 5: Trees

MD-C-035-1(N-71-18)

Transcription:

2 장 : 엔티티 - 관계성데이터모델 Prof. Jin Hyun Son jhson@cse.hanyang.ac.kr Department of Computer Science & Engineering Hanyang University

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

데이터베이스모델링개요 데이터모델 (data model) 데이터와데이터들간의관계를기술하는개념적도구데이터베이스의논리적구조를명시 데이터베이스모델링과구현과정 착상 E/R 설 릴레이션 계스키마 ( 개념적설계 ) ( 구현설계 ) 관계 DBMS DBMS 가 E/R 모델을직접사용하지는않음 3

E/R 모델의요소 엔티티 - 관계성 (Entity-Relationship:E/R) 다이어그램 데이터베이스모델링을그래피컬하게표현 E/R 다이어그램의세가지구성요소 엔티티집합 (entity set) 유사한엔티티들의집합, 엔티티는객체에해당애트리뷰트 (attribute) 엔티티의특성을기술하는값관계성 (relationship) 둘이상엔티티집합들간의연결 4

E/R 모델의요소 ( 계속 ) name address title year Stars-in Stars Movies name length filmtype Owns Studios address 영화데이터베이스를위한 E/R 다이어그램 5

E/R 모델의요소 ( 계속 ) E/R 다이어그램의인스턴스 (instance) E/R 다이어그램은데이터베이스의구조를기술하는표기법데이터베이스의구조기술 : 스키마 인스턴스 : 스키마에특정값들이배정 ( 예 ) Stars-in 관계성의한인스턴스 Movies Basic Instinct Total Recall Total Recall Stars Sharon Stone Arnold Schwarzenengger Sharon Stone 6

E/R 모델의요소 ( 계속 ) E/R 관계성의다중연관성 (multiplicity) 다대다 (many-many) 관계성 Movies n Stars-in n Stars 다대일 (many-one) 관계성 Movies n Owns 1 Studios 일대일 (one-one) 관계성 Studios 1 Runs 1 Presidents 7

E/R 모델의요소 ( 계속 ) 다중방향 (multiway) 관계성 세개이상의엔티티집합들이참여하는관계성 ( 예 ) 관계성 Contracts: 영화사가제작하는영화에 출연하는스타와의계약 Stars Contracts Movies Studios 다중방향관계성은그리흔치는않다.» 이진 (binary) 관계성이일반적 8

E/R 모델의요소 ( 계속 ) 화살표의의미 엔티티 E 로화살표가있다고하자. 다른엔티티집합들로부터엔티티를각각하나씩선정하면,» E 에는이들에대응하는엔티티가많아야하나존재 이진관계성에서도위와같은의미 9

E/R 모델의요소 ( 계속 ) 관계성에서의역할 (role) 한엔티티집합이한관계성에서두번이상사용가능엔티티는각라인 ( 즉, 관계성에의참여 ) 에대해서로다른 역할 Original ( 예 ) 영화의후속편을나타내는관계성 Sequel-of Sequel-of Movies Sequel 관계성에서두영화들을구별하기위하여, 한선에는역할 Original 이표기, 다른선에는역할 Sequel 이표기 10

E/R 모델의요소 ( 계속 ) ( 예 ) 관계성 Contracts 스타가소속된스튜티오는그스타가 ( 다른스튜디오에서제작되는 ) 특정영화에출연할수있도록다른스튜디오와계약가능 Stars Movies Contracts 스타가소속된스튜디오 Studio of star Producing studio 영화를제작하는스튜디오 Studios 관계성을나타내는튜플 : (studio1, studio2, star, movie) 11

E/R 모델의요소 ( 계속 ) 관계성에있는애트리뷰트 관계성이애트리뷰트를가질수도있다 ( 예 ) 스타가영화에출연할때받는 salary 를표시 salary Movies Contracts Stars 애트리뷰트 salary 는 Studios, Movies, Stars 어느것의애트리뷰트도아님 Studios 12

E/R 모델의요소 ( 계속 ) 애트리뷰트를반드시관계성에위치시키지않아도됨 salary Salaries Movies Contracts Stars Studios 13

E/R 모델의요소 ( 계속 ) 다중방향관계성을이진관계성으로변환 다중방향관계성은여러개의이진 (binary) 다대일관계성들로변환가능 연결 (connecting) 엔티티집합생성 다중방향관계성을엔티티로모델 연결엔티티집합과기존엔티티집합을다대일관계성들에의한연결로모델 14

E/R 모델의요소 ( 계속 ) ( 예 ) 관계성 Contracts: 다중방향관계성 vs. 이진관계성들 Stars Movies Stars Movies Studio of star Contracts Producing studio (st1, ct1) Star-of Contracts Movie-of (mv1, ct1) Studios Studio of star Producing studio (ct1, sd1) (ct1, sd2) Studios Contracts 관계성 : (sd1, sd2, st1, mv1) 15

E/R 모델의요소 ( 계속 ) 연결엔티티집합이더적합한경우 ( 예 ) 영화제작에임의의여러스튜디오들이참여할수있다고하자.» ( 예 ) 제작, 특수효과, 배포담당회사등 Contracts 에스튜디오들의집합이대응» (star, movie, set-of-studios) Contracts 를다중방향관계성으로모델하면, Contracts 관계성의한인스턴스에대해» studio 들의집합이대응즉, studio 집합이하나의엔티티 인엔티티집합이필요 Contracts 를연결엔티티집합으로모델하는것이더적절 16

E/R 모델의요소 ( 계속 ) Stars Movies Star-of Movie-of Contracts Contracts 와 Studios 사이의 관계성은 Many-many Studios-of Studios 17

E/R 모델의요소 ( 계속 ) E/R 모델에서의서브클래스 일부엔티티들이그엔티티집합의모든멤버들이가지고있지는않은특별한특성을가질수도있음 서브클래스 (subclass) 이러한일부엔티티들을위해추가로정의된엔티티집합 isa 관계성 클래스-서브클래스관계성삼각형으로표시 isa 관계성은 one-one 18

E/R 모델의요소 ( 계속 ) ( 예 ) Cartoons 와 MurderMysteries 를 Movies 엔티티 집합의서브클래스로모델 length title year filmtype To Stars Movies Voices isa isa weapon Cartoons MurderMysteries isa Hierarchy 19

설계원칙 충실성 (faithfulness) 설계는다루고자하는상황을충실하게나타내야함 ( 예 ) 관계성 Stars-in» 엔티티집합 : Stars, Movies 다중연관성 : many-many 관계성이적절 ( 예 ) 관계성 Teaches» 엔티티집합 : Courses, Instructors 다중연관성 : many-one 또는 many-many 학교의정책에따라결정 20

설계원칙 ( 계속 ) 중복 (redundancy) 회피 하나의사실을나타내기위해, 가능한하나의정보만을유지중복이있으면, 저장공간낭비정보의비일관성 (inconsistency) ( 예 ) 영화의소유권을가지고있는스튜디오 관계성 Owns: 엔티티집합 Movies 와 Studios 애트리뷰트 studioname: 엔티티집합 Movies 의애트리뷰트 21

설계원칙 ( 계속 ) title year name address Movies Stars-in Stars length filmtype name Owns Studios address Not Good!!! title year name address Movies Stars-in Stars length filmtype studio name 22

설계원칙 ( 계속 ) 단순화 (simplicity) 필요이상의요소는설계에포함시키지않음 ( 예 ) 특정영화의소유권을나타내는 Holdings 라는엔티티집합을가정해보자. Movies Owns Studios Movies Represents Holdings Owns Studios 기술적으로잘못된점은없으나, Holdings 는불필요하게복잡도만높임 23

설계원칙 ( 계속 ) 올바른관계성의선택 존재하는모든관계성을모델하는것은부적절 정보표현의중복발생 24

설계원칙 ( 계속 ) ( 예 ) 아래 E/R 다이어그램을고려해보자. title year Stars-in length filmtype Movies Contracts Stars name address Owns Studios name address 25

설계원칙 ( 계속 ) Owns 관계성이필요한가? 다음의경우불필요 각 movie 에는 contract 관계성이반드시존재한다. Owns 관계성을만들어낼수있음 다음의경우필요함 movie 에따라 contract 관계성이없을수도있다고하자.» 예를들어, 출연하는스타가정해지지않은경우 Owns 관계성을만들어낼수없음 Stars-in 관계성의경우도이와유사 관계성의필요여부는예상되는실제상황에따라결정 26

설계원칙 ( 계속 ) ( 예 ) 아래 E/R 다이어그램을고려해보자. Stars-in Stars Movies Worksfor Owns Studios 27

설계원칙 ( 계속 ) Works-for 관계성이필요한가? 다음의경우불필요 Works-for 의의미» 스타가이스튜디오의영화에출연 Stars-in 과 Owns 로부터 Works-for 관계성을만들어짐 다음의경우필요함 Works-for 의의미» 영화출연과무관 28

설계원칙 ( 계속 ) 올바른요소의선택 실세계의개념을모델 애트리뷰트로표현??? 엔티티집합 / 관계성으로표현??? 29

설계원칙 ( 계속 ) ( 예 ) 아래 E/R 다이어그램에서, 스튜디오엔티티집합대신, 스튜디오의이름과주소를영화의애트리뷰트로만들면, title year Movies Owns length filmtype name Studios addr a title year Movies length filmtype name addr 주소의반복 ( 각영화마다 ) 어떤스튜디오가소유하는영화가하나도없으면, 그스튜디오의주소도잃어버리게됨. 30

설계원칙 ( 계속 ) 스튜디오의이름뿐만아니라주소등과같이좀더많은정보를필요로한다면 엔티티집합으로만드는것이바람직 그러나, 단지스튜디오이름만필요하다면, 애트리뷰트로만드는것이더좋다. 31

설계원칙 ( 계속 ) 애트리뷰트로모델하는것이바람직한조건 엔티티집합을 E 라고하자. E 와연관된관계성에서 E 쪽은 one E 쪽이 many 일때 E 를애트리뷰트로대치하면, 다중값발생 E 에있는모든애트리뷰트는상호독립 ( 예 ) Studios 엔티티집합에서, address 는 name 과독립아님, 따라서조건을만족하지않음 애트리뷰트로할경우, 정보의중복현상 E 가두번이상참가하는관계성은없음 애트리뷰트로할경우, 관계성정보유실 ( 예 ) Sequel-of 와같은관계성이 E 에있으면조건만족안함 위조건들을만족하면, 엔티티집합을애트리뷰트로대치가능 32

설계원칙 ( 계속 ) 엔티티집합 E 를애트리뷰트로대치 E 와연관된관계성을 R 이라하자 관계성 R 이이진관계성인경우 E 와 R 을제거 E 의애트리뷰트를, R 과연관된다른엔티티집합 F 로이동 f1 e1 f1 e1 F R E a F 33

설계원칙 ( 계속 ) 관계성 R 이다중방향관계성인경우 엔티티집합 E 를제거 E 의애트리뷰트를관계성 R 의애트리뷰트로이동 salary Salaries Contracts a salary Contracts Movies Studios Stars Movies Studios Stars 34

제약 (constraint) 모델링 제약 (constraint) 실세계를올바르게나타낼수있도록데이터베이스를유지 제약의분류 키 (key) 엔티티집합에서엔티티를유일하게구별할수있는하나또는둘이상애트리뷰트들의집합 단일값 (single-value) 제약 중복된값이나타나면안됨 key 제약은단일값제약의의미포함 many-one 관계성도단일값제약의예 35

제약모델링 ( 계속 ) 참조무결성 (referential integrity) 제약 어떤다른객체에의해참조되는값이데이터베이스에반드시존재해야함. 도메인 (domain) 제약 애트리뷰트의값이특정값의집합에속해야함. 일반 (general) 제약 데이터베이스에서지켜져야할임의의무결성단정 (assertion) 을의미. 36

제약모델링 ( 계속 ) 키 (key) E: 엔티티집합키 : 하나이상애트리뷰트의집합 K E 에있는엔티티 e 1 과 e 2 는키 K를구성하는모든애트리뷰트에동일한값을가질수없다. ( 예 ) Movies: (title, year), Studios: name, Stars: (name, address) 설계자가유일한 ID 를생성해서사용하기도함 ( 예 ) student-id, employee-id 37

제약모델링 ( 계속 ) 한엔티티집합에둘이상의키들이존재가능 ( 예 ) Students 엔티티집합을가정해보자키 : student-id 와 social-security-number 각각이키가능 isa 계층구조에서 키를구성하는모든애트리뷰트는, 모두 root 엔티티집합에존재 38

제약모델링 ( 계속 ) E/R 모델에서키의표현 키에속하는애트리뷰트에밑줄 title Movies year Stars-in Stars name address length filmtype E/R 모델은키가두개이상존재하는것을나타내는 표기법은제공하지않는다. 주석등으로처리하기도한다. 39

제약모델링 ( 계속 ) 단일값 (single value) 제약 많아야하나의값만가질수있다는제약 단일값제약을가진애트리뷰트 키에속하는애트리뷰트애트리뷰트의값이반드시존재키에속하지않는애트리뷰트애트리뷰트의값이없는경우, 널 (null) 값이사용될수도있음» 널값은애트리뷰트에대한유효한정보가없을때사용 40

제약모델링 ( 계속 ) E/R 모델에서단일값제약표현 모든애트리뷰트는단일값을갖는다고간주값이 NULL 이될수없다는표기법은별도로없음 many-one 관계성» 엔티티집합 E 로부터, 엔티티집합 F 로, (E F) E 에있는엔티티 e 는단일값제약 41

제약모델링 ( 계속 ) 참조무결성제약 관계성에서참조되는엔티티는반드시존재해야한다. ( 예 ) 관계성 Owns 엔티티집합 Movies 로부터 Studios 로 Movie 를소유하는 studio 가반드시존재해야하는가? 단순한 many-one 관계성은이제약을나타내고있지는않음 Many-one 관계성에서 one 이반드시존재해야한다는 제약으로볼수있음 42

제약모델링 ( 계속 ) 참조무결성제약이지켜지도록하기위한방법참조되는객체의삭제를금지참조되는객체가삭제되면, 이객체를참조하고있던모든객체도같이삭제 참조하는객체가새로만들어지면, 기존에존재하는객체가관계성으로연결 관계성에서참조되는객체와의연결을변경하려면, 새로연결되는참조되는객체는반드시이미존재하는객체 43

제약모델링 ( 계속 ) E/R 다이어그램에서참조무결성표현 둥근화살표사용 둥근화살표는다음을표시 참조무결성제약 Movies Owns Studios Runs President s 44

제약모델링 ( 계속 ) 도메인제약 애트리뷰트의값은어떤제한된집합에있어야함 ( 예 ) 애트리뷰트타입선언 ( 예 ) 0 length 240 45

제약모델링 ( 계속 ) 관계성의차수 (degree) 에대한제약 관계성에참여하는엔티티의수를제한에지에숫자를기입하여표시 10 Movies Stars-in Stars 화살표는 1 제약 둥근화살표는 = 1 제약 46

약엔티티집합 약엔티티집합 (weak entity set) 키의일부또는전부가다른엔티티집합에있는애트리뷰트들로만들어진엔티티집합 오너 (owner) 엔티티없이는식별될수없음 ( 예 ) Studios 의하부조직인 Crews number name address 약엔티티집합 : Crews Unit-of Studios 지원 (supporting) 관계성 : 47

약엔티티집합 ( 계속 ) 약엔티티집합의요인 분류관점에서계층구조상의하부조직 / 분류 ( 예 ) Studios 와 Crews ( 예 ) 종 (species) 은 속 (genus) 의하부분류 name name Homo Sapiens genus species Species Belongs-to Genus species names are not unique 48

약엔티티집합 ( 계속 ) 연결엔티티집합 연결엔티티집합의키연결시키는엔티티집합의키들이모여구성» 또는, 설계자가별도로키애트리뷰트생성 ( 예 ) Contracts: 다중방향관계성과연결엔티티집합 salary Salaries Contracts Movies Studios Stars 49

약엔티티집합 ( 계속 ) salary Contracts Star-of Studio-of Movie-of Stars Studios Movies length filmtype name addr name addr title year 50

약엔티티집합 ( 계속 ) 약엔티티집합에대한요구사항 약엔티티집합 W W R S 관계성 R: 지원관계성 (supporting relationship)» many-one 엔티티 S: 강엔티티집합 (strong entity set) 약엔티티집합 W 의키 자신의애트리뷰트 ( 종종없는경우가많음 ) + W 로부터관계성 R 로연결된엔티티집합 S 의키애트리뷰트 51

약엔티티집합 ( 계속 ) 지원관계성 R 의조건 1) W 로부터 S 로이진 many-one 관계성» one-one 은 many-one 의특별한경우 2) W 로부터 S 로참조무결성제약을가짐 W R S 3) W 의키의일부로사용된 S 의애트리뷰트는,» S 의키애트리뷰트 4) S 도약엔티티집합이면,» 위의 (1), (2), (3) 과정이 S 에같은요령으로적용 52