학사관리 시스템 구축을 위한 데이터베이스 모델링

42
학학학학 학학학 학학학 학학 학학학학학학 학학학 2. 학학학학학학 학학 학학 3. 학학 – 학학 학학 학학 4. 학학 E-R 학학 학학 5. E-R 학학학 학학학 학학학 학학 학학 1. 학학학학학학 학학학

Upload: lev-abbott

Post on 01-Jan-2016

706 views

Category:

Documents


7 download

DESCRIPTION

학사관리 시스템 구축을 위한 데이터베이스 모델링. 1. 데이터베이스 모델링. 2. 데이터베이스 설계 단계. 3. 개체 – 관계 모델 설계. 4. 확장 E-R 모델 설계. 5. E-R 모델을 이용한 논리적 모델 설계. 1. 데이터베이스 모델링. 데이터베이스 설계 필요로 하는 데이터베이스 응용을 지원할 수 있도록 필요한 데이터를 조직하는 것 정보 모델링 (information modeling) 현실세계의 데이터 관점을 개념적 관점으로 변환하는 설계과정 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 학사관리 시스템 구축을 위한 데이터베이스 모델링

학사관리 시스템 구축을 위한데이터베이스 모델링

학사관리 시스템 구축을 위한데이터베이스 모델링

2. 데이터베이스 설계 단계2. 데이터베이스 설계 단계

3. 개체 – 관계 모델 설계3. 개체 – 관계 모델 설계

4. 확장 E-R 모델 설계4. 확장 E-R 모델 설계

5. E-R 모델을 이용한 논리적 모델 설계5. E-R 모델을 이용한 논리적 모델 설계

1. 데이터베이스 모델링1. 데이터베이스 모델링

Page 2: 학사관리 시스템 구축을 위한 데이터베이스 모델링

데이터베이스 설계 필요로 하는 데이터베이스 응용을 지원할 수 있도록 필요한 데이터를 조직하는 것

정보 모델링 (information modeling) 현실세계의 데이터 관점을 개념적 관점으로 변환하는 설계과정 추상화 (abstraction), 모델링 도구 (modeling tool) 개체 - 관계 모델 (E-R model : Entity – Relationship model) : 가장 널이 이용되는 모델링

도구

데이터 모델링 (data modeling) 개념적 데이터베이스를 논리적 설계로 변환하는 설계과정 관계 데이터 모델 (relational data model) : 가정 널리 이용되는 데이터 모델

데이터베이스 구현 목표 데이터베이스 관리 시스템 (target DBMS) 이용하여 저장 DB 로 구현함

1. 데이터베이스 모델링1. 데이터베이스 모델링

Page 3: 학사관리 시스템 구축을 위한 데이터베이스 모델링

데이터베이스 모델링 과정데이터베이스 모델링 과정

정보 모델링 데이터 모델링

학과

교수 학생소속

현실 세계 관점 개념적 관점 논리적 관점 데이터베이스

데이터베이스구현

어떤 모델링 도구를사용할 것인가 ?

어떤 데이터 모델을적용할 것인가 ?

어떤 DBMS 를이용할 것인가 ?

이슈 이슈 이슈

Page 4: 학사관리 시스템 구축을 위한 데이터베이스 모델링

추상화 (Abstraction)추상화 (Abstraction)

분류 추상화 (Classification Abstraction)

집단 추상화 (Aggregation Abstraction)

일반 추상화 (Generalization Abstraction)

Month

Jan. Feb. Dec.

IS_MEMBER_OF

Computer

Keyboard CPU Memory

IS_PART_OF

Computer

IBM_PC Mac. WS

IS_A

공통 성질들로 특성화되어 있는 어떤 형실 세계 객체의클래스 (class) 를 하나의 개념으로 정의할 때 사용

각각의 구성 요소를 표현하는 ( 다른 ) 클래스들의집합으로부터 새로운 클래스를 정의하는 것

두 개의 ( 또는 이상의 ) 클래스 요소 사이의부분 집합 관계를 정의하는 것상속 (Inheritance)

Page 5: 학사관리 시스템 구축을 위한 데이터베이스 모델링

2. 데이터베이스 설계 단계2. 데이터베이스 설계 단계

