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