• 검색 결과가 없습니다.

ER 모델을 사용한 데이터 모델링

N/A
N/A
Protected

Academic year: 2021

Share "ER 모델을 사용한 데이터 모델링"

Copied!
53
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

데이터베이스 (Databases)

ER 모델을 사용한 데이터 모델링

문양세

강원대학교 IT 대학 컴퓨터공학과

(2)

Database by Yang-Sae Moon Page 2

강의 내용

개념적 모델링과 예제 데이터베이스 (COMPANY) ER 모델의 개념

엔티티와 애트리뷰트

엔티티 타입 , 값 집합 , 키 애트리뷰트

관계와 관계 타입

약한 엔티티 타입

역할과 관계 타입에서의 애트리뷰트

ER 다이어그램 (ERD) – 표기법

ER 모델을 사용한 데이터 모델링

(3)

Database by Yang-Sae Moon Page 3

서론

데이터베이스 응용

데이터베이스 + 필요한 기능을 구현한 프로그램

엔티티 - 관계 모델링 (ER Modeling)

고수준 데이터 모델 : 인간의 이해를 돕기 위한 모델

개념설계 도구로서 데이터베이스 구조와 제약조건 정의

다른 모델링 기법

UML 방법론의 클래스 다이어그램을 이용한 모델링

데이터베이스 구조와 제약조건 + 연산 정의

ER 모델을 사용한 데이터 모델링

(4)

Database by Yang-Sae Moon Page 4

DB 설계를 위한 개념적 데이터 모델 사용

데이터베이스 설계의 단계들 [ 그림 3.1]

ER 모델을 사용한 데이터 모델링

작은 세계

요구사항들의 수정과 분석

데이타베이스 요구사항들 개념적 설계

개념 스키마

(고수준 데이터 모델로 표현됨 ) 논리적 설계

(DATA MODEL MAPPING) 논리적 ( 개념적 ) 스키마

(특정 DBMS 의 구현 ( 표현 ) 데이터 모델로 표현됨 ) 물리적 설계

내부스키마

(For the same DBMS) 기능적 요구사항들

FUNCTIONAL ANALYSIS

APPLICATION PROGRAM DESIGN

TRANSACTION IMPLEMENTATION High-level Transaction Specification DBMS-independent

DBMS-specific

내부저장구조 인덱스접근경로 화일조직

상용 DBMS 사용 ERD 사용

DFD, 순서도 , 시나리오 , 순서 다이어그램

Application Programs

(5)

Database by Yang-Sae Moon Page 5

예제 COMPANY 데이터베이스 (1/2)

COMPANY 데이터베이스의 작은 세계

1. 회사는 여러 부서들로 구성된다 .

각 부서마다 고유한 이름 , 고유한 번호 , 부서를 관리하는 특정 사원이 있다 .

사원이 부서를 관리하기 시작한 날짜도 유지한다 . 한 부서는 여러 위치에 있을 수 있다 .

2. 한 부서는 여러 프로젝트들을 관리한다 . 각 프로젝트는 고유한 이름 , 고유한 번호 , 한 개의 위치를 가진다 .

ER 모델을 사용한 데이터 모델링

(6)

Database by Yang-Sae Moon Page 6

예제 COMPANY 데이터베이스 (2/2)

COMPANY 데이터베이스의 작은 세계 ( 계속 )

3. 각 사원에 대해서 이름 , 사회보장번호 , 주소 , 급여 , 성별 , 생년월일을 저장한다 . 한 사원은 한 부서에 속하지만 , 여러 프로젝트들에 관여할 수 있다 .

한 사원이 관여하는 프로젝트들은 그 사원이 소속된 부서가 관리하는 프로젝트가 아니어도 무방하다 .

반드시 한 부서의 각 사원이 각 프로젝트를 위해 일하는 주당 근무 시간을 기록한다 . 또한 각 사원의 직속 상사도 유지한다 .

4. 보험 목적을 위해서 각 사원의 부양가족들을 기록한다 .

각 부양 가족에 대해서 이름 , 성별 , 생년월일 , 사원과의 관계를 기록한다 .

ER 모델을 사용한 데이터 모델링

(7)

Database by Yang-Sae Moon Page 7

개념적 설계의 결과 – ERD

