62
- 데이터베이스 시스템 2데이터베이스 설계 2013. 09. 01 가천대학교 컴퓨터 미디어융합학과

제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

- 데이터베이스 시스템 –

제2장 데이터베이스 설계

2013. 09. 01

가천대학교 컴퓨터 미디어융합학과

Page 2: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

목 차

2.1 데이터베이스 환경 2.2 개체와 속성

2.3 DB 설계 개요 2.4 데이터 모델링

2.5 사례 연구 2.6 익힘 문제

Page 3: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

3

2.1 데이터베이스 환경 Database 환경 내용

DB component가 어디에 위치하는가?

1. 집중식 모델

수퍼컴퓨터, 개인용컴퓨터, Cloud 컴퓨팅,,

2. C/S 모델

Client/Server model, Internet model

3. 분산 모델

독립적인 시스템들의 집합

제2장 데이터베이스 설계

Page 4: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

4

2.1 데이터베이스 환경 2.1.1 Centralized model

DB components가 한 곳에:

표현논리, 응용논리, 자료논리, DB엔진

ex. Main frame, PC,,

문제점:

고장 발생시 전부 작업 정지

처리 우선 순위: 병목 현상

제2장 데이터베이스 설계

Page 5: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

5

2.1 데이터베이스 환경 2.1.1 Centralized model

Data system의 내부 구조:

PC 용 Database = 수퍼컴 용 Database

제2장 데이터베이스 설계

Page 6: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

6

2.1 데이터베이스 환경 2.1.2 Client/Server model

* DB components가 client와 server에 배치

Client: 서비스 요청,UI

Server: 서비스 제공, DB

제2장 데이터베이스 설계

Page 7: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

7

2.1 데이터베이스 환경 2.1.2 Client/Server model

배경

PC 등장 : 지능형 단말기, 멀티미디어 UI 제공

RDB: 프로그램과 DB 분리, 자료논리와 DB 엔진의 분리

통신: 속도 향상, 비용 감소

* 하나의 작업을 client와 server가 통신망을 이용하여 나누어 협동 처리

Client/Server process

client 프로그램과 server 프로그램의 협동처리

제2장 데이터베이스 설계

Page 8: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

8

2.1 데이터베이스 환경 Client/Server model

제2장 데이터베이스 설계

Page 9: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

9

2.1 데이터베이스 환경 Web Server model

사용자가 브라우저를 이용하여 인터넷으로 서비스를 요청하고 서버가 서비스를 제공하는 처리 방식

Client:

GUI, web browser

Server:

web server, DB server

배경

WWW, internet

hypertext

제2장 데이터베이스 설계

Page 10: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

10

2.1 데이터베이스 환경 Web Server model

3계층 C/S model

client 프로그램 web server, 응용 프로그램, DBMS

제2장 데이터베이스 설계

Page 11: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

11

2.1 데이터베이스 환경 2.1.3 Distributed model

지역적으로 흩어져 있는 시스템 들을 통신망으로 연결하여 하나의 시스템인 것처럼 서비스를 처리하는 방식.

cooperative operation: 하나의 응용을 여러 컴퓨터에서 협동하여 처리

4개의 논리가 네트워크에 분산되어 협동처리

네트워크 DB: 여러 사이트에 설치된 DB들을 개별적으로 운영

연방 DB: 기존의 여러 사이트에 설치된 DB들을 통합 운영

분산 DB: 하나의 DB를 여러 사이트에 설치하고 하나처럼 운영

제2장 데이터베이스 설계

Page 12: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

12

2.1 데이터베이스 환경 Distributed model

ex. 은행, 보험회사, 유통회사,,

제2장 데이터베이스 설계

Page 13: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

13

2.2 개체와 속성 2.2.1 개체의 구성

an existing and distinguishable object. 파일의 record

a set of attributes

Attribute

Entity Set a set of entity. File

Entity type an entity of attribute names

Entity instance data value itself

Relation entity

제2장 데이터베이스 설계

Page 14: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

14

2.2 개체와 속성 Set ?

강 엔티티

기본키

약 엔티티

no 기본키

