1 3 장. 개체 - 관계 (ER) 모델을 사용한 데이타 모델링 3.1 데이타베이스 설계를 위한 고수준의 개념적 데이타 모델의 사용 3.2 예 3.3 ER 모델의 개념 3.4 개체 - 관계 ( ER ) 다이어그램에 대한 표기법 3.5 스키마 구조물들에 대한 적절한 이름.

Slides:



Advertisements
Similar presentations
제 3 장 개체 - 관계 (ER) 모델을 사용한 데이타 모델링 Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe Copyright© 2002 황규영 홍의경 음두헌 박영철 김진호 조완섭.
Advertisements

제 4 장 관계 데이타 모델과 관계 데이타베이스 제약조건
ER Schema (추가)
Chapter 7: Entity-Relationship 모델
2장. 데이터 모델.
Chapter 06 데이터 모델링.
1. 관계 데이터베이스의 정규화 (1) 정규화 1) 이상(anomaly) ① 이상의 정의 • 관계 모델에서는 애트리뷰트들 간에 존재하는 여러 종속관계를 하나의 릴레이션에 표현하기 때문에 릴레이션 조작 시 이상 (anomaly) 발생 • 데이터의 중복으로 인하여 관계연산을.
의사 결정 트리(decision tree)
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
개체-관계 (Entity-Relationship)모델
Entity Relationship Diagram
제 4 장 관계 학기 소프트웨어설계.
SQL: 데이터 정의, 제약사항, 기본 질의와 갱신
8장 서브 쿼리.
질의처리 최적화 충북대학교 정보통신공학부 복경수
제 3 장 엔티티-관계(ER) 모델을 사용한 데이타 모델링
ER-Win의 설치와 활용.
MySQL 및 Workbench 설치 데이터 베이스.
2장. E/R 데이터 모델 엔티티-관계성 (Entity-Relationship) 모델의 요소 설계 원칙
                              데이터베이스 설계 및 실습 #9 - 논리적 모델링 한국외국어대학교 DaPS 연구실                              
6 장. ER-관계 사상에 의한 관계 데이터베이스 설계
Chapter 06 데이터 모델링.
데이터베이스 설계와 ER 모델 설계, ER 모델링.
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소의 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS 시제품은.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
관계 대수.
5장. 데이터베이스 설계와 ER 모델 데이터베이스 설계 개념적 데이터베이스 설계와 물리적 데이터베이스 설계로 구분
5장. 관계대수와 관계 해석 관계 대수 릴레이션들을 다루는 연산들의 집합 검색 요구(질의)를 기술하는 데에 사용
08. 데이터 모델링.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
23장. 구조체와 사용자 정의 자료형 2.
데이터베이스 (Databases) ER 모델을 사용한 데이터 모델링 문양세 강원대학교 IT대학 컴퓨터과학전공.
데이터베이스 (Databases) 관계 데이터베이스의 함수적 종속성과 정규화 문양세 강원대학교 IT대학 컴퓨터과학전공.
제7장 SQL-99: 스키마 정의, 제약조건, 질의어, 뷰
제 3 장 관계 데이타 모델과 관계 데이타베이스 제약조건
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
제 7 장 엔터티-관계를 사용한 개념적 데이타 모델링
설계 단계 개념적 설계 ER 다이어그램 논리적 설계
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
관계 데이터 모델과 관계 데이터베이스 제약 조건
ER-관계 사상에 의한 관계 데이터베이스 설계
데이터베이스 설계도구 ERwin 사용법(Erwin 4.1.4)
1. 데이터 모델 개념 (1) 정보 모델링과 데이터 모델링 1) 정보 모델링 (information modeling) ① 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조 (현실 세계에 대한 인식을 추상적 개념으로 표현)로 표현하는 과정 ② 정보 모델링을.
2장. 변수와 타입.
Chapter 03. 관계 데이터베이스 설계.
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
05. Relational DBMS 명지대학교 ICT 융합대학 김정호.
문성우 SQL 실습 Part Ⅰ 문성우.
제 8 장 ER-관계 사상에 의한 관계 데이타베이스 설계
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
8.5 사람의 유전은 어떻게 연구하는가.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
4장. 데이터 모델링 데이터 모델링과 데이터 모델의 개념 개체-관계 모델 논리적 데이터 모델.
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
.Net FrameWork for Web2.0 한석수
제 4 장 Record.
07. DB 설계 명지대학교 ICT 융합대학 김정호.
ER-관계 사상에 의한 관계 데이터베이스 설계
 6장. SQL 쿼리.
                              데이터베이스 설계 및 실습 #6 - SQL 실습 한국외국어대학교 DaPS 연구실                              
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
데이터베이스 설계 데이터의 분석 개체 관계.
8장. 데이터베이스 설계 데이터베이스 설계 단계 요구 사항 분석 개념적 설계 논리적 설계 물리적 설계와 구현.
엔티티-관계(ER) 모델을 사용한 데이터 모델링
Presentation transcript:

