12
데이터베이스 데이터베이스 (Database) (Database) ER ER 관계 관계 사상에 사상에 의한 의한 ER ER-관계 관계 사상에 사상에 의한 의한 관계 관계 데이터베이스 데이터베이스 설계 설계 관계 관계 데이터베이스 데이터베이스 설계 설계 문양세 문양세 강원대학교 강원대학교 IT IT특성화대학 특성화대학 컴퓨터과학전공 컴퓨터과학전공

ER-관계사상에의한 관계데이터베이스설계ysmoon/courses/2009_2/db/08.pdf관계데이터베이스설계 문양세 강원대학교강원대학교ITIT특성화대학특성화대학컴퓨터과학전공컴퓨터과학전공

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ER-관계사상에의한 관계데이터베이스설계ysmoon/courses/2009_2/db/08.pdf관계데이터베이스설계 문양세 강원대학교강원대학교ITIT특성화대학특성화대학컴퓨터과학전공컴퓨터과학전공

데이터베이스데이터베이스 (Database)(Database)

ERER 관계관계 사상에사상에 의한의한ERER--관계관계 사상에사상에 의한의한관계관계 데이터베이스데이터베이스 설계설계관계관계 데이터베이스데이터베이스 설계설계

문양세문양세강원대학교강원대학교 ITIT특성화대학특성화대학 컴퓨터과학전공컴퓨터과학전공

Page 2: ER-관계사상에의한 관계데이터베이스설계ysmoon/courses/2009_2/db/08.pdf관계데이터베이스설계 문양세 강원대학교강원대학교ITIT특성화대학특성화대학컴퓨터과학전공컴퓨터과학전공

설계설계 과정과정 [[그림그림 3.1]3.1]ER-관계 사상에 의한 관계 DB 설계

작은 세계

요구사항들의수정과 분석

데이타베이스 요구사항들Functional Requirements

데이타베이스 요구사항들

개념적설계

개념스키마

FUNCTIONAL ANALYSIS

Hi h l l T ti

ERD 사용

개념스키마(데이타 모델 사상)

논리적설계(DATAMODEL MAPPING)

High‐level TransactionSpecification

DBMS‐independent 상용 DBMS 사용(DATA MODEL MAPPING)

논리스키마(In the data model of a specific DBMS)APPLICATION PROGRAM

DESIGN

DBMS‐specific

관계스키마사용

물리적설계

Internal Schema(For the same DBMS)

E I N

TRANSACTIONIMPLEMENTATION

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

Database by Yang-Sae MoonPage 2

(For the same DBMS)Application Programs

화일조직

Page 3: ER-관계사상에의한 관계데이터베이스설계ysmoon/courses/2009_2/db/08.pdf관계데이터베이스설계 문양세 강원대학교강원대학교ITIT특성화대학특성화대학컴퓨터과학전공컴퓨터과학전공

COMPANY COMPANY 데이터베이스의데이터베이스의 ER ER 스키마스키마 다이어그램다이어그램ER-관계 사상에 의한 관계 DB 설계

Database by Yang-Sae MoonPage 3

Page 4: ER-관계사상에의한 관계데이터베이스설계ysmoon/courses/2009_2/db/08.pdf관계데이터베이스설계 문양세 강원대학교강원대학교ITIT특성화대학특성화대학컴퓨터과학전공컴퓨터과학전공

ERDERD를를 관계관계 DB DB 스키마로스키마로 사상사상ER-관계 사상에 의한 관계 DB 설계

Database by Yang-Sae MoonPage 4

어떻게어떻게 하지하지??

Page 5: ER-관계사상에의한 관계데이터베이스설계ysmoon/courses/2009_2/db/08.pdf관계데이터베이스설계 문양세 강원대학교강원대학교ITIT특성화대학특성화대학컴퓨터과학전공컴퓨터과학전공

사상사상 단계단계 1: 1: 정규정규 엔티티엔티티 타입타입ER-관계 사상에 의한 관계 DB 설계

엔티티 타입은 릴레이션으로 매핑한다.

단 애 리 를 함시킨다모든 단순 애트리뷰트를 포함시킨다.

엔티티 타입의 키 중에서 하나를 릴레이션의 기본 키로 지정한다.

[단계1] Strong Entity

EMPLOYEE

FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY

DEPARTMENTDEPARTMENT

DNAME DNUMBER

PROJECT