cid name addr creditCUSTOMER

1 Kim seoul 1

2 Lee inchon 3

3 Park seoul 1

4 Lee suwon 2

Entity set

Entity name Entity type

Entity instance

Data FieldsFile name

FIle

Records

제2장 데이터베이스 설계

구분 파일처리 데이터베이스 테이블 실례

1 파일 개체 집합 테이블 고객 파일

2 레코드 개체 행 고객 레코드

3 필드 속성 열 고객번호, 이름,,

4 파일구성 개체 유형 헤드 고객번호, 이름, 주소, 전화,,

5 인스턴스 인스턴스 인스턴스 15,홍길동,서울, 02-333-4444

Page 15: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

주소address

시군구city char(20)

읍면동dong char (20)

나머지number char(20)

주 소 address char(60)

composite attribute

atomic attribute

color

multi-valued attribute

서울시 송파구 오금동 20 현대아파트 22-9

서울시 송파구 오금동 20 현대아파트 22-9

{red, green, blue}

15

2.2 개체와 속성 Attributes 개체의 특성을 기술하는 자료

atomic attribute, composite attribute,

key attribute

1. Atomic 속성

하나의 값

2. Composite 속성

여러 속성으로 구성

3. Multi-valued 속성

여러 개의 값 중에서 한 가지만 가능

제2장 데이터베이스 설계

Page 16: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

16

2.2 개체와 속성 Domain 자료 값들이 주어지는 범위. 정의역 속성이 가질 수 있는 값들의 집합 a set of atomic values. Attribute 도메인이 사용된 역할 속성: 도메인의 값들을 저장하는 공간. Q: 다음 변수와 자료형의 관계를 설명하시오 integer j = 0;

제2장 데이터베이스 설계

8 46

1 02 3 9

5 7

C f B m

Q K j I nA w r t g l v

D y p u xO S z

name

cid

oid

company

address

Attribute Domain

Page 17: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

17

2.2 개체와 속성 2.2.2 Identifier & key 식별이 가능한 이름(속성) key: 개체 집합에서 고유하게 개체를 식별할 수 있는 속성 Candidate key : 키들의 집합 super key: 한 개 이상의 속성으로 구성된 키. compound key primary key : 테이블의 대표로 선정된 키 foreign key : 다른 테이블에서 기본 키로 사용되는 속성. secondary key : 중복을 허용하는 키.

제2장 데이터베이스 설계

Page 18: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

18

2.2 개체와 속성

외부 키

key 설계: 좋은 키 ? 짧고, 의미 부여 ex. 일련번호는 짧으나 의미가,,, 안전한 키? check digit Q: 비디오 대여점을 위한 테이블을 설계하시오. key 포함.

제2장 데이터베이스 설계

고객 판매구매

CID CIDSIDname 주소주민

번호amountitems

1 n

......외부 키기본 키

Page 19: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

19

2.2 개체와 속성 2.2.3 개체와 사상

함수 관계

정의역(X)의 모든 원소들이

치역(Y)에 1:1 대응되는 원소가 존재하는 관계.

Domain 정의역

조건(정의)에 의하여 주어지는 원소들의 범위

Ex. 정수: 1부터 시작하여 1씩 더하거나 빼서 만들 수 있는 수.

Range: 치역

정의역의 원소에 의하여 결정되는 원소들의 범위

제2장 데이터베이스 설계 y = f(x) = 2x2 + 1

x: integer & -1 < x < 3

0

2

1

1

9

3

domain: x range: y

Page 20: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

20

2.2 개체와 속성 Mapping cardinality

제2장 데이터베이스 설계

가정교사

학생

강의

1

1

담임교사

학생

강의

1

n

과목교사

학생

강의

n

n

교사

왕세자

강의

1

n

가정 초등학교 왕궁 중고등학교

Page 21: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

21

2.2 개체와 속성 2.2.3 개체와 사상

함수 관계

1) 일대일

2) 다대일

제2장 데이터베이스 설계

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

(a) 일대일 관계(함수 관계) (b) 일대다 관계

(c) 다대일 관계(함수 관계) (d) 다대다 관계

.