1 3 장. 개체 - 관계 (ER) 모델을 사용한 데이타 모델링 3.1 데이타베이스 설계를 위한 고수준의 개념적 데이타 모델의 사용 3.2 예 3.3 ER 모델의 개념 3.4 개체 - 관계 ( ER ) 다이어그램에 대한 표기법 3.5 스키마 구조물들에 대한 적절한 이름 지정 진 이상의 관계 타입 3.7 요약

2 3.1 데이타베이스 설계를 위한 고수준의 개념적 데이타 모델의 사용 [ 그림 3.1] 데이타베이스 설계의 단계들 작은세계 요구사항들의 수집과 분석 데이타베이스 요구사항들 개념적 설계 개념 스키마 ( 고수준 데이타 모델로 표현됨 ) 논리적 설계 ( 데이타 모델 사상 ) 논리적 ( 개념 ) 스키마 ( 특정 DBMS 의 데이타 모델로 표현됨 ) 물리적 설계 내부 스키마 ( 같은 DBMS 에 대한 ) 기능적 요구사항들 기능적 분석 응용 프로그램 설계 트랜잭션 구현 고수준의 트랜잭션 명세 DBMS 에 독립적 DBMS 에 의존 응용 프로그램들

3 3.2 예 COMPANY 데이타베이스의 작은 세계 – 회사는 여러 부서들로 구성된다. 각 부서마다 고유한 이름, 고유한 번호, 부서를 관리하는 특정 사원이 있다. 사원이 부서를 관리하기 시작한 날짜도 유지한다. 한 부서는 여러 위치를 가질 수 있다. – 한 부서는 여러 프로젝트들을 관리한다. 각 프로젝트는 고유한 이름, 고유한 번호, 한 개의 위치를 갖는다. – 각 사원에 대해서 이름, 주민등록번호, 주소, 급여, 성별, 생년월일을 저장한다. 한 사원은 한 부서에만 속해 있지만, 여러 프로젝트에서 일할 수 있다. 한 사원이 근무하는 프로젝트들은 그 사원이 소속된 부서가 관리하는 프로젝트가 아니어도 무방하다. 반드시 그 부서의 각 사원이 각 프로젝트를 위해 일하는 주당 근무 시간을 기록한다. 또한 각 사원의 직속 상사도 유지한다. – 보험 목적을 위해서 각 사원의 부양가족들을 기록한다. 각 부양가족에 대해서 이름, 성별, 생년월일, 사원과의 관계를 기록한다.

4 FnameMinitLname NameAddress SexSalary Ssn Bdate EMPLOYEE WORKS_FOR StartDate NumberOfEmployees MANAGES SUPERVISION Number Name Locations DEPARTMENT CONTROLS PROJECT Name Location Number Hours WORKS_ON DEPENDENTS_OF DEPENDENT SexNameBirthDateRelationship supervisor 1N supervisee N 1 MN N 1 N 1 11 [ 그림 3.2] COMPANY 데이타베이스를 위한 ER 스키마 다이어그램

5 3.3 ER 모델의 개념 엔티티와 애트리뷰트 엔티티 타입, 값집합, 키 애트리뷰트 관계, 역할, 구조적 제약조건 약한 엔티티 타입 ( weak entity type ) COMPANY 데이타베이스에 대한 ER 설계 개선