개념적 설계 (conceptual design) 단계 개념적 스키마 (conceptual schema) 설계함

개념적 스키마 : 목표 DBMS 엔진과는 독립적인 스키마를 가리킴

데이터베이스에 저장되는 정보의 내용 관점에서 스키마를 설계함

논리적 설계 (logical design) 단계 논리적 스키마 (logical schema) 를 설계함

논리적 모델을 이용함 : 관계 모델 , 계층 모델 , 네트워크 모델 , 객체지향 모델 등

물리 적 설계 (physical design) 단계 물리적 스키마 (Physical schema) 를 설계함

데이터베이스를 보조기억장치에 저장하기 위한 상헤한 사항을 기술함

데이터베이스의 저장 구조와 접근 방법 등을 설계함

목표 DBMS 에 적합한 스키마를 설계하여야 함

Page 6: 학사관리 시스템 구축을 위한 데이터베이스 모델링

데이터베이스 설계 단계데이터베이스 설계 단계

실세계

요구조건분석

• 데이터 요구 조건 분석• 처리 요구 조건 분석• 결과물 : 분석서

개념적 설계 • 특정 DBMS 와 독립적인 (independent) 스키마 설계• 결과물 : 개념적 스키마

논리적 설계• 특정 데이터 모델을 적용한 스키마 설계• 특정 DBMS 와 독립적인 스키마 설계• 결과물 : 논리적 스키마

물리적 설계 • 특정 DBMS 에 적합한 저장 구조와 접근 방법 설계• 결과물 : 물리적 스키마

Page 7: 학사관리 시스템 구축을 위한 데이터베이스 모델링

개체 - 관계 모델 (E-R model :Entity- Relationship model)

1976 년 Peter Chen 에 의해 발표됨

개념 스키마 설계시 가장 널리 이용되는 도구

구성 요소 : 개체 (entity), 관계 (relationship), 속성 (attribute) 등

확장 E-R 모델 (EER model :Extended E-R model)

E-R 모델의 개체 , 관계 , 속성 등의 개념에 일반화 , 세분화 , 약한 개체 유형 , 복합 속성 등과 같은 개념이 추가된 새로운 개념의 E-R 모델

3. 개체 - 관계 모델3. 개체 - 관계 모델

Page 8: 학사관리 시스템 구축을 위한 데이터베이스 모델링

An entity is a “thing” or “object” in the real world that is distinguishable from all other objects.

An entity set is a set of entities of the same type that share the same properties, or attributes.

개체 - 관계 모델 개념개체 - 관계 모델 개념

Reference : Database System Concepts -Third Edition- Abraham Silberschatz, Henry F. Korth, S. Sudarshan

Jones

Smith

Hayes

Jackson

Curry

Willams

Adams

321-12-3123

019-28-3746

677-89-9011

555-55-5555

244-66-8800

963-96-3963

333-57-7991

Main

North

Main

Dupont

North

Nassau

Spring

Harrison

Rye

Harrison

Woodside

Rye

Princeton

Pittsfield

L-17 1000

L-23 2000

L-15 1500

L-14 1500

L-93 500

L-11 900

L-16 1300

customer loan

Entitysets

customerandloan

Page 9: 학사관리 시스템 구축을 위한 데이터베이스 모델링

개체 - 관계 모델 Notation개체 - 관계 모델 Notation

Notation Meaning

Entity Name

Entity Name

RelationshipName

RelationshipName

AttributeName

AttributeName

The Strong Entity Type

The Weak Entity Type

The Relationship Type

The Weak Relationship Type

The Attribute

The Primary Key Attribute

Page 10: 학사관리 시스템 구축을 위한 데이터베이스 모델링

개체 - 관계 모델 Notation (Cont’d)개체 - 관계 모델 Notation (Cont’d)

Notation Meaning

The Multi-valued Attribute

The Derived Attribute

The Composite Attribute

AttributeName

AttributeName

CompositeAttribute Name

AttributeName

AttributeName

AttributeName

Page 11: 학사관리 시스템 구축을 위한 데이터베이스 모델링

개체란 ?

실세계에 존재하는 실체를 의미하는 것으로 객체 클래스를 구성함

개체 표현 개체의 그래팩 표현은 사각형으로 표시됨

