5. 데이터베이스 설계 도구: ERwin
ERwin 사용하기
개체들간에 관계 설정
개체들간에 관계 설정
ERwin을 이용한 물리적 모델링
ERD를 테이블로 전환
ERD를 테이블로 전환
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 및 모델 통합/버전 관리 등 지원
IE 표기법
개체 표현
E/1 개체 이름
주 키 영역
관계 표현 방법
주 키 영역 일반 속성 영역
관계 표현 방법
개체 A 개체 B
1 : 1
필수
개체 A 개체 B
개체 A 개체 B
선택(A에 대응되는 B가 없을 수도 있다) (B에 대응되는 A는 항상 존재) 필수
개체 A 개체 B
개체 A 개체 B
1 : n
선택 (예: 지도교수 – 학생)선택
개체 A 개체 B
n : n
필수새로운 모델 생성
[File] [New] 메뉴 선택
모델의 Type과 Target Server 등을 선택
모델의 Type과 Target Server 등을 선택
메인 화면의 구성
개체 생성 관계 정의
도구
Diagram 작성
Model Explorer
ERwin에서 표기법 설정
Default: IDEF 1x
아래와 같은 방법으로 표기법 변경 가능
아래와 같은 방법으로 표기법 변경 가능
[Model][Model Properties…] 메뉴 선택
IE 혹은 IDEF1x 선택
개체 생성
도구 모음에서 "Entity" 아이콘 실행
개체 이름
주 키 일반 속성
영역
5.2 개체들간에 관계 설정
용어 정의
관계 선언
관계 선언
n:n 관계의 해소
용어 정의
관계가 있는 두 개체를 부모 개체와 자식 개체로 구분 부모 개체
부모 개체
정보를 먼저 생성하여 가지고 있는 개체
자식 개체
자식 개체
부모 개체의 주 키를 외래 키로 사용하는 개체
두 개체 사이의 관계를 식별 관계와 비식별 관계로 구분
식별 관계(Identifying Relationship)
개체의 키가 자식 개체의 키에 함
부모 개체의 주 키가 자식 개체의 주 키에 포함
IE에서 실선으로 표시
비식별 관계(Non identifying Relationship)
비식별 관계(Non-identifying Relationship)
부모 개체의 주 키가 자식 개체의 일반 속성으로 전 이
이
IE에서 점선으로 표시
관계 선언
관계의 속성에 따라 두 개체를 연결 식별/비식별 관계
식별/비식별 관계
1:1/1:n/n:n
1:n 비식별 관계의 적용 예
교수 학생
사원번호 이름 전화번호
학번 이름 전화번 학과명
연구실 전공
전화번호 이메일
사원번호 (FK)
관계를 선택한 후(right-button), 속성 변경 가능
n:n 관계의 해소(1)
n:n 관계를 해소하는 이유
n:n 관계는 별도 테이블로 구현되어야 함
n:n 관계는 별도 테이블로 구현되어야 함
ERD를 테이블 스키마로 변경(ERwin에서는 물리적 모 델링이라 함)하기 위해서 n:n 관계를 두 개의 1:n 관계)
로 전환 n:n 관계 생성
n:n 관계를 생성한 후,
transformation toolbar: 관계를 생성한 후,
1:n 관계로 전환
n:n 관계의 해소(2)
학생 과목 학번
과목 이름
학과명 전화번호 과목코드
과목명 학점 수
전공구분 이메일
전공구분
전환 전환
학생 학번 이름 과목
과목코드
수강
과목코드 (FK)
학번 (FK) 이름
학과명 전화번호 이메일 과목명
학점 수 전공구분
학번 (FK) 성적
논리적 모델링의 완성
학생 학번 학번 이름 학과명 전화번호 과목
과목코드 과목명
수강
과목코드 (FK)
학번 (FK) 전화번호
이메일
지도교수 (FK) 과목명
학점 수
전공구분 성적
교수
강의 사원번호사원번호
이름 전화번호 연구실 강의
과목코드 (FK) 사원번호 (FK)
연구실 전공
5.3 ERwin을 이용한 물리적 모델링
Default Data Type 정의
Logical Physical로 전환
Logical Physical로 전환
Target Database 선택 (초기에 DB 선택하지 않은 경우)
Table의 저장 이름 정의
Table의 저장 이름 정의
속성의 data type과 size 변경
Default Data Type 정의
[Model] [Model Properties…] 메뉴 선택
Defaults 탭의 Default Datatypes을 가장 많아 사용될
Defaults 탭의 Default Datatypes을 가장 많아 사용될 것 같은 타입으로 설정
Logical Physical로 전환
Target Database 선택
Physical로 변경한 후
[Actions] [Target Database ] 메뉴 선택
[Actions] [Target Database…] 메뉴 선택
Table의 저장 이름 정의
[Model] [Tables…] 메뉴 선택
Physical Name에서 테이블의 저장이름 선언
Physical Name에서 테이블의 저장이름 선언
속성의 data type과 size 변경
다이어그램에서 [right button] [Column Properties…]
선택 선택
Physical Name과 Physical Data Type 선택
물리적 모델링 완료
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 NUMBER
l 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)
5.4 ERD를 테이블로 전환
스키마 생성 Option 결정
생성된 Script를 검사
생성된 Script를 검사
DBMS 연결과 Script 실행
스키마 생성 Option 결정
[Actions] [Forward Engineer] [Check Model]로 현재까지 작성 된 물리적 모델 검증
[Actions] [Forward Engineer] [Schema] 선택
option을 선택 선택
생성된
스크립트 확인
생성된 Script를 검사
SQL script를 확인한 후, 문제가 없으면Q p , DBMS에 script 전송
DBMS 연결
[Actions] [Database Connections] 메뉴 선택
Oracle net service 이름