(1/2)

ER 모델을 사용한 데이터 모델링

Fname Minit Lname

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

Sex

Name BirthDate Relationship supervisor

1 N

supervisee

N 1

M N

N 1

N 1

1 1

(8)

Database by Yang-Sae Moon Page 8

개념적 설계의 결과 – ERD

(2/2)

ER 모델을 사용한 데이터 모델링

[ 그림 3.2]

(9)

Database by Yang-Sae Moon Page 9

COMPANY 데이터베이스

(10)

Database by Yang-Sae Moon Page 10

강의 내용

개념적 모델링과 예제 데이터베이스 (COMPANY) ER 모델의 개념

엔티티와 애트리뷰트

엔티티 타입 , 값 집합 , 키 애트리뷰트

관계와 관계 타입

약한 엔티티 타입

역할과 관계 타입에서의 애트리뷰트

ER 다이어그램 (ERD) – 표기법

ER 모델을 사용한 데이터 모델링

(11)

Database by Yang-Sae Moon Page 11

개체 타입 , 개체 집합 , 애트리뷰트 , 키

ER 모델은 데이터를 엔티티 ( 개체 ), 관계 , 애트리뷰트 ( 속성 ) 로 모델 링함

엔티티 - 관계 모델링

엔티티 : 실세계에서 독립적으로 존재하는 실체

애트리뷰트 : 엔티티를 기술하는 속성

두 개 엔티티 ( 직원 e

1

과 회사 c

1

) 와 애트리뷰트 및 값 [ 그림 3.3]

ER 모델을 사용한 데이터 모델링

Name = John Smith

Address = 2311 Kirby,

Houston, Texas 77001 Age = 55

HomePhone = 713-749-2630

e1

Name = Sunco Oil

Headquarters = Houston

President = John Smith

c

1

(12)

Database by Yang-Sae Moon Page 12

엔티티 & 애트리뷰트

ER 모델을 사용한 데이터 모델링

Locations Fname Minit Lname

Name Address

Sex Salary

Ssn

Bdate

EMPLOYEE

WORKS_FOR

StartDate NumberOfEmployees

MANAGES

SUPERVISION

Number

Name

DEPATMENT

CONTROLS

PROJECT

Name

Location

Number Hours

WORKS_ON

DEPENDENTS_OF

DEPENDENT

Sex

Name BirthDate Relationship supervisor

1 N

supervisee

N 1

M N

N 1

N 1

1 1

(13)

Database by Yang-Sae Moon Page 13

애트리뷰트 유형 (1/2)

복합 (composite) 애트리뷰트 ( 애트리뷰트 집합 ) : 더 작은 요소로 나 뉨

단순 (simple) 애트리뷰트 ( 원자 애트리뷰트 )

복합 애트리뷰트의 계층구조 [ 그림 3.4]

단일 값 (single value) 애트리뷰트 : 애트리뷰트 하나는 하나의 값을 가 짐

다치 (multi-valued) 애트리뷰트 :

애트리뷰트 하나가 여러 값을 가질 수 있음

 한 사람은 여러 개 학위를 가질 수 있음

ER 모델을 사용한 데이터 모델링

Address

StreetAddress City State Zip

Number Street ApartmentNumber

(14)

Database by Yang-Sae Moon Page 14

애트리뷰트 유형 (2/2)

저장된 (stored) 애트리뷰트 : DB 에 실제로 저장된 애트리뷰트 ( 예 : DOB  Date of Birth)

유도된 (derived) 애트리뷰트 : 실제 저장되어 있지 않으나 , 다른 애트 리뷰트나 사실 (fact) 에 의해 그 값이 유도될 수 있는 애트리뷰트

( 예 : Age  오늘 날짜와 DOB 에 의해 나이가 유도될 수 있음 )

ER 모델을 사용한 데이터 모델링

(15)

Database by Yang-Sae Moon Page 15

특수한 애트리뷰트

ER 모델을 사용한 데이터 모델링

Locations Fname Minit Lname

Name Address

Sex Salary

Ssn

Bdate

EMPLOYEE

WORKS_FOR

StartDate NumberOfEmployees

MANAGES

SUPERVISION

Number

Name

DEPATMENT

CONTROLS

PROJECT