.

.

.

.

.

X X

X X

Y Y

Y Y

A A

A A

B B

B B

C C

C C

a a

a a

b b

b b

c c

c c

Page 22: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

22

2.3 DB 설계 개요 2.3.1 응용 DB 개발 공정

업무 담당자

분석 공정

SA, DBA

설계 공정

SA, Programmer

구현 공정

Programmer

시험 공정

SA, Pgmr

제2장 데이터베이스 설계

Page 23: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

23

2.3 DB 설계 개요 DB 개발 공정과 산출물

제2장 데이터베이스 설계

Page 24: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

24

2.3 DB 설계 개요 개발 공정별 담당업무 및 산출물

제2장 데이터베이스 설계

공정 담당자 산 출 물

자료 부문 코드 부문

기획 PM, SA 개발계획서(일정, 인력, 장비, 비용, 품질보증,,,

분석 SA, DBA 요구 명세서, 업무 흐름도

ERD, 자료사전 자료흐름도, 기능명세서

설계 SA, Programmer 관계 스키마, 제약조건 구조차트, 모듈설명서,

모듈스펙

구현 Programmer 데이터베이스 소스코드

사용자 설명서

시험 Programmer 시험성적표

Page 25: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

25

2.3 DB 설계 개요 2.3.2 자료 설계

Analysis

업무 분석: 업무 내역

요구 분석: 요구 시스템

Design

- 개념 설계: 전체 구조 설계, ER model, 개념 스키마

- 논리 설계: 상세 설계, ER model을 관계 스키마로, 정규화

- 물리 설계: 성능 기준에 맞게 정제, 내부 스키마

제2장 데이터베이스 설계

Page 26: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

제약조건

제약조건

제약조건

업무별 분석

정제, 변환

종합 분석

외부 스키마

관계 스키마

개념 스키마

저장 구조

내부 스키마

요구 분석

산출물

자료 사전

분석 공정

설계 공정

DBMS 독립

DBMS 종속

1개념 설계

2논리설계

3물리설계

26

2.3 DB 설계 개요 DB 설계업무와 산출물

제2장 데이터베이스 설계

Page 27: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

27

2.3 DB 설계 개요 개념적 설계

DBMS에 독립적, ER model

외부 스키마

- 자료 정의 : ERD, relation schema, View

- 자료 제약조건

개념 스키마

- 자료정의: 통합 ERD작성

제2장 데이터베이스 설계

Page 28: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

28

2.3 DB 설계 개요 외부 스키마

사용자가 단편적인 업무를 위해 관리하는 자료의 집합

사용자: 홍보 담당, 고객 담당, 경리 담당, 배송 담당, 영업담당

제2장 데이터베이스 설계

고 객

cid name addr tel

고 객

주문상품

고 객

주문

홍보담당자

영업담당자배송담당자

고 객

고객담당자주문상품

주문상품

상품

창고담당자

주문

상품

주문

경리담당자상품

Page 29: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

29

2.3 DB 설계 개요 개념 스키마

사용자가 관계와 속성들의 의미를 전체적으로 파악하는 도구.

작성 방법: 외부 스키마의 통합

제2장 데이터베이스 설계

구성 교 수

price

판매상품

amountqtyitem

구성

sid sidamount

1 n

고 객

구매

cid name

1

n

cid

addr

items qty

판매

tel

상품

판매

1

n

price qtyitem

Page 30: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

30

2.3 DB 설계 개요 논리적 설계

관계 스키마

개념 스키마를 적용 DBMS에 맞는 스키마로 변환.

관계 데이터베이스 스키마로 변환

정규화

정제된 관계 스키마

- 자료 제약조건

- 관계 스키마 설계: 관계 스키마 R = (A1,A2,…,An)

제2장 데이터베이스 설계

Page 31: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

2.3 DB 설계 개요 물리적 설계

내부 스키마

물리구조 및 저장구조

ex. Catalog.

- 자료형, 자료 길이,,,

- 저장 레코드 양식 설계: 고정길이? 가변길이

- 레코드 클러스터링, 블록 크기, 순차처리? 임의처리?

- 색인 구축: 기본 키, 보조 색인? 해싱?

제2장 데이터베이스 설계

Page 32: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

2.3 DB 설계 개요 3 단계 스키마 구조의 필요성

- 복잡한 내부구조 감추기

사용의 편리: 외부 스키마

- 보안 유지

필요한 부분만 제한적으로 공개: 외부 스키마

- 설계 용이

개념 스키마

- 구현 용이

내부 스키마

제2장 데이터베이스 설계

Page 33: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

2.3 DB 설계 개요 스키마 설계 순서

제2장 데이터베이스 설계

customer(cid, name, address, tel, income, rrn)

sales(sid, cid, date, items, weight, qty, amount)

salesitem(sid, item, price, qty, amount)

cid name

sid cid

telephoneaddress

sid

date weightitems qty amount

priceitem qty amount

income rrn

cid name telephoneaddress 외부 스키마

개념 스키마

물리 스키마

관계 스키마

customer(cid: int, name: char(30), address: char(60), tel: char(15), income: real, rrn: char(14)

sales(sid: int cid, date: DATE, items: char(30), weight:real, qty: real, amount: real)

salesitem(sid: int, item: char(20), price: real, qty: real, amount: real)

Page 34: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

34

2.4 데이터 모델링 2.4.1 Data Model

Data Model?

설계 및 추상화 수단

ex. 관계 모델, 계층 모델, 망 모델, ERD, 관계 스키마,

ER 모델

Entity? Relationship?

개체들과 개체들의 관계를 연결하는 도구.

database 개체간의 관계와 구성을 표현

제2장 데이터베이스 설계

Data Model: data system의 구조, 연산, 제약조건 등을 기술하는 개념들의 집합.

Data Model: 데이터 시스템을 가상적으로 만드는 도구

Page 35: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

35

2.4 데이터 모델링 2.4.2 ER data model

ER Diagram

고객 판매구매

CID CIDSIDname addr rrn amountitems

1 n

......

제2장 데이터베이스 설계

Page 36: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

36

2.4 데이터 모델링 자료 설계 절차

Entity design

entity 정의, key & attribute 정의

ERD 통합

단위 ERD 및 제약조건 통합

외부 스키마들을 통합하여 개념 스키마 작성

관계 스키마

ERD를 관계 스키마로 변환

제약조건 정의

제2장 데이터베이스 설계

Page 37: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

37

2.4 데이터 모델링 Entity Relationship Diagram

ERD Peter Chen: 1976 학위논문. 계속 발전 중 EERD

표기법

제2장 데이터베이스 설계

엔티티 타입

약 엔티티

관계 형태

약 엔티티

식별 관계 형태

애트리뷰트

약 엔티티

식별 속성

다치 애트리뷰트

복합 애트리뷰트

유도된 애트리뷰트

기호 의미 기호 의미

키 애트리뷰트

R 다대일 관계

ER E가 R에 전부 참여

R 일대일 관계

Page 38: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

38

2.4 데이터 모델링 영수증 실례

공급자 정보

고객 정보

구매 금액 및 수량

구매 세부항목

제2장 데이터베이스 설계

50,000원

8.09.11

노트 5 2,000 10,000

볼펜 4 2,500 10,000

A4 용지 1 20,000 20,000

바인더 2 5,000 10,000

50,000원

경원대 구내매점

경원대 전산학과 한지민씨08-23

130,000원 6권8.09.11

운영체제 1 30,000 30,000

130,000원

경원대 전산학과 이서진씨08-23

좁은문 3 10,000 30,000

Database 2 35,000 70,000

수량

서적 소매

성남시 수정구 복정동 경원대 성남시 수정구 복정동 경원대

경원대 구내서점

소매 문구

Page 39: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

39

2.4 데이터 모델링 강개체 집합 설계 ERD 통합

relationship: 둘 이상의 개체간의 관련성.

제2장 데이터베이스 설계

고객 판매주문

CID CIDSIDname 주소주민

번호amountitems

1 n

......외부 키기본 키

고객 판매

CID SIDname 주소주민

번호amountitems ......

(a) 고객 개체 (b) 주문서 개체

(c) 고객과 주문서의 통합 ERD

Page 40: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

40

2.4 데이터 모델링 고객 관계 스키마의 SQL 정의 CREATE TABLE 고객 ( CID integer; name char(30), address char(60), rrn char(13), PRIMARY KEY CID);

제2장 데이터베이스 설계

판매 관계 스키마의 SQL 정의 CREATE TABLE 판매 ( SID integer, CID integer, items char(30), ........ amount long, PRIMARY KEY OID, FOREIGN KEY CID REFERENCES 고객(cid));

Page 41: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

41

2.4 데이터 모델링 약개체집합 설계 ERD 통합

제2장 데이터베이스 설계

주문상품판매

SID amount...

판매상품

SID amountitemCID

주문상품판매

SID amount...

판매상품

SID amountitemCID

주문구매1 n

외부 키기본 키

(a) 주문서 개체 (b) 주문상품 개체

...

...

Page 42: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

42

2.4 데이터 모델링 강개체의 설계 통합 ERD

상품 개체와 주문상품과의 연결

제2장 데이터베이스 설계

주문상품판매상품

SID amountitem

(a) 주문상품 개체

상품

PNO item Qty

(b) 상품 개체

주문상품판매상품

SID amountitem

상품

PNO item Qty

판매

PNO

1n

외부 키 기본 키

... ...

... ...

(c) 주문상품과 상품의 통합 ERD

Page 43: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

43

2.4 데이터 모델링 통합 ERD

Ex. 전자상거래 사이트의 판매를 위한 테이블

제2장 데이터베이스 설계

구성 교 수

price

판매상품

amountqtyitem

구매

sid sidamount

1 n

고 객

주문

cid name1

n

cid

addr

items qty

판매

상품

PNO item Qtyprice

판매

1

n

PNO

Page 44: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

44

2.4 데이터 모델링 ER 모델링의 문제점

도표 기능

- 의미 있는 개념 표기 수단이 미약함

- 결과 테이블 간의 관계만 표시

방법론

분석 및 사용자 중심의 설계 기능 미약

설계 개선을 위한 제안 기능 미약

대책

확장형 ERD: 일반화, 특수화,,, 집합,부분집합,,,

제2장 데이터베이스 설계

Page 45: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

과 목 학 생 수강

sid cidwhen

0804411

0804415

0804419

DB

OS

SE

DC070440

08-1

09-2

08-2

07-1

학생 수강 과목

수강 관계집합의 한 인스턴스

1 n

sid cid

45

2.4 데이터 모델링 2.4.3 관계집합

관계들을 연결함으로써 생성되는 관계

2진 관계 CREATE TABLE 수강 ( sid char(8), cid char(6), when DATE, PRIMARY KEY (sid,cid), FOREIGN KEY sid REFERENCES 학생(sid), FOREIGN KEY cid REFERENCES 과목(cid));

제2장 데이터베이스 설계

Page 46: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

46

2.4 데이터 모델링 삼진 관계: 세 개체간의 관련성.

수강 관계집합의 속성

sid, cid, pid, when

기본키: 3 개체 기본키 합집합

교 수

pid

과 목 학 생 수강

sid cid

when

제2장 데이터베이스 설계

학생 수강 과목

0804411

0804415

0804419

DB

OS

SE

DC070440

08-1

08-2

교수

07-1

09-2

Page 47: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

47

2.4 데이터 모델링 무 제약 조건

제2장 데이터베이스 설계

사원

감독n

감 독 보고1

eid name ...

사원

감독n

감 독 보고1

eid name mid외부키

...

사원 부서

eid name didaddr title Locfrom

근무

사원 사원

eid name eid nameseid

감독

meid

seid meid

Page 48: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

48

2.4 데이터 모델링 관계집합을 관계 스키마로 변환

키 제약조건

- 개체 집합 E의 모든 개체는 관계 집합 R에 한번만 참여시

참여 제약조건

- 개체 집합 E의 모든 개체가 관계 집합 R로의 참가 시 total

- 개체 집합 E의 일부 개체가 관계 집합 R로의 참가 시 partial

약 개체 제약조건

- 개체 집합 E의 일부 개체들의 외부 키가 동일한 개체

순환 제약조건

- 개체 집합 E의 일부 개체들이 다른 개체의 한 부분이 되는 개체

제2장 데이터베이스 설계

Page 49: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

사원 부서관리

eid name didaddr title Loc

from

키 제약조건

49

2.4 데이터 모델링 제약 조건

제2장 데이터베이스 설계

부품

n1 포함

Madeup_of Consist_of

partNo partName pricepNo

순환 제약조건

Role사원

1

부서

관리

근무

1

n

1참여 제약조건

eid name titledid

from

from

약 개체 제약조건

관리

부서

사 원

1

n부양자

부양

DOBdName

cost

Page 50: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

50

2.5 사례 연구 1 실무 데이터베이스 설계: DVD 대여점. 1) 대여 사업 현황

- DVD를 다수 보유하고 있으며 영화가 출시되는 대로 계속 수가 증가하고 있다.

- DVD는 영화별로 여러 장르(멜로,무협,미스터리,SF,다큐,,)로 분류하여 영업에 활용한다.

- 영화별로 여러 개의 비디오 또는 DVD가 있다.

- 고객이 수 천 명에 이를 것으로 추정한다.

2) 요구사항:

- 자료관리: 대여, 반납, 회계 등

- 현황 출력: 고객별, 비디오별, 기간별 대여 등 제반 현황

- 자료 검색: 장르별, 비디오별, 대여별, 배우별 검색 ??잔여 예치금 현황 ?? 10,000원씩 예치하고 8개의 DVD 대여.

제2장 데이터베이스 설계

Page 51: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

51

2.5 사례 연구 1 실무 데이터베이스 설계: 비디오 대여점.

외부 스키마 설계

제2장 데이터베이스 설계

고 객

tel name address

비디오

vid title genre

대 여

tel amountrid

(a) 고객 개체

(c) 대여 개체 (d) 대여비디오 개체

...

... tape#vidrid

대여비디오대여비디오

...

...(b) 비디오 개체

Page 52: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

52

2.5 사례 연구 1 실무 데이터베이스 설계: 비디오 대여점.

외부 스키마 통합 개념 스키마 설계

제2장 데이터베이스 설계

고 객 비디오대여

viddate costtel

1 n

고 객 대 여has

rid datetel

1 n

tel ...

(a) 대여 관계집합

(b) 대여 개체집합

Page 53: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

53

2.5 사례 연구 2 실무 데이터베이스 설계: 인터넷 서점.

1) 서점 사업 현황