3.1 E-R 모델의 구성요소 – 1. 개체3.1 E-R 모델의 구성요소 – 1. 개체

학과교수 학생강좌

Page 12: 학사관리 시스템 구축을 위한 데이터베이스 모델링

관계 표현 관계는 두 개 이상의 개체들을 연결한 집단화 (aggregation) 로 구성됨

이항 관계 (binary relationship), 삼항 관계 (ternary relationship), n 항 관계가 존재함

3.1 E-R 모델의 구성요소 – 2. 관계3.1 E-R 모델의 구성요소 – 2. 관계

교수 학생지도

교수 강좌강의

강좌 학생등록

학과

교수 학생소속

(a) 이항 관계 표현 (b) 삼항 관계 표현

Page 13: 학사관리 시스템 구축을 위한 데이터베이스 모델링

관계 표현 관계는 두 개 이상의 개체들을 연결한 집단화 (aggregation) 로 구성됨

이항 관계 (binary relationship), 삼항 관계 (ternary relationship), n 항 관계가 존재함

매핑 카디널리티 E-R 모델의 관계는 개체와 연결될 때 대응 (mapping) 되는 수가 존재하는데 이와 같은

대응수를 말함

최대 대응수 (maximum cadinality) 와 최소 대응수 (minimum cadinality) 로 구분됨

이항 관계 매핑 카디널리티 일 대 일 (1:1, one to one) 관계

일 대 다 (1:n, one to many) 관계

다 대 일 (n:1, many to one) 관계

다 대 다 (n:n, many to many) 관계

3.1 E-R 모델의 구성요소 – 2. 관계3.1 E-R 모델의 구성요소 – 2. 관계

Page 14: 학사관리 시스템 구축을 위한 데이터베이스 모델링

매핑 카디널리티 E-R 모델의 관계는 개체와 연결될 때 대응 (mapping) 되는 수 즉 , 대응수를 말함

최대 대응수 (maximum cadinality) 와 최소 대응수 (minimum cadinality) 로 구분됨

이항 관계 매핑 카디널리티

3.1 E-R 모델의 구성요소 – 2. 관계3.1 E-R 모델의 구성요소 – 2. 관계

A B A B

A B A B

Oneto

many

Manyto

many

Oneto

one

Manyto

one

Page 15: 학사관리 시스템 구축을 위한 데이터베이스 모델링

매핑 카디널리티가 포함된 E-R 다이어그램 ( 예제 1)

다음과 같은 조건 하에서 교수 개체와 학생 개체간에 성립하는 지도 관계의 매핑 카디널리티를 결정하고 , E-R 다이어 그램을 작성하라 .

조건 1 : 교수는 꼭 학생에 대한 지도를 해야 한다 . min-card( 교수 , 지도 ) = 1

조건 2 : 교수는 여러 명의 학생을 지도할 수 있다 . max-card( 교수 , 지도 ) = n

조건 3 : 학생은 꼭 교수에게 지도를 받아야 한다 . min-card( 교수 , 지도 ) = 1

조건 4 : 학생은 여러 명의 교수에게 지도를 받을 수 없다 . max-card( 교수 , 지도 ) = 1

3.1 E-R 모델의 구성요소 – 2. 관계3.1 E-R 모델의 구성요소 – 2. 관계

교수 학생지도

(1, n) (1, 1)

min-card max-card

Page 16: 학사관리 시스템 구축을 위한 데이터베이스 모델링

매핑 카디널리티가 포함된 E-R 다이어그램 ( 예제 2)

다음과 같은 조건 하에서 교수 개체와 강좌 개체간에 성립하는 강의 관계의 매핑 카디널리티를 결정하고 E-R 다이어그램을 작성하라 .

조건 1 : 교수는 꼭 하나 이상의 강좌를 강의해야 한다 . min-card( 교수 , 강의 ) = 1

조건 2 : 교수는 여러 개의 강좌를 강의할 수 있다 . max-card( 교수 , 강의 ) = n

조건 3 : 강좌는 특정 학기에 개설되지 않을 수도 있다 . min-card( 강좌 , 강의 ) = 0

조건 4 : 한 강좌는 여러 명의 교수가 강의 할 수 있다 . max-card( 강좌 , 강의 ) = n