Name

Location Number

Hours

WORKS_ON

DEPENDENTS_OF

DEPENDENT

Sex

Name BirthDate Relationship supervisor

1 N

supervisee

N 1

M N

N 1

N 1

1 1

복합 애트리뷰트

애트리뷰트다치

유도 애트리뷰트

(16)

Database by Yang-Sae Moon Page 16

널 (NULL) 값

두 가지 의미로 사용됨

‘ 적용할 수 없음’이라는 의미

 Apartment_number 는 단독 주택에 적용되지 않음

 College_degree 는 대학 미 졸업자에게는 적용되지 않음

‘ 알려지지 않음’의 의미

 John Smith( 는 핸드폰이 있으나 ) 핸드폰 번호는 알지 못함

ER 모델을 사용한 데이터 모델링

(17)

Database by Yang-Sae Moon Page 17

복잡한 (complex) 애트리뷰트

ER 모델을 사용한 데이터 모델링

괄호를 사용하여 중첩된 형태의 애트리뷰트를 구성 예제 : AddressPhone

{AddressPhone( {Phone(AreaCode, PhoneNumber)},

Address( StreetAddress(Number, Street, ApartmentNumber), City,

State, Zip ) )

}

(18)

Database by Yang-Sae Moon Page 18

엔티티 타입 ( 개체 타입 )

엔티티 타입 : 같은 애트리뷰트를 갖는 엔티티들의 집합 ( 각 엔티티는 각 애트리뷰트에 대해 자신만의 값을 가짐 )

EMPLOYEE 와 COMPANY 엔티티 타입과 이에 속하는 개체들 [ 그림 3.6]

ER 모델을 사용한 데이터 모델링

엔티티 타입의 이름 : 애트리뷰트 이름

개체 집합 ( 외연 )

애트리뷰트 값

e1

(John Smith, 55, 80k)

e2

(Fred Brown, 40, 30K)

e3

(Judy Clark, 25, 20K) :

c1

(Sunco Oil, Houston, John Smith)

c2

(Fast Computer, Dallas, Bob King)

: :

EMPLOYEE COMPANY

Name, Age, Salary Name, Headquarters, President

(19)

Database by Yang-Sae Moon Page 19

CAR 엔티티 ( 개체 ) 타입

Registration 과 VehicleID 의 두 개의 키 애트리뷰트를 가짐 [ 그림 3.7]

ER 모델을 사용한 데이터 모델링

CAR

Registration(RegistrationNumber, State), VehicleID, Make, Model, Year, {Color}

car1

((ABC 123, TEXAS), TK629, Ford Mustang, convertible, 1989, {red,black}) car2

((ABC 123, NEW YORK), WP9872, Nissan Sentra, 2-door, 1992, {blue}) car3

((VSY 720, TEXAS), TD729, Chrysler LeBaron, 4-door, 1993, {white, blue}) :

(20)

Database by Yang-Sae Moon Page 20

키 애트리뷰트와 값 집합 [ 도메인 ]

키 애트리뷰트 (key attribute)

각 엔티티마다 서로 다른 값을 가지는 애트리뷰트

그림 3.6 에서 COMPANY 엔티티 타입에서 키 애트리뷰트는 Name

일반적으로 , PERSON 엔티티 타입의 키 애트리뷰트는 SocialSecurityNumber

복합 키 : 두 개 이상의 애트리뷰트들이 모여서 하나의 키 애트리뷰트 역할을 하는 키

값 집합 ( 도메인 )

각 엔티티에서 애트리뷰트가 가질 수 있는 값들의 집합

EMPLOYEE 의 Age 애트리뷰트의 값 집합은 ? (16 부터 70 사이의 정수 집합 )

ER 모델을 사용한 데이터 모델링

(21)

Database by Yang-Sae Moon Page 21

키 애트리뷰트

ER 모델을 사용한 데이터 모델링

Fname Minit Lname

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

Sex

Name BirthDate Relationship supervisor

1 N

supervisee

N 1

M N

N 1

N 1

1 1

(22)

Database by Yang-Sae Moon Page 22

COMPANY DB 에 대한 초기 개념적 설계 (1/2)

1. 엔티티 타입 DEPARTMENT 는 Name, Number, Location, Manager, ManagerStartDate 애트리뷰트를 가진다 .