엔티티와 애트리뷰트 사원 엔티티 e 1 과 회사 엔티티 c 1 Name = John Smith Addres = 2311 Kirby, Houston, Texas Age = 55 HomePhone = e1e1 Name = Sunco Oil Headquarters = Houston President = John Smith [ 그림 3.3] 두개의 엔티티와 애트리뷰트들의 값 c1c1

엔티티와 애트리뷰트 (cont.) 애트리뷰트 유형 – 복합 애트리뷰트 – 단순 ( 원자 ) 애트리뷰트 – 단일값 애트리뷰트 ( 예, 나이 ) – 다치 애트리뷰트 ( 예, 취미 ) – 유도된 애트리뷰트 – 저장된 애트리뷰트 Address StreetAddress City State Zip Number Street ApartmentNumber [ 그림 3.4] 복합 애트리뷰트들의 계층 구조

엔티티 타입, 값집합, 키 애트리뷰트 n 엔티티 타입 : [ 그림 3.5] 두 엔티티 타입과 이에 속하는 일부 엔티티들 EMPLOYEE Name, Age, Salary COMPANY Name, Headquarters, President 엔티티 타입의 이름 : 애트리뷰트들 : 엔티티 집합 : ( 외연 ) e 1 (John Smith, 55, 80k) e 2 (Fred Brown, 40, 30k) e 3 (Judy Clark, 25, 20k) c 1 (Sunco Oil, Houston, John Smith) c 2 (Fast Computer, Dallas, Bob King)

9 키 애트리뷰트 – 그림 3.2 의 COMPANY 엔티티 타입의 Name 애트리뷰트 PERSON 엔티티 타입의 주민등록번호 – 두개 이상의 키 애트리뷰트를 갖는 엔티티 타입 엔티티 타입, 값집합, 키 애트리뷰트 (cont.) CAR Registration(RegistrationNumber, State), VehiclelD, Make, Model, Year, {Color} car 1 ((ABC 123, TEXAS), TK629, Ford Mustang, convertible, 1989, {red, black}) car 2 ((ABC 123, NEW YORK), WP9872, Nissan Sentra, 2-door, 1992, {blue}) car 3 ((VSY 720, TEXAS), TD729, Chrysler LeBaron, 4-door, 1993, {white, blue}) [ 그림 3.6] CAR 엔티티 타입, 다치 애트리뷰트들은 중괄호 { } 안에 나타내고 복합 애트리뷰트의 구성요소 애트립트들은 ( ) 안에 나타냈다.

10 값집합 ( 도메인 ) – 각 엔티티에서 해당 애트리뷰트가 가질 수 있는 값들의 집합 – 복합 애트리뷰트와 다치 애트리뷰트의 중첩 {AddressPhone({Phone(AreaCode, PhoneNumber)}, Address(StreetAddress(Number, Street, ApartmentNumber), City, State, Zip) ) } [ 그림 3.7] 다치 애트리뷰트와 복합 애트리뷰트들을 구성요소로 갖는 다치 복합 애트리뷰트 AddressPhone 엔티티 타입, 값집합, 키 애트리뷰트 (cont.)

11 COMPANY 데이타베이스의 초기 개념적 설계 – 엔티티 타입 DEPARTMENT 는 Name, Number, Location, Manager, ManagerStartDate 애트리뷰트를 가진다. Location 은 유일한 다치 애트리뷰트이다. Name 과 Number 는 각 부서마다 유일하다고 명시했기 때문에 각각 키 애트리뷰트로 지정할 수 있다 – 엔티티 타입 PROJECT 는 Name, Number, Locations, ControllingDepartment 애트리뷰트들을 가진다. Name 과 Number 가 각각 키 애트리뷰트이다. – 엔티티 타입 EMPLOYEE 는 Name, SSN, Sex, Address, Salary, BirthDate, Department, Supervisor 애트리뷰트들을 가진다. 사용자가 사원 Name 의 각 구성요소 ( FirstName, MiddleInitial, LastName) 와 Address 의 각 구성요소를 참조할 것인지의 여부를 알기 위해서 사용자와 다시 협의해야 한다. – 엔티티 타입 DEPARTMENT 는 Employee, DependentName, Sex, BirthDate, Relationship ( 사원과의 관계 ) 애트리뷰트들을 가진다 엔티티 타입, 값집합, 키 애트리뷰트 (cont.)