3.1 E-R 모델의 구성요소 – 2. 관계3.1 E-R 모델의 구성요소 – 2. 관계

교수 강좌강의

(1, n) (0, n)

Page 17: 학사관리 시스템 구축을 위한 데이터베이스 모델링

매핑 카디널리티가 포함된 E-R 다이어그램 ( 예제 3)

다음과 같은 조건 하에서 강좌 개체와 학생 개체간에 성립하는 등록 관계의 매핑 카디널리티를 결정하고 E-R 다이어그램을 작성하라 .

조건 1 : 강좌는 등록 학생이 없을 수도 있다 . min-card( 강좌 , 등록 ) = 0

조건 2 : 강좌는 여러 명의 학생이 등록할 수 있다 . max-card( 강좌 , 등록 ) = n

조건 3 : 학생은 적어도 하나이상의 강좌를 등록해야 한다 . min-card( 학생 , 등록 ) = 1

조건 4 : 학생은 하나이상의 강좌를 등록할 수 있다 . max-card( 학생 , 등록 ) = n

3.1 E-R 모델의 구성요소 – 2. 관계3.1 E-R 모델의 구성요소 – 2. 관계

강좌 학생등록

(0, n) (1, n)

Page 18: 학사관리 시스템 구축을 위한 데이터베이스 모델링

매핑 카디널리티가 포함된 E-R 다이어그램 ( 예제 4)

다음과 같은 조건 하에서 학과 , 교수 , 학생 개체간에 성립하는 소속 관계의 매핑 카디널리티를 결정하고 E-R 다이어그램을 작성하라 .

조건 1 : 교수는 적어도 하나의 학과에 소속되어야 한다 . min-card( 교수 , 소속 ) = 1 조건 2 : 교수는 하나 이상의 학과에 소속될수 있다 . max-card( 교수 , 소속 ) = n 조건 3 : 학생은 적어도 하나의 학과에 소속되어야 한다 . min-card( 학생 , 소속 ) = 1 조건 4 : 학생은 하나의 학과에 소속될 수 없다 . max-card( 학생 , 소속 ) = 1 조건 5 : 학과에는 적어도 한 명 이상의 교수와 학생이 소속되어야 한다 .

min-card( 학과 , 소속 ) = 1 조건 6 : 학과에는 여러 명의 교수와 학생이 소속될 수 있다 . max-card( 학과 , 소속 ) =

n

3.1 E-R 모델의 구성요소 – 2. 관계3.1 E-R 모델의 구성요소 – 2. 관계

학과

교수 학생소속(1, n) (1, 1)

(1, n)

Page 19: 학사관리 시스템 구축을 위한 데이터베이스 모델링

속성이란 ?

개체 또는 관계에 대한 특성 ( 속성 ) 을 기술하는 데이터 항목을 말함 .

속성의 예 개체 : 자동차 ----------- 속성 : 제조회사 , 엔지크기 , 차량색상

교수 개체와 강좌 개체를 연결하는 강의 관계 ----- 속성 : 강의요일 , 시작시간 , 강의실 위치

속성의 그래픽 표현은 타원으로 표시한다 .

속성의 분류 단일 값 속성 : 속성 값이 원자 값인 것으로 하나의 값만 존재하는 것

다중 값 속성 : 속성 값이 여러 개 존재할 수 있는것

복합 속성 : 속성 값이 여러 의미를 포함하는 것

유도 속성 : 기존 속성 값을 이용하여 새롭게 유도해 낸 속성

3.1 E-R 모델의 구성요소 – 3. 속성3.1 E-R 모델의 구성요소 – 3. 속성

Page 20: 학사관리 시스템 구축을 위한 데이터베이스 모델링

단일 값 속성 (single-valued attribute) ---- 예제 5

교수 개체와 학생 개체의 릴레이션 스킴이 각각 다음과 같을 때 E-R 다이어그램을 작성하라 . -- 교수 ( 교수번호 , 이름 , 직급 , 소속학과 , 연구실 , 전화 , 주소 , 생년월일 ,

입사일 , 호봉 ) -- 학생 ( 학번 , 이름 , 학과 , 전화 , 주소 , 지도교수 , 생년월일 )

3.1 E-R 모델의 구성요소 – 3. 속성3.1 E-R 모델의 구성요소 – 3. 속성