Location 은 다치 애트리뷰트이다 . Name 과 Number 는 각 부서마다 고유하기

때문에 각각 키 애트리뷰트로 지정할 수 있다 .

2. 엔티티 타입 PROJECT 는 Name, Number, Locations, ControllingDepart- ment

애트리뷰트들을 가진다 .

Name 과 Number 가 각각 키 애트리뷰트이다 .

ER 모델을 사용한 데이터 모델링

(23)

Database by Yang-Sae Moon Page 23

COMPANY DB 에 대한 초기 개념적 설계 (2/2)

3. 엔티티 타입 EMPLOYEE 는 Name, SSN, Sex, Address, Salary, BirthDate, Department, Supervisor 애트리뷰트들을 가진다 .

SSN 이 키 애트리뷰트이고 , Name 은 복합 애트리뷰트 이다 .

4. 엔티티 타입 DEPENDENT 는 Employee, DependentName, Sex, Birth- Date, Relationship( 사원과의 관계 ) 애트리뷰트들을가진다 .

ER 모델을 사용한 데이터 모델링

(24)

Database by Yang-Sae Moon Page 24

COMPANY DB 의 엔티티 타입들의 초기 설계 (1/2)

ER 모델을 사용한 데이터 모델링

DEPARTMENT

Name, Number, {Locations}, Manager, ManagerStartDate

PROJECT

Name, Number, Location, ControllingDepartment

(25)

Database by Yang-Sae Moon Page 25

COMPANY DB 의 엔티티 타입들의 초기 설계 (2/2)

ER 모델을 사용한 데이터 모델링

EMPLOYEE

Name(FName, MInit, LName), SSN, Sex, Address, Salary, BirthDate, Department, Supervisor, {WorksOn (Project, Hours)}

DEPENDENT

Employee, DependentName, Sex, BirthDate, Relationship

(26)

Database by Yang-Sae Moon Page 26

강의 내용

개념적 모델링과 예제 데이터베이스 (COMPANY) ER 모델의 개념

엔티티와 애트리뷰트

엔티티 타입 , 값 집합 , 키 애트리뷰트

관계와 관계 타입

약한 엔티티 타입

역할과 관계 타입에서의 애트리뷰트

ER 다이어그램 (ERD) – 표기법

ER 모델을 사용한 데이터 모델링

(27)

Database by Yang-Sae Moon Page 27

관계 , 관계 타입 , 역할 , 구조적 제약조 건

관계 타입과 관계 인터페이스 관계 타입의 차수 (degree) 애트리뷰트로서의 관계

역할과 순환적 (recursive) 관계 관계 타입에서 제약조건

관계 타입의 애트리뷰트

ER 모델을 사용한 데이터 모델링

MANAGES

DEPENDENTS_OF

SUPERVISION

(28)

Database by Yang-Sae Moon Page 28

관계 타입과 관계 인스턴스

관계 타입 ( 관계 집합 ) R 은 엔티티 간의 연관들의 집합임 : [ 그림 3.9] 에서 WORKS_FOR 가 이에 해당함 ( 아래 그림 )

[ 그림 3.9] 관계 WORKS_FOR 에서 관계 인스턴스 : 7 개 (r1 ~ r7)

ER 모델을 사용한 데이터 모델링

e1 e2 e3 e4 e5 e6 e7 . .

r1 r2 r3 r4 r5 r6 r7 :

d1 d2 d3 . . .

EMPLOYEE

WORKS_FOR

DEPARTMENT

(29)

Database by Yang-Sae Moon Page 29

관계 타입의 차수 (degree)

차수 : 관계에 참여하고 있는 엔티티 타입의 수

이진 (binary) 차수 : [ 그림 3.9] 의 WORKS_FOR 관계

3 진 (ternary) 차수 : [ 그림 3.10] 3 진 관계 SUPPLY ( 아래 그림 )

ER 모델을 사용한 데이터 모델링

r1 r2 r3 r4 r5 r6 r7 : s1

s2 . . .

p1 p2 p3 . . .

j1 j2 j3 . . .

SUPPLIER

PART

PROJECT SUPPLY

(30)

Database by Yang-Sae Moon Page 30

