5. 데이터베이스설계도구: erwin -...

24
5. 데이터베이스 설계 도구: ERwin ERwin 사용하기 개체들간에 관계 설정 개체들간에 관계 설정 ERwin을 이용한 물리적 모델링 ERD테이블로 전환 ERD테이블로 전환 7. 데이터베이스 설계 (Page 53)

Upload: others

Post on 29-Oct-2019

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

5. 데이터베이스 설계 도구: ERwin

ERwin 사용하기 개체들간에 관계 설정 개체들간에 관계 설정 ERwin을 이용한 물리적 모델링 ERD를 테이블로 전환 ERD를 테이블로 전환

7장. 데이터베이스설계 (Page 53)

Page 2: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

5.1 ERwin 사용하기

ERwin Data Modeler 소개CA사에서 개발된 유료 CASE tool CA사에서 개발된 유료 CASE tool Community Edition의 경우, 무료로 사용 가능

모델 개체 수를 25개로 제한 모델 개체 수를 25개로 제한 모델링을 위한 표준 방법론 지원

IE(Information Engineering) 표기법 IDEF 1x(Integration DEFinition for Information Modeling) 표기법

GUI 기반의 논리적/물리적 모델링 지원리적 델링 델링 논리적 모델링: ER 모델링

물리적 모델링: Target DBMS의 스키마로 변환Reporting 및 모델 통합/버전 관리 등 지원 Reporting 및 모델 통합/버전 관리 등 지원

7장. 데이터베이스설계 (Page 54)

Page 3: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

IE 표기법

개체 표현 E/1 개체이름

주키영역

관계 표현 방법

주키영역일반속성영역

관계 표현 방법

개체 A 개체 B1 : 1

필수

개체 A 개체 B

개체 A 개체 B

선택(A에대응되는 B가없을수도있다)(B에대응되는A는항상존재)

필수

개체 A 개체 B

개체 A 개체 B

1 : n 선택 (예: 지도교수 –학생)

선택

개체 A 개체 Bn : n 필수

7장. 데이터베이스설계 (Page 55)

Page 4: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

새로운 모델 생성

[File] [New] 메뉴 선택모델의 Type과 Target Server 등을 선택 모델의 Type과 Target Server 등을 선택

7장. 데이터베이스설계 (Page 56)

Page 5: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

메인 화면의 구성

개체 생성 관계 정의

도구

Diagram작성

ModelExplorer

7장. 데이터베이스설계 (Page 57)

Page 6: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

ERwin에서 표기법 설정

Default: IDEF 1x아래와 같은 방법으로 표기법 변경 가능 아래와 같은 방법으로 표기법 변경 가능

[Model][Model Properties…] 메뉴 선택

IE 혹은 IDEF1x 선택

7장. 데이터베이스설계 (Page 58)

Page 7: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

개체 생성

도구 모음에서 "Entity" 아이콘 실행

개체이름

주 키

일반 속성영역

7장. 데이터베이스설계 (Page 59)

Page 8: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

5.2 개체들간에 관계 설정

용어 정의 관계 선언 관계 선언 n:n 관계의 해소

7장. 데이터베이스설계 (Page 60)

Page 9: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

용어 정의

관계가 있는 두 개체를 부모 개체와 자식 개체로 구분부모 개체 부모 개체 정보를 먼저 생성하여 가지고 있는 개체

자식 개체 자식 개체 부모 개체의 주 키를 외래 키로 사용하는 개체

두 개체 사이의 관계를 식별 관계와 비식별 관계로 구분 식별 관계(Identifying Relationship)

개체의 키가 자식 개체의 키에 함 부모 개체의 주 키가 자식 개체의 주 키에 포함 IE에서 실선으로 표시비식별 관계(Non identifying Relationship) 비식별 관계(Non-identifying Relationship) 부모 개체의 주 키가 자식 개체의 일반 속성으로 전이이

IE에서 점선으로 표시7장. 데이터베이스설계 (Page 61)

Page 10: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

관계 선언

관계의 속성에 따라 두 개체를 연결식별/비식별 관계 식별/비식별 관계

1:1/1:n/n:n

1:n 비식별 관계의 적용 예교수 학생

사원번호

이름전화번호

학번

이름학과명전화번

연구실전공

전화번호이메일사원번호 (FK)

관계를 선택한 후(right-button), 속성 변경 가능

7장. 데이터베이스설계 (Page 62)

Page 11: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

n:n 관계의 해소(1)

n:n 관계를 해소하는 이유n:n 관계는 별도 테이블로 구현되어야 함 n:n 관계는 별도 테이블로 구현되어야 함

ERD를 테이블 스키마로 변경(ERwin에서는 물리적 모델링이라 함)하기 위해서 n:n 관계를 두 개의 1:n 관계)로 전환