PNAME PNUMBER PLOCATION

Database by Yang-Sae MoonPage 5

Page 6: ER-관계사상에의한 관계데이터베이스설계ysmoon/courses/2009_2/db/08.pdf관계데이터베이스설계 문양세 강원대학교강원대학교ITIT특성화대학특성화대학컴퓨터과학전공컴퓨터과학전공

사상사상 단계단계 2: 2: 약한약한 엔티티엔티티 타입타입ER-관계 사상에 의한 관계 DB 설계

약한 엔티티 타입을 릴레이션으로 매핑한다.

단 애 리 를 함시킨다모든 단순 애트리뷰트를 포함시킨다.

소유 릴레이션(owner relation)의 키 속성을 포함시킨다.

생성된 릴레이션의 기본 키는 소유 릴레이션의 키와 약한 엔티티 타입의

부분키를 합쳐서 만든다. 부분키를 합쳐서 만든다

[단계2] Weak Entity

EMPLOYEEO

FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY

DEPARTMENT

DNAME DNUMBER

PROJECT

PNAME PNUMBER PLOCATION

DEPENDENT

Database by Yang-Sae MoonPage 6

ESSN DEPENDENT_NAME SEX BDATE RELATIONSHIP

Page 7: ER-관계사상에의한 관계데이터베이스설계ysmoon/courses/2009_2/db/08.pdf관계데이터베이스설계 문양세 강원대학교강원대학교ITIT특성화대학특성화대학컴퓨터과학전공컴퓨터과학전공

사상사상 단계단계 3: 3: 릴레이션릴레이션 SS와와 TT의의 1:1 1:1 관계관계ER-관계 사상에 의한 관계 DB 설계

외래키 접근방식: 한 릴레이션(S)을 선택하여 T의 기본키를 S에 외래키로 포함, 

S는 완전참여 릴레이션을 선택하는 것이 좋음 관계타입의 모든 단순 애트리뷰트S는 완전참여 릴레이션을 선택하는 것이 좋음. 관계타입의 모든 단순 애트리뷰트

를 S에 포함시킴. (이 방식이 가장 유용, 다음 방식은 참조만 할 것)

합병된 릴레이션 접근방식: 두 릴레이션을 하나의 릴레이션으로 통합합병된 릴레이션 접근방식: 두 릴레이션을 하나의 릴레이션으로 통합, 

두 릴레이션이 모두 완전참여일 때 좋은 방법

교차참조/관계 릴레이션 접근방식: S와 T를 교차 참조하는 제3의 릴레이션 R 생성교차참조/관계 릴레이션 접근방식: S와 T를 교차 참조하는 제3의 릴레이션 R 생성

[단계3] 1:1 Relationship

EMPLOYEE

FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY

DEPARTMENT MANAGES

DNAME DNUMBER MGRSSN MGRSTARTDATE DNUMBER MGRSSN MGRSTARTDATE

PROJECT

PNAME PNUMBER PLOCATION

DEPENDENT

Database by Yang-Sae MoonPage 7

DEPENDENT

ESSN DEPENDENT_NAME SEX BDATE RELATIONSHIP

Page 8: ER-관계사상에의한 관계데이터베이스설계ysmoon/courses/2009_2/db/08.pdf관계데이터베이스설계 문양세 강원대학교강원대학교ITIT특성화대학특성화대학컴퓨터과학전공컴퓨터과학전공

사상사상 단계단계 4: 4: 릴레이션릴레이션 SS와와 TT의의 1:N 1:N 관계관계ER-관계 사상에 의한 관계 DB 설계

외래키 접근방식: N측의 릴레이션(S)을 선택하여 1측의 릴레이션 T의 기본키를

S에 외래키로 포함 관계타입의 모든 단순 애트리뷰트를 S에 포함시킴S에 외래키로 포함, 관계타입의 모든 단순 애트리뷰트를 S에 포함시킴.

교차참조/관계 릴레이션 접근방식: S와 T를 교차 참조하는 제3의 릴레이션 R 생성

[단계4] 1:N Relationship

EMPLOYEE

FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO

DEPARTMENT

DNAME DNUMBER MGRSSN MGRSTARTDATE

PROJECT CONTROLS

PNAME PNUMBER PLOCATION DNUM PNUMBER DNUM

DEPENDENTDEPENDENT

ESSN DEPENDENT_NAME SEX BDATE RELATIONSHIP