애트리뷰트로서의 관계

관계는 참여 엔티티 타입의 애트리뷰트로 볼 수도 있음

 즉 , 관계가 엔티티의 애트리뷰트로 표현 ( 구현 ) 될 수 있음을 의미 예 : EMPLOYEE 와 DEPARTMENT 사이의 WORKS_FOR 는

엔티티 타입 EMPLOYEE 에 Department 애트리뷰트로 표현되거나 ,

엔티티 타입 DEPARTMENT 의 Employees 애트리뷰트로 표현될 수 있음

ER 모델을 사용한 데이터 모델링

EMPLOYEE

Name(FName, MInit, LName), SSN, Sex, Address, Salary, BirthDate, Department, Supervisor, {WorksOn (Project, Hours)}

(31)

Database by Yang-Sae Moon Page 31

역할 이름과 순환적 (recursive) 관계 (1/2)

역할 이름 (role name): 관계 타입에 참여하는 각 에티티 타입은 관계 내에서 특정한 역할을 담당함

예 : 관계 WORKS_FOR 에서 EMPLOYEE 는 사원 / 근로자 역할이고 , DEPARTMENT 는 부서 / 고용주의 역할임

일반적으로 관계에 참여하는 엔티티 타입이 다르면 , 그 이름 자체가 역 할로서 사용되기 때문에 , 역할 이름을 특별히 명시하지 않음

ER 모델을 사용한 데이터 모델링

EMPLOYEE WORKS_FOR DEPARTMENT

SUPERVISION supervisor supervisee

(32)

Database by Yang-Sae Moon Page 32

역할 이름과 순환적 (recursive) 관계 (2/2)

한 엔티티 타입이 관계에 두 번 이상 참여하면 , 역할을 구분하기 위해 , 역할 이름을 부여하거나 , 대응하는 번호 등을 부여함

[ 그림 3.2] 의 SUPERVISION 관계에서 , supervisor 와 supervisee 가 역할 이름임

같은 예로서 , [ 그림 3.11] Employee 에서의 순환적 관계 SUPERVISION 은 상사 (1) 와

부하 (2) 의 두 역할로 구분할 수 있음

ER 모델을 사용한 데이터 모델링

e1 e2 e3 e4 e5 e6 E7 ...

r1 r2 r3 r4 r5 r6 ...

1 2

12 1 2

2 1 1 2 1

2

EMPLOYEE SUPERVISION

(33)

Database by Yang-Sae Moon Page 33

관계 타입에서 제약 조건 (1/3)

카디날리티 (cardinality) 비율 : 엔티티가 참여할 수 있는 최대 관계 인 스턴스의 수를 명시

 이진 관계 타입에 대한 카디날리티 비율은 1:1, 1:N, M:N 1:1 카디날리티 비율의 예 (MANAGES)

ER 모델을 사용한 데이터 모델링

e1

e2

e3

e4

e5

e6

e7 . . .

r1

r2

r3 :

d1

d2

d3 :

EMPLOYEE

MANAGES DEPARTMENT

(34)

Database by Yang-Sae Moon Page 34

관계 타입에서 제약 조건 (2/3)

M:N 카디날리티 비율의 예 (WORKS_ON) [ 그림 3.13]

ER 모델을 사용한 데이터 모델링

e1 e2 e3 e4 . . .

r1 r2 r3 r4 r5 r6 R7 . .

p1 p2 p3 p4 . . .

EMPLOYEE

WORKS_ON

PROJECT

(35)

Database by Yang-Sae Moon Page 35

관계 타입에서 제약 조건 (3/3)

참여 제약조건 (participation constraint) : 한 엔티티의 존재가 관계 타 입을 통해 연관되어 있는 다른 엔티티에 의존하는지의 여부

부분참여 (partial participation) 와 전체참여 (total participation)

( 일반적으로 ) 부분참여는 단일 실선으로 표현하고 ,

전체참여는 이중 실선으로 표현함

예 : MANAGES 관계에서 ,

( 모든 사원이 manager 로 참여하는 것은 아니므로 ) EMPLOYEE 는 부분참여이고 ,

( 모든 부서는 ( 한 명의 ) manager 가 있으므로 ) DEPARTMENT 는 전체참여임