교수 학생지도(1, n) (1, 1)

교수번호

이름

직급

연구실

전화

주소

생년월일

입사일

호봉

소속학과

학번

이름

학과

학년

전화

주소

지도교수

생년월일

Page 21: 학사관리 시스템 구축을 위한 데이터베이스 모델링

단일 값 속성 (single-valued attribute) ---- 예제 6

교수 개체와 강좌 개체를 연결하는 강의 관계에 속성이 포함된 E-R 다이어그램을 작성하라 .

단 , 강의 관계의 속성에는 강의 요일 , 강의 시작시간 , 강의실 위치 등이 포함된다 .

3.1 E-R 모델의 구성요소 – 3. 속성3.1 E-R 모델의 구성요소 – 3. 속성

교수 강좌강의

(1, n) (0, n)

요일 강의실시작시간

Page 22: 학사관리 시스템 구축을 위한 데이터베이스 모델링

단일 값 속성 (single-valued attribute) ---- 예제 7

강좌 개체와 학생 개체를 연결하는 등록 관계에 속성이 포함된 E-R 다이어그램을 작성하라 .

단 , 등록 관계의 속성에는 등록 강좌의 점수와 성적이 포함된다 .

3.1 E-R 모델의 구성요소 – 3. 속성3.1 E-R 모델의 구성요소 – 3. 속성

강좌 학생등록

(0, n) (1, n)

성적점수

Page 23: 학사관리 시스템 구축을 위한 데이터베이스 모델링

다중 값 속성 (multi-valued attribute)

그래픽 표현 : 이중 선 타원

예제 8

< 예제 6> 의 교수 개체에 다중 값 속성인 취미를 추가한 E-R 다이어그램을 작성하라 .

3.1 E-R 모델의 구성요소 – 3. 속성3.1 E-R 모델의 구성요소 – 3. 속성

교수 강좌강의(1, n) (0, n)

요일 강의실시작시간

취미

Page 24: 학사관리 시스템 구축을 위한 데이터베이스 모델링

복합 속성 (composite attribute) ---- 예제 9

< 예제 6> 의 교수 개체에 주소 복합 속성을 추가하여 E-R 다이어그램으로 작성하라 .

단 , 주소복합 속성은 시 - 도 , 구 - 군 , 읍 - 면 - 동 , 번지 , 우편번호 등으로 구성된다 .

3.1 E-R 모델의 구성요소 – 3. 속성3.1 E-R 모델의 구성요소 – 3. 속성

교수 강좌강의(1, n) (0, n)

요일 강의실시작시간

주소

시 · 도

구 · 군

읍 · 면 · 동

번지

우편번호

Page 25: 학사관리 시스템 구축을 위한 데이터베이스 모델링

유도 속성 (derived attribute)

그래픽 표현 : 점선 타원으로 표시

예제 10

< 예제 6> 의 교수 개체에 근무년수 유도 속성을 추가한 E-R 다이어그램으로 작성하라 .

3.1 E-R 모델의 구성요소 – 3. 속성3.1 E-R 모델의 구성요소 – 3. 속성

교수 강좌강의

(1, n) (0, n)

요일 강의실시작시간

근무년수

Page 26: 학사관리 시스템 구축을 위한 데이터베이스 모델링

약한 개체 (weak entity) 란 ?

개체 중에 독자적으로 존재할 수 없는 개체를 말함 .

3.1 E-R 모델의 구성요소 – 4. 약한 개체3.1 E-R 모델의 구성요소 – 4. 약한 개체

교수 강좌강의(1, n) (0, n)

요일 강의실시작시간

부양

부양가족

(0, n)

(1, 1)

예제 11

< 예제 6> 의 교수 개체와 부양관계가 있는 부양가족 개체를 추가한 E-R

다이어그램으로 작성하라 , 단 부양가족 개체는 약한 개체이다 .

조건 1 : 교수는 부양가족이 없을 수도 있다 .

조건 2 : 교수는 한 명 이상의 부양가족이 있을 수 있다 .

조건 3 : 부양가족은 꼭 한 명의 교수 가족이어야 한다 .

조건 4 : 학생은 하나 이상의 학과에 소속될 수 없다 .