- 컴퓨터 관련 서적 수 천 종을 컴퓨터 관련자와 학생들 수 천 명을 고

객으로 판매 시작. 서적의 수와 고객은 꾸준히 증가할 것으로 예상.

- 서적의 종류는 학교 교과서, 이론 서적, 실무용 서적, 프로그래밍 서적,

초보자 입문서 등으로 분류하여 영업에 활용.

3) 요구사항:

- 자료관리: 주문, 회계, 입출고, 배송업무 등

- 현황 출력: 고객별, 분야별, 기간별, 출판사별 주문 및 판매 등 제반 현

- 자료 검색: 분야별, 서적 이름별, 저자별, 출판사별 검색.

제2장 데이터베이스 설계

Page 54: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

54

2.5 사례 연구 2 실무 데이터베이스 설계: 인터넷 서점.

외부 스키마 작성

제2장 데이터베이스 설계

ORDEREDBOOKS

Customer

cid name addr ...

Book

name addr ...ISBN

Order

oid cid amount ...

OrderedBooks

qty ...ISBNoid

(a) 고객 개체 (b) 서적 개체

(c) 주문 개체 (d) 주문서적 개체

Page 55: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

55

2.5 사례 연구 3 - 홈쇼핑회사 -

1) 홈쇼핑 사업 현황