Database by Yang-Sae MoonPage 8

Page 9: ER-관계사상에의한 관계데이터베이스설계ysmoon/courses/2009_2/db/08.pdf관계데이터베이스설계 문양세 강원대학교강원대학교ITIT특성화대학특성화대학컴퓨터과학전공컴퓨터과학전공

사상사상 단계단계 5: 5: 릴레이션릴레이션 SS와와 TT의의 M:N M:N 관계관계ER-관계 사상에 의한 관계 DB 설계

N:M 이진 관계는 별도의 릴레이션(이를 관계 릴레이션이라고 부름)으로 생성하고, 

관계에 참여하는 두 릴레이션의 기본 키 를 각각 참조하는 외래키로 애트리뷰트를관계에 참여하는 두 릴레이션의 기본 키 를 각각 참조하는 외래키로 애트리뷰트를

구성한다. 이 때 두 외래키가 관계 릴레이션의 기본키를 형성한다.  

[단계5] M:N Relationship

EMPLOYEE

FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO

DEPARTMENT

DNAME DNUMBER MGRSSN MGRSTARTDATE

PROJECT

PNAME PNUMBER PLOCATION DNUM

DEPENDENT

ESSN DEPENDENT_NAME SEX BDATE RELATIONSHIP

WORKS_ON

ESSN PNO HOURS

Database by Yang-Sae MoonPage 9

Page 10: ER-관계사상에의한 관계데이터베이스설계ysmoon/courses/2009_2/db/08.pdf관계데이터베이스설계 문양세 강원대학교강원대학교ITIT특성화대학특성화대학컴퓨터과학전공컴퓨터과학전공

사상사상 단계단계 6: 6: 다치다치 애트리뷰트애트리뷰트ER-관계 사상에 의한 관계 DB 설계

릴레이션 R의 다치 애트리뷰트는 R의 기본키를 포함하는 새로운 릴레이션으로

매핑된다매핑된다.

새로운 릴레이션의 키는 R의 기본키와 다치 애트리뷰트의 조합이다. 

[단계6] Multivalued Attribute

EMPLOYEE

FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO

DEPARTMENT

DNAME DNUMBER MGRSSN MGRSTARTDATE

DEPT_LOCATION

DNUMBER DLOCATION

PROJECT

PNAME PNUMBER PLOCATION DNUM

DEPENDENT

ESSN DEPENDENT_NAME SEX BDATE RELATIONSHIP

WORKS_ON

ESSN PNO HOURS

Database by Yang-Sae MoonPage 10

ESSN PNO HOURS

Page 11: ER-관계사상에의한 관계데이터베이스설계ysmoon/courses/2009_2/db/08.pdf관계데이터베이스설계 문양세 강원대학교강원대학교ITIT특성화대학특성화대학컴퓨터과학전공컴퓨터과학전공

사상사상 단계단계 7: n7: n차차 관계관계ER-관계 사상에 의한 관계 DB 설계

n차 관계는 관계에 참여하는 n개 릴레이션의 키들로 구성되는 관계 릴레이션으로

매핑된다 관계 릴레이션의 애트리뷰트들은 참여 릴레이션의 기본키를 참조하는매핑된다. 관계 릴레이션의 애트리뷰트들은 참여 릴레이션의 기본키를 참조하는

외래키들과 관계 속성(들)으로 구성된다. 

Database by Yang-Sae MoonPage 11

Page 12: ER-관계사상에의한 관계데이터베이스설계ysmoon/courses/2009_2/db/08.pdf관계데이터베이스설계 문양세 강원대학교강원대학교ITIT특성화대학특성화대학컴퓨터과학전공컴퓨터과학전공

사상사상 단계단계 요약요약ER-관계 사상에 의한 관계 DB 설계

ER Model Relational Model

Entity Type “Entity” relation

1:1 1:N relationship type Foreign Key (or “relationship” relation)1:1,1:N relationship type Foreign Key (or  relationship  relation)

N:M relationship type “Relationship” relation and two foreign keys

l h l h l d f kN‐ary relationship type “Relationship” relation and  n foreign keys

Simple attribute Attribute

Composite attribute Set of simple component attribute

Multi‐valued attribute Relation and foreign key

Value set Domain

Key attribute Primary (or secondary) key

Database by Yang-Sae MoonPage 12

Key attribute Primary (or secondary) key