Page 27: 학사관리 시스템 구축을 위한 데이터베이스 모델링

E-R 다이어그램 예E-R 다이어그램 예

학과

교수 학생

강좌

학과코드 학과명

소속

학과장 조교 위치전화

지도

등록강의

교수번호

이름

직급

연구실

전화

주소

생년월일

입사일

학번

이름

학과

학년

전화

주소

지도교수

강좌번호

강좌이름 학점시수 필수 / 선택

요일

강의실

성적

생년월일점수

호봉

소속학과

시작시간

(1, n) (1, 1)

(1, n)

(0, n) (0, n)

(1, n)

(1, n) (1, 1)

(1, n)

그림 1

Page 28: 학사관리 시스템 구축을 위한 데이터베이스 모델링

확장 E-R 모델 (Extended E-R model)

1976 년 Peter Chen 이 제안한 E-R 모델에 새로운 개념을 추가한 모델임

새롭게 추가된 핵심 개념 세분화 (specialization)- 일반화 (generalization) 개념

집단화 (aggregation) 개념

4. 확장 E-R 모델4. 확장 E-R 모델

Page 29: 학사관리 시스템 구축을 위한 데이터베이스 모델링

세분화 (specialization) 개체를 작은 그룹별로 분리하는 것 ( 상위클래스와 하위클래스 )

일반화 (generalization) 여러 개체의 공통 적인 특징을 하나의 클래스 개체로 일반화시키는 것

IS-A 관계 (IS-A relationship) 상위클래스와 하위클래스의 관계 : “ 남자 Is-a 사람”이고 “여자 Is-a 사람”이라는 관계

성립

4.1 세분화•일반화 – 1. 개념4.1 세분화•일반화 – 1. 개념

사람

남자 여자

기혼남자

미혼남자

미혼여자

기혼여자

자동차

승용차 상용차

자가용 승합차 버스트럭

(a) 사람 개체의 세분화 · 일반화 (b) 자동차 개체의 세분화 · 일반화

세분화

일반화

Page 30: 학사관리 시스템 구축을 위한 데이터베이스 모델링

상 하위클래스 간의 인스턴스 매핑•상 하위클래스 간의 인스턴스 매핑•

김병곤

김경하

이순미

신판섭

최의인

이애정

안우영

이강우

최연숙

박선주

고병오

이재무

김병곤신판섭최의인안우영이강우고병오이재무

김현희

이순미

이애정

최연숙

박선주

김병곤최의인이강우고병오

신판섭

안우영

이재무

김현희

이애정

박선주

이순미

최연숙

사람남자

여자

기혼남자

미혼남자

기혼여자

미혼여자

Page 31: 학사관리 시스템 구축을 위한 데이터베이스 모델링

예제 12

< 예제 1> 의 교수와 학생 개체에 다음과 같은 조건을 만족하는 하위클래스 개체를 포함하는 E-R 다이어그램으로 작성하라 .

조건 1 : 교수 개체는 하위클래스 개체로 정교수 ,부교수 , 조교수 , 전임강사를 포함한다 .

조건 2 : 학생 개체는 하위클래스 개체로 학부생 , 대학원생 , 사회교육원생을 포함한다 .

4.1 세분화•일반화 – 2. 개념을 적용한 E-R 모델4.1 세분화•일반화 – 2. 개념을 적용한 E-R 모델

교수 학생지도(1, n) (1, 1)

IS-A

정교수 부교수 조교수 전임강사

IS-A

학부생 대학원생

사회교육원생

Page 32: 학사관리 시스템 구축을 위한 데이터베이스 모델링

불필요한 포함 속성을 제거할 수 있다 .

동일한 개체 유형에 포함되는 개체 인스턴스들도 서로 다른 속성들을 포함할 수 있다 .

4.1 세분화•일반화 – 3. 개념의 장점4.1 세분화•일반화 – 3. 개념의 장점

상위클래스

학생

IS-A

학부생 대학원생

사회교육원생

학번 이름 전화번호

학과 학과 교육과정

하위클래스

공통속성

속성 계승

전공과정

< 속성 계승 개념 >

Page 33: 학사관리 시스템 구축을 위한 데이터베이스 모델링

특정 하위클래스 개체의 관계 표현이 가능하다 .