- TV로 상품을 홍보하고 전화로 주문을 받아 판매한다.

- 입금은 카드로 배달은 택배를 이용한다.

2) 요구사항:

- 고객등록: 배달주소, 신용카드 등록

- 주문등록: 전화 ARS로 주문

- 배달 서비스 추적: 배달과정의 통보

- 반품 서비스:

제2장 데이터베이스 설계

Page 56: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

56

2.5 사례 연구 4 - 마을금고 대출업무 - 1) 마을 금고 사업 현황

- 수 백 명의 상인들이 스스로 사업주와 고객이 되어 예금과

대출 사업을 시작한다. 금융 삼품의 수와 고객은 꾸준히 증

가할 것으로 예상한다.

- 금융 상품의 종류는 크게 보통예금, 저축예금, 단기 대출,

장기 대출 등으로 분류한다.

3) 요구사항:

- 자료관리: 예금, 대출 업무 등

- 현황 출력: 고객별, 종류별, 기간별, 예금과 대출 등 제반 현

- 자료 검색: 종류별, 상품별, 고객별, 기간별 검색.

제2장 데이터베이스 설계

Page 57: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

57

2.5 사례 연구 4 실무 데이터베이스 설계: 마을금고 대출업무

외부 스키마

제2장 데이터베이스 설계