전체참여를 존재종속성 (existence dependency) 라고도 부름

ER 모델을 사용한 데이터 모델링

(36)

Database by Yang-Sae Moon Page 36

관계 타입의 애트리뷰트 (1/2)

관계 타입도 ( 엔티티 타입 처럼 ) 애트리뷰트들을 가질 수 있음 관계 타입이 애트리뷰트를 가지는 예 :

WORKS_ON 관계 타입에 Hours 애트리뷰트를 포함시킬 수 있음

MANAGES 관계 타입에 StartDate 를 포함시킬 수 있음 ( 언제 관리자가 되었나 )

1:1 관계 타입의 애트리뷰트 : 양쪽 엔티티 타입으로 이동 가능

ER 모델을 사용한 데이터 모델링

EMPLOYEE

DEPARTMENT

MANAGES StartDate 1

1

EMPLOYEE

DEPARTMENT MANAGES

StartDate 1

1

EMPLOYEE

DEPARTMENT MANAGES

1

1

StartDate

(37)

Database by Yang-Sae Moon Page 37

관계 타입의 애트리뷰트 (2/2)

1:N 관계 타입의 애트리뷰트 : N 쪽 엔티티 타입으로 이동 가능

M:N 관계 타입의 애트리뷰트 : 엔티티 타입으로 이동 불가

 해당 애트리뷰트는 반드시 관계 타입에 표현되어야 함

ER 모델을 사용한 데이터 모델링

EMPLOYEE

DEPARTMENT

WORKSFOR StartDate N

1

EMPLOYEE

DEPARTMENT WORKSFOR

N

1

StartDate EMPLOYEE

DEPARTMENT WORKSFOR

N

1

StartDate

(38)

Database by Yang-Sae Moon Page 38

약한 엔티티 타입 (Weak Entity Type) (1/2)

약한 엔티티 타입 : 자신의 키 애트리뷰트가 없는 엔티티 타입

예 : DEPENDENT 엔티티 타입

약한 엔티티 타입과 구분하기 위해 , 키를 가지는 정규 (regular) 엔티티 타입을 강한 엔티티 타입이라 부르기도 함

약한 엔티티 타입은 애트리뷰트 중 하나가 다른 엔티티 타입에 연계됨으 로서 식별될 수 있음  식별 (identifying) 엔티티 타입

식별 ( 소유 ) 엔티티 타입과 식별 관계

EMPLOYEE 와 DEPENDENT 에서 EMPLOYEE 가 식별 엔티티 타입이며 , 두 엔티티 타입 사이의 관계를 식별 관계라고 부름

ER 모델을 사용한 데이터 모델링

(39)

Database by Yang-Sae Moon Page 39

약한 엔티티 타입 (Weak Entity Type) (2/2)

부분 키 (partial key)

동일한 소유 엔티티와 연관된 약한 엔티티 집합 내의 서브 집합 ( 예를 들어 , 소유 엔티티 employee e1 의 dependents set) 내에서 , 서로를 구분할 수 있는 애트리뷰트들의 집합 ( 예를 들어 , Dependent.name) [ 가정 : 부양 가족 내에 같은 이름은 없음 ]

ERD 에서 약한 엔티티 타입과 이의 식별 관계는 마름모를 이중선으로 , 부분키는 점선 밑줄로 표현함 ( 그림 3.2 참조 )

약한 엔티티는 소유 엔티티 타입의 복합 애트리뷰트로 표현할 수도 있음

예를 들어 , EMPLOYEE 에 대해 , Name, Birth_date, Sex, Relationship 의 애트리뷰트 로 구성되는 복합 다치 애트리뷰트 Dependents 를 명시할 수 있음 ( 다음 슬라이드 참 조 )

그러나 , 다음 경우에는 별도 엔티티 타입으로 표현하는 것이 바람직함

엔티티가 많은 애트리뷰트들을 가지고 ,

식별 관계 타입 외에 다른 관계 타입들에 독립적으로 참여하는 경우

ER 모델을 사용한 데이터 모델링

(40)

Database by Yang-Sae Moon Page 40

약한 엔티티 타입의 표현

ER 모델을 사용한 데이터 모델링

약한 엔티티 타입으로 표현

EMPLOYEE

DEPENDENTS HAS