4.1 세분화•일반화 – 3. 개념의 장점4.1 세분화•일반화 – 3. 개념의 장점

학생

IS-A

학부생 대학원생

사회교육원생

학번 이름 전화번호

학과

학과

교육과정취업

직장

전공과정

개체 유형과 IS-A 관계를 가지는 하위클래스 개체들 중에는 다른 하위클래스 개체가 가지지 않는 특정 관계 유형을 포함할 수 있다

Page 34: 학사관리 시스템 구축을 위한 데이터베이스 모델링

집단화 (Aggregation)

단위 개체들을 하나로 묶어 상위 레벨의 복합 개체를 구성하는 것

중복되는 관계를 단순한 관계로 표현할 수 있다 .

4.2 집단화4.2 집단화

교수 학생

학과

소속

지도 교수 학생

학과

소속

지도

(a) 관계가 중복된 E-R 다이어그램 (b) 집단화 개념을 적용한 E-R 다이어그램

집단화

Page 35: 학사관리 시스템 구축을 위한 데이터베이스 모델링

개념적 설계 E-R 모델을 이용한 데이터베이스 설계

논리적 모델 설계 개념적이후에 이루어지는 데이터베이스 설계

어떤 데이터베이스 모델을 이용하느냐에 따라 상이한 설계가 이루어짐

논리적 모델 관계 모델

네트워크 모델

계층 모델

객체지향 모델 등

5. E-R 모델을 이용한 논리적 모델 설계5. E-R 모델을 이용한 논리적 모델 설계

Page 36: 학사관리 시스템 구축을 위한 데이터베이스 모델링

계층 데이터 모델 (Hierarchical data model)

트리 구조 (tree structure) 를 이용한 데이터 모델

계층 데이터베이스 관리 시스템 계층 데이터 모델 기반으로 개발된 데이터베이스 시스템

IMS(IBM 사에서 개발 ), System2000(MRI 사에서 개발 )

계층 데이터 모델 예

5.1 데이터베이스의 논리적 모델5.1 데이터베이스의 논리적 모델

강좌

강의

교수 학생

Page 37: 학사관리 시스템 구축을 위한 데이터베이스 모델링

네트워크 데이터 모델 (Network data model)

네트워크 구조 (network structure) 를 이용한 데이터 모델

네트워크 데이터베이스 시스템 네트위크 데이터 모델 기반으로 개발된 데이터베이스 시스템

1971 년 : CODASYL, DBTG 이후 IDMS, TOTAL, IDS II, DMS/1100 개발

네트워크 데이터 모델 예

5.1 데이터베이스의 논리적 모델5.1 데이터베이스의 논리적 모델

강좌

강의

교수 전수

학생

Page 38: 학사관리 시스템 구축을 위한 데이터베이스 모델링

개체와 속성의 설계

설계 규칙 1

개체는 릴레이션 (테이블 ) 로 변환하고 , 속성은 해당 릴레이션의 속성으로 설계한다 .

그리고 릴레이션의 기본키는 밑줄로 표시한다 .

예제 13

< 그림 1> 의 E-R 다이어 그램 예에서 학과 , 학생 , 강좌 개체의 관계 데이터베이스 스키마를 설계하라 .

5.2 관계 데이터베이스 설계5.2 관계 데이터베이스 설계

< 학과 릴레이션 스키마 >학과코드 학과명 학과장 조교 전화 위치

강좌번호 강좌이름 시수 학점 필수 / 선택

학번 이름 학과 학년 전화 주소 지도교수 생년월일

< 학생 릴레이션 스키마 >

< 학좌 릴레이션 스키마 >

Page 39: 학사관리 시스템 구축을 위한 데이터베이스 모델링

설계 규칙 2

개체에 포함된 다중 값 속성은 독립적인 릴레이션으로 설계한다 . 이 때 , 설계 릴레이션에는 다중 값 속성이 포함되어 있는 개체의 기본키를 포함시킨다 .

예제 14

< 그림 1> 의 E-R 다이어 그램 예에서 교수 개체와 교수 개체의 다중 값 속성인 최미 속성의 관계 데이터베이스 스키마를 설계하라 .

5.2.2 다중 값 속성의 설계5.2.2 다중 값 속성의 설계