고객

CID name addr credit...

대출상품

maxPID irate

loan

CIDLID remaindate ...

...

refund

dateLID total

payment

...

Page 58: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

58

2.5 사례 연구 5 - 자동차 정비소 -

1) 정비 사업 현황

- 도시 고속도로변에 위치한 차량 정비소의 정비업무.

- 정비 차량은 주로 승용차와 밴, 지프, RV차량 등이다.

2) 요구사항:

- 견적서 작성: 수리를 요하는 차량의 견적서 발행.

- 수리비 청구서 작성: 차량 수리 후에 공임과 부품값을 명

시하여 수리비 청구서를 작성.

- 자료 검색: 작업별, 부품별 가격표. 고객별 차량 정비 현

- 정비 안내서 작성: 엔진 오일 및 타이어 교환 등의 정비 안

내문을 발송.

제2장 데이터베이스 설계

Page 59: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

59

2.5 사례 연구 5 - 자동차 정비소 -

1) 견적서 sample

제2장 데이터베이스 설계

차량번호 경기 3거 5156 소유자 김성남

등록일자 2008.09.01 차량명 NF 소나타

주행거리 km 20,000 견적 담당 (인)

작업 내용 부품명(모델) 부 품

공 임 단위 수량 단가 계

엔진오일 교환 7000

엔진오일 GQ 리터 4 3000 12000

오일 크리너 개 1 2000 2000

에어 크리너 개 1 5000 5000

소계 19,000 7,000

타이어 교환 3,000

타이어(한국)165 짝 4 50000 200,000

소계 200,000 3,000

합계 219,000 10,000

총계 (부품비 + 공임) 229,000

수리일자: 년 월 일 담당 정비사: (인)

Page 60: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

60

2.5 사례 연구 5 - 자동차 정비소 -

외부 스키마

견적서는 여러 개의 작업으로 이루어지고,

estimate work

작업 비용은 여러 개의 부품과 하나의 공임으로 이루어진다.

work parts wage

공임은 작업별로 소요 시간과 시간급의 곱으로 구성된다.

workhours * wage/hour

제2장 데이터베이스 설계

Page 61: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

61

2.5 사례 연구 5 - 자동차 정비소 -

외부 스키마

제2장 데이터베이스 설계

ESTIMATE

eid cid

tAmt

car amountdate

WORK

wid eid work pAmtwAmt

W_PART

wid pid Qty Amtprice

price

PART

pid pName modelmaker

WAGE

wid work workhour timewage

Page 62: 제2장 데이터베이스 설계 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk/2.pdf · 데이터베이스 시스템 – 제. 2. 장 데이터베이스

62

2.6 팀 과제

Database를 적극적으로 활용할 수 있는 회사의 업무를 선정

하여 분석하고 설계하시오.

1차 설계서 내용

- 개발 업무 개요

- 업무흐름도

- 자료 사전

- 외부 스키마

- 개념 스키마

- 관계 스키마

- 물리스키마: 테이블 설계서

제2장 데이터베이스 설계