12 DEPARTMENT Name, Number, {Locations}, Manager, ManagerStartDate PROJECT Name, Number, Location, ControllingDepartment EMPLOYEE Name(Fname, Minit, Lname), SSN, Sex, Address, Salary, BirthDate, Department, Supervisor, {WorksOn (Project, Hours)} DEPENDENT Employee, DependentName, Sex, BirthDate, Relationship [ 그림 3.8] 3.2 절에서 설명한 데이타베이스를 위한 엔티티 타입들의 초기 설계 다치 애트리뷰트들은 중괄호 { } 안에 나타내고 복합 애트리뷰트들의 구성요소 애트리뷰트들은 ( ) 안에 나타냈다.

관계, 역할, 구조적 제약조건 n 관계 타입과 관계 인스턴스 관계 타입 R 은 엔티티 타입들에 속하는 엔티티들 간의 연관들의 집합 e1e1 e3e3 e4e4 e5e5 e6e6 e7e7 e2e2 r5r5 r4r4 r3r3 r2r2 r1r1 r6r6 r7r7 r7r7 r7r7 r7r7 EMPLOYEE WORKS_FOR DEPARTMENT [ 그림 3.9] WORKS_FOR 관계의 일부 인스턴스들

14 관계 타입의 차수 ( degree ) : 참여하고 있는 엔티티 타입들의 개수 – 이진 ( binary ) 차수 : [ 그림 3.9] 의 WORKS_FOR 관계 –3 진 ( ternary) 차수 관계, 역할, 구조적 제약조건 (cont.) r5r5 r4r4 r3r3 r2r2 r1r1 r6r6 r7r7 j1j1 j2j2 j3j3 s1s1 s2s2 p1p1 p2p2 p3p3 [ 그림 3.10] 3 진 관계 SUPPLY

15 애트리뷰트로서의 관계 : 애트리뷰트의 관점에서 관계 타입을 생각하는 것이 편리 역할 이름과 순환적 ( recursive ) 관계 관계, 역할, 구조적 제약조건 (cont.) e5e5 e4e4 e3e3 e2e2 e1e1 e6e6 e7e7 r5r5 r4r4 r3r3 r2r2 r1r1 r6r6 EMPLOYEESUPERVISION [ 그림 3.11] 순환적 관계 SUPERVISION:EMPLOYEE 는 상사 (1) 와 부하 (2) 의 두 역할을 함

16 관계 타입에서 제약조건 – 카디날리티 비율 : 엔티티가 참여할 수 있는 관계 인스턴스들의 수 ( 이진 관계 타입에 대한 카디날리티 비율은 1:1, 1: N, M:N ) – 참여 제약조건 : 한 엔티티의 존재가 관계 타입을 통해 연관되어 있는 다른 엔티티에 의존하는지의 여부 EMPLOYEE MANAGESDEPARTMENT e1e1 e6e6 e5e5 e4e4 e3e3 e2e2 e7e7 r3r3 r2r2 r1r1 d1d1 d2d2 d3d3 [ 그림 3.12] EMPLOYEE 가 부분 참여하고 DEPARTMENT 가 전체 참여하는 1:1 관계 MANAGES 관계, 역할, 구조적 제약조건 (cont.)

17 관계 타입의 애트리뷰트 –1:1, 1:N 관계 타입의 애트리뷰트 MANAGES 의 StartDate[ 그림 3.12] WORKS_FOR 의 StartDate[ 그림 3.9 ] –M:N 관계 타입 EMPLOYEE WORKS_ON PROJECT r1r1 r2r2 r3r3 r4r4 r5r5 r6r6 r7r7 e1e1 e2e2 e3e3 e4e4 p1p1 p2p2 p3p3 p4p4 [ 그림 3.13] M:N 관계 WORKS_ON 관계, 역할, 구조적 제약조건 (cont.)

약한 엔티티 타입 (weak entity type) 자신의 키 애트리뷰트가 없는 엔티티 타입 식별 소유자, 식별 관계 EMPLOYEE:DEPENDENT 부분 키 DEPENDENT 의 DependentName