< 교수 릴레이션 스키마 >

교수번호 이름 직급 연구실 전화 주소 생년월일 입사일 호봉소속학과

교수번호 취미

<취미 릴레이션 스키마 >

Page 40: 학사관리 시스템 구축을 위한 데이터베이스 모델링

< 예제 14> 설계 결과에 내포된 의미

5.2.2 다중 값 속성의 설계5.2.2 다중 값 속성의 설계

< 기본키 >

취미 릴레이션의 경우 교수번호와 취미가 기본키가 된다 .

< 조인 속성 >

0001000200030004

김수철이기문박동진이재무

교 수교 수부교수교 수

T102T103T302C303

4102410343024303

서울…null

서울…서울…

교수번호 이름 직급 연구실 전화 주소

19520401195406051961010519501102

생년월일

00880301008909010091030100910901

입사일

교수

35332631

호봉소속학과

001001003003

수영 , 음악감상수영 , 테니스골프 , 스쿼시등산 , 바둑 , 배드민턴

취미

관계 규칙 위반

0001000200030004

김수철이기문박동진이재무

교 수교 수부교수교 수

T102T103T302C303

4102410343024303

서울…null

서울…서울…

교수번호 이름 직급 연구실 전화 주소

19520401195406051961010519501102

생년월일

00880301008909010091030100910901

입사일

교수

35332631

호봉소속학과

001001003003

수영음악감상수영테니스

취미

0001000100020002

교수번호

조인 속성

취미

< 관계 규칙 >

Page 41: 학사관리 시스템 구축을 위한 데이터베이스 모델링

설계 규칙 3

속성을 포함하는 이진 관계는 독립적인 릴레이션으로 설계한다 . 이 때 , 설계 릴레이션에는 이진 관계로 연결되는 개체의 기본키를 포함시킨다 .

5.2.3 속성을 포함하는 관계의 설계5.2.3 속성을 포함하는 관계의 설계

< 강의 릴레이션 스키마 >

< 등록 릴레이션 스키마 >

예제 15 < 그림 1> 의 E-R 다이어 그램 예에서 교수 개체와 강좌 개체를 연결하는 강의 관계의

관계 데이터베이스 스키마를 설계하라 .

예제 16 < 그림 1> 의 E-R 다이어 그램 예에서 강좌 개체와 학생 개체를 연결하는 등록 관계의

관계 데이터베이스 스키마를 설계하라 .

강좌번호 교수번호 요일 시작시간 강의실

강좌번호 학번 성적 점수

Page 42: 학사관리 시스템 구축을 위한 데이터베이스 모델링

< 예제 15> 와 < 예제 16> 설계 결과에 내포된 의미

5.2.3 속성을 포함하는 관계의 설계5.2.3 속성을 포함하는 관계의 설계

9911001991200299110039813009

정찬우김정길강재우이수자

컴퓨터공학과정보과학과

컴퓨터공학과정보통신공학과

2223

0233555190346335541103254911150428601144

서울…경기도…인천…대전…

학번 이름 학과 학년 전화 주소

0001000800020003

지도교수

19800505198012151980111919791205

생년월일

학생

0001000100010001

9911001991200299110039813009

A+B+A0C+

강좌번호 학번 성적

등록

95829075

점수

0001000200030004

정보사회와 컴퓨터데이터베이스네트워크C 언어

3333

3333

RRRO

강좌번호 강좌이름 시수 학점 필수 / 선택

강좌

조인 조인

0001000200030004

정보사회와 컴퓨터데이터베이스네트워크C 언어

3333

3333

RRRO

강좌번호 강좌이름 시수 학점 필수선택

강좌

0001000200030004

김수철이기문박동진이재무

교 수교 수부교수교 수

T102T103T302C303

4102410343024303

서울…null

서울…서울…

교수번호 이름 직급 연구실 전화 주소

19520401195406051961010519501102

생년월일

00880301008909010091030100910901

입사일

교수

35332631

호봉소속학과

001001003003

0001000100010001

0001000200050005

montuewedthu

1511

T447T448T337T337

강좌번호 교수번호 요일 시작시간 강의실

강의

조인 조인

(a) 강의 릴레이션의 연결 관계

(b) 등록 릴레이션의 연결 관계