Name

1

Sex BirthDate Relationship

복합 다치 애트리뷰트로 표현

EMPLOYEE

Dependents

Name Sex BirthDate Relationship

N

(41)

Database by Yang-Sae Moon Page 41

강의 내용

개념적 모델링과 예제 데이터베이스 (COMPANY) ER 모델의 개념

엔티티와 애트리뷰트

엔티티 타입 , 값 집합 , 키 애트리뷰트

관계와 관계 타입

약한 엔티티 타입

역할과 관계 타입에서의 애트리뷰트

ER 다이어그램 (ERD) – 표기법

ER 모델을 사용한 데이터 모델링

(42)

Database by Yang-Sae Moon Page 42

COMPANY DB 에 대한 ER 설계의 개선

그림 3.8( 초기 설계 ) 에서 관계를 나타내는 애트리뷰트들을 관계 타입 으로 변환하여 발전시킴 ( 결과는 다음 페이지 [ 그림 3.2])

생성되는 관계 타입들

1. MANAGES: EMPLOYEE와 DEPARTMENT 사이의 1:1 관계 타입 2. WORKS_FOR: DEPARTMENT 와 EMPLOYEE 사이의 1:N 관계 타입 3. CONTROLS: DEPARTMENT 와 PROJECT 사이의 1:N 관계 타입

4. SUPERVISION: EMPLOYEE(상사역할 ) 와 EMPLOYEE( 사원역할 ) 사이의 1:N 관계 타입

5. WORKS_ON: EMPLOYEE 와 PROJECT 사이의 M:N 관계 타입

6. DEPENDENTS_OF: EMPLOYEE 와 DEPENDENT 사이의 1:N 관계 타입

ER 모델을 사용한 데이터 모델링

(43)

Database by Yang-Sae Moon Page 43

개념적 설계의 결과

ER 모델을 사용한 데이터 모델링

Fname Minit Lname

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

Sex BirthDate Relationship supervisor

1 N

supervisee

N 1

M N

N 1

N 1

1 1

Name

(44)

Database by Yang-Sae Moon Page 44

ERD 에서 명명 규칙과 설계 시 유의 사항

명명 규칙

스키마에 사용된 각 구조물에 대해 가능한 한 그 의미를 전달할 수 있는 이름 선택

복수보다 단수 이름 선택

일반적으로 자연어로 기술된 요구 사항에서 명사는 엔티티 타입 이름 , 동사는 관계 타입 이름으로 해석하는 것이 도움이 됨

설계 시 유의 사항

ER 다이어그램은 왼쪽에서 오른쪽 , 위에서 아래로 읽기 쉽게 작성함

스키마 설계는 반복해서 개선하는 작업이 필요함  한번에 완성하기는 쉽지 않음

ER 모델을 사용한 데이터 모델링

(45)

Database by Yang-Sae Moon Page 45

개념적 설계의 결과

ER 모델을 사용한 데이터 모델링

Fname Minit Lname

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

Sex BirthDate Relationship supervisor

1 N

supervisee

N 1

M N

N 1

N 1

1 1

Name

(46)

Database by Yang-Sae Moon Page 46

ER 다이어그램 표기법 요약 [ 그림

3.14]

ER 모델을 사용한 데이터 모델링

Symbol Meaning Symbol Meaning

엔티티 타입 약한 엔티티 타입 관계 타입

식별 관계 타입

애트리뷰트 키 애트리뷰트 다치 애트리뷰트

...

E1 R E2

E1 R E2

R (최대값 , 최소값 )

E

복합 애트리뷰트

유도된 애트리뷰트 E2가 R 에 전체참여 E1이 R 에 부분참여 R에서 E1:E2 의

카디날리티 비율이 1:N R에서 E 의 참여에 대한 구조적 제약조건

( 최대값 , 최소값 )

E가 R 의 관계를 몇 개나 가지는가 ?

1 N

(47)

Database by Yang-Sae Moon Page 47

구조적 제약 조건

관계 (relationship) 에 대한 구조적 제약 조건

 관계에 대한 의미를 표현하는 방법을 일컬음

(2 진 관계에서의 ) 카디날리티 비율

1:1, 1:N, or M:N

연결된 선에 적절한 숫자를 나타냄으로써 표기함