n:n 관계 생성

n:n 관계를생성한후, transformation toolbar : 관계를생성한후,1:n 관계로전환

7장. 데이터베이스설계 (Page 63)

Page 12: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

n:n 관계의 해소(2)학생

학번과목

과목이름학과명전화번호

과목코드

과목명학점 수전공구분 이메일전공구분

전환전환

학생

학번

이름

과목

과목코드

수강

과목코드 (FK)학번 (FK)

이름학과명전화번호이메일

과목명학점 수전공구분

학번 (FK)

성적

개체 명 변경 성적 속성 추가

7장. 데이터베이스설계 (Page 64)

개체 명 변경 & 성적 속성 추가

Page 13: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

논리적 모델링의 완성

학생

학번학번

이름학과명전화번호

과목

과목코드

과목명

수강

과목코드 (FK)학번 (FK) 전화번호

이메일지도교수 (FK)

과목명학점 수전공구분

성적

교수

사원번호강의 사원번호

이름전화번호연구실

강의

과목코드 (FK)사원번호 (FK)

연구실전공

7장. 데이터베이스설계 (Page 65)

Page 14: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

5.3 ERwin을 이용한 물리적 모델링

Default Data Type 정의 Logical Physical로 전환 Logical Physical로 전환 Target Database 선택 (초기에 DB 선택하지 않은 경우) Table의 저장 이름 정의 Table의 저장 이름 정의 속성의 data type과 size 변경

7장. 데이터베이스설계 (Page 66)

Page 15: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

Default Data Type 정의 [Model] [Model Properties…] 메뉴 선택

Defaults 탭의 Default Datatypes을 가장 많아 사용될 Defaults 탭의 Default Datatypes을 가장 많아 사용될것 같은 타입으로 설정

7장. 데이터베이스설계 (Page 67)

Page 16: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

Logical Physical로 전환

7장. 데이터베이스설계 (Page 68)

Page 17: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

Target Database 선택

Physical로 변경한 후 [Actions] [Target Database ] 메뉴 선택 [Actions] [Target Database…] 메뉴 선택

7장. 데이터베이스설계 (Page 69)

Page 18: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

Table의 저장 이름 정의 [Model] [Tables…] 메뉴 선택

Physical Name에서 테이블의 저장이름 선언 Physical Name에서 테이블의 저장이름 선언

7장. 데이터베이스설계 (Page 70)

Page 19: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

속성의 data type과 size 변경 다이어그램에서 [right button] [Column Properties…] 선택선택 Physical Name과 Physical Data Type 선택

7장. 데이터베이스설계 (Page 71)

Page 20: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

물리적 모델링 완료

student

student_id: NUMBER

name: VARCHAR2(20)dept_name: VARCHAR2(20)

l VARCHAR2(20)

course

course_id: NUMBER

VARCHAR2(20)

enrollment

course_id: NUMBER (FK)student id: NUMBER (FK) tel: VARCHAR2(20)

email: VARCHAR2(20)advisor: NUMBER (FK)

name: VARCHAR2(20)credit: NUMBER(1)category: VARCHAR2(20)

student_id: NUMBER (FK)

grade: VARCHAR2(2)

professor

f id NUMBERl t prof_id: NUMBER

name: VARCHAR2(20)tel: VARCHAR2(20)office: VARCHAR2(20)

lecture

course_id: NUMBER (FK)prof_id: NUMBER (FK)

office: VARCHAR2(20)major: VARCHAR2(20)

7장. 데이터베이스설계 (Page 72)

Page 21: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

5.4 ERD를 테이블로 전환

스키마 생성 Option 결정 생성된 Script를 검사 생성된 Script를 검사 DBMS 연결과 Script 실행

7장. 데이터베이스설계 (Page 73)

Page 22: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

스키마 생성 Option 결정 [Actions] [Forward Engineer] [Check Model]로 현재까지 작성된 물리적 모델 검증

[Actions] [Forward Engineer] [Schema] 선택

option을선택선택

생성된스크립트 확인

7장. 데이터베이스설계 (Page 74)

Page 23: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

생성된 Script를 검사

SQL script를 확인한 후, 문제가 없으면

7장. 데이터베이스설계 (Page 75)

Q p ,DBMS에 script 전송

Page 24: 5. 데이터베이스설계도구: ERwin - contents.kocw.netcontents.kocw.net/KOCW/document/2014/Yeungnam/chohaengrae1/2.pdf · 데이터베이스설계도구: ERwin ERwin 사용하기

DBMS 연결 [Actions] [Database Connections] 메뉴 선택

Oracle net service 이름

7장. 데이터베이스설계 (Page 76)