COMPANY 데이타베이스에 대한 ER 설계 개선 그림 3.8 의 애트리뷰트들을 관계 타입으로 변환하여 개선 관계 타입들 –MANAGES : EMPLOYEE 와 DEPARTMENT 사이의 1:1 관계 타입 –WORKS_FOR : DEPARTMENT 와 EMPLOYEE 사이의 1:N 관계 타입 –CONTROLS : DEPARTMENT 와 PROJECT 사이의 1:N 관계 타입 – SUPERVISION : EMPLOYEE ( 상사역할 ) 와 EMPLOYEE ( 사원역할 ) 사이의 1:N 관계 타입 –WORKS_ON : EMPLOYEE 와 PROJECT 사이의 M:N 관계 타입 –DEPENDENTS_OF :EMPLOYEE 와 DEPENDENT 사이의 1:N 관계 타입

개체 - 관계 (ER) 다이어그램에 대한 표기법 기호의미 기호 엔티티 타입 약한 엔티티 타입 관계 타입 식별 관계 타입 애트리뷰트 키 애트리뷰트 다치 애트리뷰트... E1 R E2 E1 R E2 R ( 최소값, 최대값 ) E 복합 애트리뷰트 유도된 애트리뷰트 E 가 R 에 전체 참여 E 이 R 에 부분 참여 R 에서 E:E 의 카디날리티 비율이 1:N R 에서 E 의 참여에 대한 구조적 제약조건 ( 최소값, 최대값 ) [ 그림 3.15] ER 다이어그램의 표기법 요약

21 FnameMinitLname Name Address Sex Salary Ssn Bdate EMPLOYEE WORKS_FOR StartDate NumberOfEmployees MANAGES SUPERVISION Number Name Locations DEPATMENT CONTROLS PROJECT Name Location Number Hours WORKS_ON DEPENDENTS_OF DEPENDENT SexNameBirthDateRelationship supervisor supervisee (0,N) employee (4,N) department (0,1) manager (1,1) department- managed controlling- department (0,N) controlled- project (1,1) (1,N) project (0,1) (0,N) employee dependent (1,1) (1,N) worker [ 그림 3.14] 모든 역할 이름들을 포함시키고, 관계에 대한 구조적 제약조건들을 ( 최소값, 최대값 ) 형식으로 명시한 COMPANY 스키마의 ER 다이어그램 (1, 1)

스키마 구조물에 대한 적절한 이름 지정 스키마에 사용된 각 구조물에 대해 가능한 한 그 의미를 전달할 수 있는 이름 선택 복수보다 단수 이름 선택 일반적으로 요구사항들의 명사는 엔티티 타입 이름, 동사는 관계 타입 이름으로 ER 다이어그램의 왼쪽에서 오른쪽, 위에서 아래로 읽기 쉽게

진 이상의 관계 타입 (a) (b) SName SUPPLIER SUPPLYPROJECT PART PartNo QuantityProjName SName SUPPLIERSUPPLIESPROJECT CAN_SUPPLY PartNo PART USE ProjName M N MN M N [ 그림 3.16] 3 진 관계 타입들 (a) 3 진 관계 타입 SUPPLY (b) 3 진 관계 타입 SUPPLY 와 동치가 아닌 세 개의 이진 관계 타입

24 (c) SName QuantityProjName PartNo SUPPLIERSS SUPPLYSPJPROJECT SP PART 1 NN 1 N 1 [ 그림 3.16] 3 진 관계 타입들 ( cont.) (c) 약한 엔티티 타입으로 표현된 SUPPLY

25 IName SemesterYear Sem_Year CNumber INSTRUCTOR TAUGHT_DURING OFFERS SEMESTER CAN_TEACH COURSE OFFERED_DURING [ 그림 3.17] 3 진 대 이진 관계 타입들의 또 다른 예

26 Name CName Department Date Dept/Date CANDIDATECCICOMPANY INTERVIEW RESULTS_INJOB_OFFER [ 그림 3.18] 3 진 식별 관계 타입을 갖는 약한 엔티티 타입 INTERVIEW

요약 엔티티 - 관계 (ER) 모델을 사용한 모델링 개념 스키마 레벨에서 ER 모델 개념 ER 다이어그램 3 진 관계와 그 이상 차수의 관계 타입