( 각 참여 엔티티에 대한 ) 참여 제약조건

전체 ( 또는 존재 종속성 ) 또는 부분 참여

전체 참여의 경우 연결된 선을 이중선으로 표기함 .

ER 모델을 사용한 데이터 모델링

(48)

Database by Yang-Sae Moon Page 48

구조적 제약 조건을 위한 다른 표기법

( 최소값 , 최대값 ) 을 사용한 표기법

ER 모델을 사용한 데이터 모델링

관계 타입 R 에서 엔티티 타입 E 의 각 참여를 명시

E 내의 각 엔티티 e 가 적어도 최소값 만큼 그리고 최대 최대값 만큼 R 내의 관계 인스턴스들과 참여함을 나타냄

디폴트 ( 제약조건 무 ): 최소값 =0, 최대값 =n

반드시 , 최소값최대값 , 최소값 0, 최대값  1

예 :  다음 페이지 참조

부서는 정확히 한 명의 부서장을 가지며 사원은 최대 한 개의 부서를 관리할 수 있다 .

MANAGES의 EMPLOYEE 의 참여에 (0,1) 로 표기

MANAGES의 DEPARTMENT 의 참여에 (1,1) 로 표기

사원은 정확히 한 부서에서 일 할 수 있으며 부서는 몇 명의 사원이라도 둘 수 있다 .

WORKS_FOR 의 EMPLOYEE 의 참여에 (1,1) 로 표기

WORKS_FOR 의 DEPARTMENT 의 참여에 (0,n) 로 표기

(49)

Database by Yang-Sae Moon Page 49

( 최소값 , 최대값 ) 표기법 관계 제약 조

ER 모델을 사용한 데이터 모델링

Employee (0,1) Manages (1,1) Department

Employee (1,1) Works-for (0,N) Department

(50)

Database by Yang-Sae Moon Page 50

( 최소값 , 최대값 ) 를 사용한 COMPANY

ERD

ER 모델을 사용한 데이터 모델링

(51)

Database by Yang-Sae Moon Page 51

UML 클래스 다이어그램

ER 모델을 사용한 데이터 모델링

이름 속성애트리뷰트

연산 : ERD 와의 차이점 엔티티 타입  클래스

엔티티 ( 개체 )  오브젝트 ( 객체 )

관계  연관 (Association), 순환적 관계  재귀연관

애트리뷰트 : 도메인 ( 애트리뷰트 값집합 )

연관

참여수에 상관없음 최소 .. 최대

재귀연관 역할이름

역할이름

연관의 애트리뷰트

집단화 (Aggregation)

판별자

자격연관자격집단화

(52)

Database by Yang-Sae Moon Page 52

요약

엔티티 - 관계 (ER) 모델을 사용한 모델링 개념

엔티티 ( 개체 ) 와 관계의 정의

스키마 레벨에서 ER 모델 개념 ER 다이어그램

ER 모델을 사용한 데이터 모델링

(53)

Database by Yang-Sae Moon Page 53

Homework #1

ER 모델을 사용한 데이터 모델링

참조

관련 문서

피스톤에 250ml 의 물이담긴 물병을 달고 철가루 양에 따른 자석의 MR 작용을, 피스 톤이 내려오는 시간으로 측정하여 확인할 수 있다...

 데이터베이스 개발자는 Oracle 8이나 IBM 의 DB2와 같은 데이터베이스 관리 시스템 에서 데이터 내용, 관계, 그리고 구조를 명 시하고 수정하기 위해서

제4장

함마 드릴 손잡이에 MR 댐핑 을 적용함으로써 인체공학적으로 좀더 유용하고 사용자 신체에 부담이

유체는 점성유체로 평상시에는 평범한 점성유체 이지만, 여 기에 전기, 자기장을 걸어주게 되면 유체 내부의 입자들이 규칙적으로 배열 하기 때문에 고체처럼

 개체관계 모델을 그림으로 나타낸 개체관계도(ERD)는 엔티티, 속성, 관계를 그림으로 표현.  ERD를

한국인 심전도 진단 데이터 기상관측 데이터. 항공우주소재 물성 데이터

주: 무선 데이터(전체)는 무선에서 발생한 모든 데이터,