Download presentation
Presentation is loading. Please wait.
1
ER-Win 사용 방법
2
목차 1.CASE Tool 2.ER-Win 사용 방법 2-1.ER-win 실행 2-2.ER-Win 표기 방식
2-3.Ligical 영역과 Phygical 영역 2-4.엔티티(Entity) 생성 2-5.식별관계, 비식별 관계 2-6.다 대 다 관계 정의 2-7.재귀적 관계 정의 2-8.슈퍼타입과 서브타입 7장. ER-Win 사용 방법
3
목차 2.ER-Win 사용 방법 2-9.도메인 설정 2-10.Subject Area 2-11.Store Display
2-12.물리적(Phygical) 모델링 2-13.Column Data Type과 Size 2-14.Identity, Null Option 2-15.Check, Rule,Default 2-16.인덱스(Index) 정의 2-17.뷰(View) 정의 7장. ER-Win 사용 방법
4
목차 2. ER-Win 사용 방법 2-18.스토어드 프로시저(Stored Procidure) 정의
2-19.트리거(Triger) 정의 2-20.역정규화(Denormalization) 정의 방법 2-21.파일 그룹(File Group) 정의 2-22.데이터베이스 스키마 생성 2-23.프린트(Print) 7장. ER-Win 사용 방법
5
CASE Tool CASE (Computer Aided Software Engineering) Tool 은 프로그램을 개발하는데 사용되는 프로그램 자동화 도구이다. 일반적인 프로그램 툴과의 차이점은 CASE Tool은 개발 방법론에 입각한 프로그래밍 자동화 도구라는 것이다. ER-Win 은 데이터베이스 모델링을 지원하는 프로그래밍 자동화 도구이다. 7장. ER-Win 사용 방법
6
ER-Win 실행 1.시작프로그램Computer Associate ERWin4.0ERWin 을 선택하여 ERWin을 실행한다. 2. ‘Create a new model’ 옵션 선택한 후 OK 버튼 누른다. 7장. ER-Win 사용 방법
7
ER-Win 실행 3. Create Model 대화상자가 나타나면 ‘Logical/Phygical’
옵션을 선택하고, Target Database 옵션이 나타나면 SQL Server 2000 을 선택하고 OK 버튼을 누른다. 7장. ER-Win 사용 방법
8
ER-Win 실행 (메인 화면) 도구모음 Model Explorer 다이어그램 7장. ER-Win 사용 방법
9
ER-Win 의 표기 방식 Indeflx(Integration DEFinition for Infornation Modeling) 표기방식 - 미 국방성에서 프로젝트 표준안으로 개발한 표기 방식 IE(Information Engineering) 표기방식 - 정보공학 표기 방식으로 우리가 일반적으로 모델링을 할 때 가장 많이 사용하는 유형 ER-Win을 설치하면 기본적으로 Indeflx방식으로 설정되어있다. 7장. ER-Win 사용 방법
10
ER-Win 의 표기 방식 1. ER-Win 초기 화면의 메뉴에서 ‘Model/Model Properties..’
를 선택한다. 2. Model Properties 대화상자에의 Notation 탭에 있는 Logical 과 Phygical Notation 영역에서 IE 옵셥 버튼을 선택한다. 7장. ER-Win 사용 방법
11
ER-Win 의 표기 방식 표기 방식을 Indeflx 방식에서 IE 방식으로 바꾸어 설정하면 ERWIn Toolbox 의 모습이 위의 그림처럼 바뀌게 된다. ERWin Toolbox 는 엔티티를 생성하고 관계를 정의하는데 사용하는 도구모음이다. 7장. ER-Win 사용 방법
12
Logical 영역과 Phygical 영역
개념적 데이터 모델링을 제외한 논리적/물리적 데이터 모델링 지원 ER-Win은 관계형 데이터베이스 모델링 CASE Tool이기 때문에 관계형 데이터베이스 이론에 입각해서 스키마를 설계하는 논리적 모델링과 물리적 모델링을 지원한다. 개념적 데이터 모델링을 지원하지 않는 이유는 개념적 데이터 모델링은 업무를 일반화시키는 단계이지 관계형 데이터베이스 이론에 입각해서 모델링을 하는 단계는 아니기 때문이다. ER-Win을 사용하기 위해서는 먼저 업무분석과 함께 엔티티와 속성 그리고 관계 등이 정의된 양식이 있어야 하며 이를 ER-Win으로 옮기면서 관계형 데이터베이스 모델링 이론에 입각해서 스키마를 설계하게 된다. 7장. ER-Win 사용 방법
13
Logical 영역과 Phygical 영역
ER-Win에서 논리적(Logical) 데이터 모델링과 물리적(Phygical) 데이터 모델링을 전환하기 위해서는 아래 그림#처럼 Erwin Toolbar의 오른쪽의 콤보박스를 선택하면 된다. 7장. ER-Win 사용 방법
14
엔티티(Entity) 생성 1. 엔티티를 생성하기 위해서는 ERWin Toolbox의 두 번 째 버튼을 선택한 뒤 다이어그램 상의 바탕화면에 클릭 하면 다음과 같이 세 영역으로 엔티티가 만들어진다. E/1 엔티티(Entity) 명 기본키(Primary Key) 영역 일반 속성(Attribute) 영역 엔티티(Entity)란 데이터로 관리되어야 하는 항목이라 정의할 수 있다. 7장. ER-Win 사용 방법
15
엔티티(Entity) 생성 2. 세 영역을 이동하기 위해서는 엔티티를 선택한 뒤Tap 키를 이용하여 영역을 이동 할 수 있다.
3. 일반 속성 영역에 속성을 추가하고자 할 때 엔터키를 치면 새로운 속성을 기술할 공간이 만들어 진다. * ER-Win을 이용해 생성된 사원 엔티티 7장. ER-Win 사용 방법
16
식별 관계, 비식별 관계 관계 : 두 엔티티 간의 업무적인 연관성
식별 관계 : 부모 테이블의 기본키가 자식 테이블의 기본키 혹은 후보키 그룹의 구성원으로 전이되는 것 비식별 관계 : 부모 테이블의 기본키가 자식 테이블의 일반 컬럼으로 전이되는것 7장. ER-Win 사용 방법
17
식별 관계, 비식별 관계 식별 관계와 비식별 관계를 정의하기 위해서는 ERWin Toolbox 의 버튼을 이용한다.
Identifying Relationship (식별 관계 정의) Not Identifying Relationship (비식별 관계 정의) 7장. ER-Win 사용 방법
18
예제-식별 관계, 비식별 관계 사원의 신체조건과 부서를 정의하기 위해 부서, 사원, 신체정보 엔티티를 생성한다.
7장. ER-Win 사용 방법
19
예제-식별 관계, 비식별 관계 식별 관계나 비식별 관계 모두 관계를 형성하기 위해서는 ERWin Toolbox에서 관계 유형에 맞는 관계선 버튼을 선택한다. 그런 다음 부모 테이블을 먼저 선택한 뒤에 자식 테이블을 차례대로 선택한다. 7장. ER-Win 사용 방법
20
예제-식별 관계, 비식별 관계 관계에 관한 옵셥 설정 – 부서 테이블과 사원 테이블간의 관계 선을 선택한 후 오른쪽 버튼을 눌러 팝업 메뉴 Relationship Properties 메뉴를 선택한다. Cardinality 와 Relationship Type 옵션 설정한다. Verb Phrase는 부모와 자식(Parent-to-Child) 그리고 자식과 부모(Child-to-Parent)와의 관계에 대한 설명적인 문구를 입력하는 곳이다. Relationship Type은 부서 테이블과 사원 테이블의 관계 유형이 비식별 관계이므로 Non-Identifying 옵션이 선택되어 있다. 7장. ER-Win 사용 방법
21
예제-식별 관계, 비식별 관계 * 부서테이블과 사원테이블의 관계 옵션 설정 7장. ER-Win 사용 방법
22
예제-식별 관계, 비식별 관계 * 사원 테이블과 신체정보 테이블간의 관계 옵션 설정 7장. ER-Win 사용 방법
23
예제-식별 관계, 비식별 관계 * 관계 옵션 설정 한 뒤 바탕화면에서 오른쪽버튼을 누르면
뜨는 팝업 메뉴의 Relationship Display/Cardinality,Verb Phrase 를 설정한 모습 7장. ER-Win 사용 방법
24
Many-to-Many Relationship
다 대 다 관계 정의 Many-to-Many Relationship (다 대 다 관계 정의) 다 대 다 관계에 있는 엔티티들은 부모와 자식의 관계가 아니므로 ER-Win Toolbox에서 다 대 다 관계선을 선택한 후 순서에 상관없이 두 엔티티를 차례대로 선택하면 다 대 다 관계가 형성된다. 7장. ER-Win 사용 방법
25
예제-다 대 다 관계 정의 다 대 다 관계를 해소하려면 두 엔티티의 다 대 다 관계선에서 오른쪽 버튼을 누른 후 팝업 메뉴에서 ‘Create Association Entity’ 메뉴를 선택하거나 다 대 다 관계선을 선택한 후 ‘ERWin Transform Toolbar’에서 ‘Many to Many Transform’버튼을 클릭하면 마법사가 나타난다. Click 7장. ER-Win 사용 방법
26
예제-다 대 다 관계 정의 다음 버튼을 누르면 새롭게 추가될 교차 실체의 실체명을 정의하는 대화상자가 나온다. 여기서 Entity Name에 ‘입고’라고 정의한후 다음 버튼을 선택한다. Transform Name을 정의하는 대화상자가 나타나면 기본값으로 설정한 뒤 다음 버튼을 누른다. 7장. ER-Win 사용 방법
27
예제-대 다 관계 정의 현재 작업에 대한 정보가 나오면 마침 버튼을 누르고 작업을 완료한다. 7장. ER-Win 사용 방법
28
예제-다 대 다 관계 정의 공급 업체/상품 테이블의 다 대 다 관계가 해소되어 교차 실체가 정의된 모습
7장. ER-Win 사용 방법
29
예제-다 대 다 관계 정의 상품/회원 테이블간의 다 대 다 관계가 해소되어 판매 엔티티를 정의한 모습
7장. ER-Win 사용 방법
30
예제-다 대 다 관계 정의 모든 관계선을 차례대로 선택한 후 오른쪽 버튼의 ‘Relationship Properties..’메뉴를 선택한 후 Relationships대화상자에서 ‘Non-Indentifying’옵션과 ‘No Nulls’옵션을 선택한다. 7장. ER-Win 사용 방법
31
예제-다 대 다 관계 정의 입고/판매 테이블의 속성들을 추가하여 다이어그램을 완성한다. 7장. ER-Win 사용 방법
32
재귀적 관계 정의 재귀적 관계 : 자기 자신과 관계를 맺는 것 비식별 관계선을 이용하여 재귀적 관계를 정의
7장. ER-Win 사용 방법
33
예제-재귀적 관계 정의 Rolename 정의 ⇒ Relationships 대화상자에서 Rolename 탭을 선택한 후 Rolename입력상자에 ‘직속상사번호’를 기술 (‘직속상사번호’라는 속성이 포린키로 전이됨) 7장. ER-Win 사용 방법
34
슈퍼타입과 서브타입 슈퍼타입 엔티티란 상호 배타적인 더 작은 그룹으로 분할되는 엔티티를 의미한다.
슈퍼타입 내의 분해된 그룹을 서브타입 엔티티라고 한다. 7장. ER-Win 사용 방법
35
슈퍼타입과 서브타입 하나의 엔티티에서 배탁적인 관계를 파악하고 이를 각각의 실체로 정의하고자 했을 때 각각의 실체에 공통되는 속성들을 모아놓은 엔티티를 슈퍼타입으로 개별적인 속성들을 따로 분리해서 각각의 서브타입으로 정의할 수 있다. 예를 들어 옆 그림과 같이 사원 엔티티가 있다고 하면, 한 회사에는 정규직 사원과 임시직 사원이 있을 수 있다. 일반적으로 정규직 사원은 연봉으로 임시직 사원은 월급이나 수당으로 급여내역이 정의되므로 하나의 레코드에 입력될 경우 정규직은 월급과 수당에, 임시직은 연봉에 Null 값이 입력될 것이다. 7장. ER-Win 사용 방법
36
예제-슈퍼타입과 서브타입 우선 아래와 같이 사원, 정규직, 임시직 엔티티를 만든다. 슈퍼타입 서브타입
7장. ER-Win 사용 방법
37
Exclusive sub-category
예제-슈퍼타입과 서브타입 슈퍼타입과 서브타입에 관한 정의는 ERWin Roolbox의 ‘Exclusive sub-category’버튼을 이용한다. Exclusive sub-category 7장. ER-Win 사용 방법
38
예제-슈퍼타입과 서브타입 ‘Exclusive sub-category’ 버튼을 선택하고 슈퍼타입을 먼저 선택한 후 서브타입 중에 하나인 정규직 엔티티를 선택하면 다음과 같은 모습이 된다. 7장. ER-Win 사용 방법
39
예제-슈퍼타입과 서브타입 슈퍼타입과 서브타입의 관계 설정은 중간에 있는 교차점을 선택한 후 임시직 엔티티를 선택하면 다음과 같이 슈퍼타입과 서브타입의 관계가 형성된다. 7장. ER-Win 사용 방법
40
슈퍼타입과 서브타입의 유형 Exclusive : 배타적인 관계 Inclusive : 서로 혼용할 수 있는 포함적인 관계
7장. ER-Win 사용 방법
41
예제-슈퍼타입과 서브타입 Exclusive 와 Inclusive 관계를 정의하는 방법
: 중간의 교차점을 선택하고 오른쪽 버튼의 팝업 메뉴 중에서 ‘Subtype Relationships..’메뉴를 선택하여 나타나는 대화상자의 Subtype Type Option 에서 상황에 따라 설정해 준다. 7장. ER-Win 사용 방법
42
예제-슈퍼타입과 서브타입 슈퍼타입과 서브타입과의 관계는 슈퍼타입엔티티의 기본키가 서브타입 엔티티의 기본키로 전이되기 때문에 식별관계로 전환해서 표현할 수도 있는데, 이는 슈퍼타입과 서브타입 사이의 교차점을 선택하고 ERWin Toolbar 의 활성화 되어진 버튼을 사용하면 된다. Supertype-Subtype Identity Supertype-Subtype Rollup Supertype-Subtype Rolldown 7장. ER-Win 사용 방법
43
예제-슈퍼타입과 서브타입 ERWin Toolbar에서 Supertype-Subtype Identity 버튼을 선택하면 아래와 같이 슈퍼타입과 서브타입을 전환하는 마법사가 나타난다. 7장. ER-Win 사용 방법
44
예제-슈퍼타입과 서브타입 다음 버튼을 선택하면 Transform Name을 정의하는 단계가 나오는데 Transform Name이란 현재 작업의 정보를 해당 이름으로 정의하고 나중에 이를 관리하기 위해서 저장하는 ER-Win의 하나의 개체라고 정의할 수 있다. 7장. ER-Win 사용 방법
45
예제-슈퍼타입과 서브타입 다음 버튼을 선택하면 현재 작업의 내용을 보여주는 화면이 나타난다.
마침 버튼을 선택하면 식별 관계로 해소된다. 7장. ER-Win 사용 방법
46
예제-슈퍼타입과 서브타입 ER-Win은 되돌리기 기능(Ctrl+z)이 없지만, Transform Name을 이용하면 이전 작업으로 전환할 수 있다. 옆 그림의 ‘사원 엔티티와의 관계를 식별관계로 전환’ 이라는 Transform Name을 선택한 후 오른쪽 버튼 팝업 메뉴 중 Delete/Reverse Transform 메뉴를 선택하면 원래의 상태로 되돌아가고 Transform Name은 없어지게 된다. 7장. ER-Win 사용 방법
47
예제-슈퍼타입과 서브타입 ERWin Transform Toolbar/Supertype-Subtype Rollup 버튼을 이용하여 Transform Name을 ‘사원 엔티티로 통합’ 으로 정의 7장. ER-Win 사용 방법
48
예제-슈퍼타입과 서브타입 ERWin Transform Toolbar/ Supertype-Subtype Rolldown 버튼을 이용하여 Transform Name을 ‘각각의 서브타입으로 분할’으로 정의 7장. ER-Win 사용 방법
49
도메인 설정 ER-Win은 SQL Server와 같이 여러 엔티티에서 공통적으로 적용되는 속성이 존재하면 그것을 하나의 개체로 만들어 여러 엔티티에 적용시키는 사용자 정의 데이터 타입도 정의하고 바인딩할 수 있는 기능을 Model Explorer의 Domain 탭에서 정의한다. Model Explorer 는 View메뉴에서 선택할 수 있고, 이를 다이어그램 중간에 위치시킨 후 Domain 탭을 선택하면 옆과 같이 Model Explorer 대화상자가 나타난다. 7장. ER-Win 사용 방법
50
도메인 설정 우선 사용자 정의 데이터 타입 속성을 정의 할 때는 그 속성을 String 혹은 Number 형을 결정한 후 오른 쪽 버튼의 팝업 메뉴에서 New를 선택하여 만든다. 날짜 : String 금액 : Number 단가 : Number 수량 : Number 7장. ER-Win 사용 방법
51
도메인 설정 입고 엔티티의 입고일자, 입고단가, 입고수량, 입고금액 속성과 판매 엔티티의 판매일자, 판매단가, 판매수량, 판매금액 속성들을 제거한 다음 Model Explorer에 있는 금액, 날짜, 단가, 수량 등을 선택해서 드래그하고 입고 엔티티와 판매 엔티티에 차례로 그롭하면 다음과 같은 모습이 된다. 7장. ER-Win 사용 방법
52
도메인 설정 속성들의 가독성을 높이기 위해 속성(Attribute)명 앞에 해당 엔티티명을 추가할 수 있다.
이는 Model Explorer 의 Domain 하위 폴더 중 하나를 선택하여 오른쪽 버튼을 누른 뒤 Properties 메뉴를 선택하거나 더블 클릭을 하면 Domain Directory 대화 상자가 나타난다. * Hierarchically 옵션 버튼 선택 : 데이터 타입에 따라 속성을 정렬 * Name Inherited by 입력 상자 : %EntityName&AttDomain로 정의하면 적용되는 모든 속성명 앞에 엔티티명이 붙어서 정의 7장. ER-Win 사용 방법
53
도메인 설정 Domain Dictionary 대화 상자 설정 7장. ER-Win 사용 방법
54
도메인 설정 입고, 판매 엔티티의 속성앞에 엔티티명이 함께 붙어서 보여진 모습 7장. ER-Win 사용 방법
55
Subject Area Subject Area는 업무적으로 관련이 있거나 혹은 개발자가 보고자 하는 엔티티들만을 가지고 새로운 화면을 구성해서 좀 더 편리하게 엔티티와 관계를 확인할 수 있으며 Subject Area에서 어떠한 내용을 변경한다 하더라도 전체 다이어그램에 반영되므로 원하는 작업을 보다 편리하게 할 수 있다. 데이터베이스 개체들을 생성할 때 Subject Area별로 데이터베이스 개체들을 생성할 수 있다. Subject Area 메뉴 선택 방법 ERWin Toolbar 의 Create Subject Area 버튼 Model Explorer 의 Subject Areas 탭 Model 메뉴 / Subject Areas 메뉴 7장. ER-Win 사용 방법
56
Subject Area ERWin Toolbar에서 Create Subject Area 버튼을 누르면 대화상자가 나타나는데 <Main Subject Area>가 리스트에 등록되어 있고, Members 탭을 누르면 지금까지 작성한 엔티티들이 모두 포함되어 있는 것을 볼 수 있다. ER-Win의 다이어그램에서 정의되는 모든 엔티티들은 기본적으로 <Main Subject Area>에 등록되며, 모든 엔티티들을 제거 할 수 도 있다. 7장. ER-Win 사용 방법
57
Subject Area New버튼/Subject Area의 이름을 ‘입고정보’ 입력/Members 탭 선택/Available Objects 리스트 상자에서 원하는 엔티티 선택 후 첫번째 화살표 이용하여 Include Objects 리스트 상자로 옮길 수 있고 밑에서 두 번째 화살표를 활용하면 관계를 맺고있는 엔티티들까지 추가할 수 있다. 7장. ER-Win 사용 방법
58
Subject Area 입고 엔티티 선택하면 활성되는 밑에서 두번째 버튼을 누르면 다음과 같이 Spanning Neihborhood 대화 상자가 나타나는데 여기서 선택한 엔티티를 중심으로 관계를 맺고 있는 부모와 자식 엔티티를 단계별로 차가할 수 있다. 입고 엔티티를 중심으로 공급업체와 상품 엔티티가 1단계 걸쳐서 정의되어 있으므로 Level ‘1’로 선택한다. 7장. ER-Win 사용 방법
59
Subject Area Spanning Neihborhood 대화상자에서 Level ‘1’ 로 설정하여 입고 엔티티를 중심으로 공급업체와 상품 엔티티가 ‘입고정보’ Subject Area 에 포함되어 있는 모습 7장. ER-Win 사용 방법
60
Subject Area ‘입고정보’ Subject Area 7장. ER-Win 사용 방법
61
Subject Area ‘판매정보’ Subject Area 7장. ER-Win 사용 방법
62
Subject Area ‘입고정보’, ‘판매정보’ Subject Area를 만들었다면 아래의 화살표버튼을 누르면 <Main Subject Area>, ‘입고정보’, ‘판매정보’ 3개의 Subject Area가 존재하게 되며 각 Subject Area로의 이동이 가능하다. Subject Area 에서 작업한 내용도 <Main Subject Area>에 반영된다. TEST. ‘입고정보’ Subject Area 에서 상품 엔티티에 ‘등록일자’ 속성을 추가해 본 후 <Main Subject Area> 를 확인해본다. 7장. ER-Win 사용 방법
63
Stored Display Stored Display : 보는 형식을 저장해 놓고 데이터베이스 스키마를 관리자가 좀 더 편리하게 볼 수 있도록 하는 ER-Win에서 제공하는 하나의 기능 연습2.er1 파일을 열어 다이어그램 바탕화면오른쪽 버튼 팝업메뉴의 Display Level 중 ‘Entity’로 설정한 모습 7장. ER-Win 사용 방법
64
Stored Display 보기 형식 저장하기 대화상자 (다이어그램 바탕화면에서 오른쪽 버튼의 팝업메뉴에서 Stored Display Setting..선택) Rename을 ‘기본보기’로 정의 7장. ER-Win 사용 방법
65
Stored Display Rename을 ‘기본보기’로 설정한 다이어그램 하단 좌측에 ‘기본보기’로 탭의 이름이 변경된 것을 볼 수 있다. 7장. ER-Win 사용 방법
66
Stored Display ‘기본키 보기’ 라는 새로운 Stored Displays 설정해서 다이어그램 좌측 하단에 ‘기본키 보기’ 탭이 추가 된 것을 알 수 있다. 7장. ER-Win 사용 방법
67
Stored Display Stored Displays 대화상자를 다시 열어 Logical 탭에서 다음과 같이 옵션을 조정한다. 7장. ER-Win 사용 방법
68
Stored Display Stored Display 대화상자의 Logical 탭 옵션 설정한 모습
7장. ER-Win 사용 방법
69
물리적(Phygical) 모델링 ERWin Toolbox 의 오른쪽 콤보박스에서 Phygical 을 선택하면 물리적 모델링으로 전환된다. 논리적 모델링에서 물리적 모델링으로 전환할 경우 ER-Win 에서는 용어가 엔티티(Entity)에서 테이블(Table)로 바뀌며 속성(Attribute) 또한 컬럼(Column)으로 바뀌게 된다. 7장. ER-Win 사용 방법
70
Column Data Type 과 Size Logical 모델링에서 Phygical 모델링으로 전환하면 기본적으로 다음 그림과 같이 컬럼의 Data Type과 Size가 함꼐 보여지게 된다. 모든 컬럼에는 Data Type과 Size가 기본적으로 정의되어 있는데 각 컬럼에 입력될 데이터에 따라 적절하게 변경해 주어야 한다. 7장. ER-Win 사용 방법
71
Column Data Type과 Size 정의
컬럼의 Data Type과 Size를 정의할 테이블을 선택한 뒤 오른쪽 버튼을 누르고 팝업 메뉴에서 Columns..메뉴를 선택하면 다음과 같이 Column 대화상자가 나타난다. Column대화상자에서 컬럼을 선택하고 오른쪽 Data Type과 Size를 정의한다. 이 대화상자에서는 컬럼의 Null 허용 여부, IDENTITY 속성 설정, Rule과 Check, Ddfault , Index 도 정의 할 수 있다. 7장. ER-Win 사용 방법
72
Column Data Type과 Size 정의
각 테이블의 컬럼의 데이터 타입과 사이즈를 아래와 같이 정의한다. 7장. ER-Win 사용 방법
73
Column Data Type과 Size 정의
입고날짜와 판매날짜의 컬럼의 데이터 타입과 사이즈는 Model 메뉴/ Domain Directory 메뉴를 선택하면 나타나는 Domain Directory 대화상자에서 날짜를 선택하고 데이터 타입을 정의하면 된다. 7장. ER-Win 사용 방법
74
Identity, Null Option 앞의 예제에서 납품 테이블의 납품번호 컬럼과 판매 테이블의 판매번호 컬럼은 Identity 컬럼으로 정의한다. Identity 컬럼을 정의하기 위해서는 우선 컬럼의 데이터 타입이 정수형이어야 한다. Identity 컬럼의 정의는 Column 대화상자에서 납품 테이블을 더블 클릭하거나, 납품 테이블에서 오른쪽 버튼을 눌러 팝업 메뉴에서 Column 메뉴를 선택하여 Column 대화상자를 연 다음 납품번호 컬럼을 선택한 후 Identity 옵션 버튼을 선택하면 된다. Identity 컬럼을 정의할 경우 기본값과 증가값은 1이다. 만약 Identity 컬럼의 초기값과 증가값을 임의로 정의하고자 한다면 입력상자에 ‘ 초기값,증가값 ’ 의 형식으로 정의해 주면 된다. Identity 컬럼에는 Null값이 입력될 수 없으므로 Null옵션의 의미가 없으며 기본적으로 사용자가 임의로 값을 입력할 수도 없다. 7장. ER-Win 사용 방법
75
Identity, Null Option Column 대화상자의 Identity와 Null 옵션 7장. ER-Win 사용 방법
76
Check, Rule, Default Check 는 테이블을 만들거나 수정하면서 컬럼에 직접 정의하는 제약조건이고 Rule 은 데이터베이스 내의 Object로써 같은 제약조건이 여러 컬럼에 적용되는 경우 우선 데이터베이스 내에 Rule이라는 개체(Object)를 만든 후에 이를 필요한 테이블의 컬럼에 바인딩(sp_bindrule 사용)해서 사용한다. Check 나 Rule 모두 데이터가 컬럼에 입력될 수 있는 경우의 수를 제한함으로써 잘못된 데이터가 입력될 수 없도록 하기 위해 사용된다. Default 는 데이터를 입력하면서 특정 컬럼에 데이터를 입력하지 않았을 때 Null값 대신 기본적으로 해당 컬럼에 입력되는 값을 정의하는 데 사용되며 Default도 역시 컬럼에 직접 적용할 수 있고 데이터베이스의 개체로 정의한 후에 여러 컬럼에 바인딩해서 사용할 수 있다. 7장. ER-Win 사용 방법
77
예제-Check, Rule, Default * 성적 테이블에 적용할 제약조건(Check, Rule, Default)
제약조건 적용 컬럼 내용 Check 전화 전화번호 입력 양식 정의 학점 학점 컬럼에 허용될 값 지정(A,B,C,D,F) Rule 국어,영어,수학 에서 100사이의 값의 입력 범위를 각 컬럼에 적용 Default 국어,영어,수학 값을 입력하지 않은 경우 0값을 입력 7장. ER-Win 사용 방법
78
예제- Check, Rule, Default Check(Rule) 제약조건을 정의하려면 테이블의 Columns 대화상자에서 아래의 그림처럼 Vaild 뒤쪽의 버튼을 클릭하면 두 번째 그림과 같이 Validation Rules 대화상자가 나타나게 된다. 7장. ER-Win 사용 방법
79
예제- Check, Rule, Default 우선 Check 제약조건을 먼저 정의하기 위해 New 버튼을 누른 뒤 New Validation Rule 대화상자에서 Logical과 Phygical 입력상자에 ‘전화Check’이라고 입력한 후 ‘OK’ 버튼을 누른다. 7장. ER-Win 사용 방법
80
예제- Check, Rule, Default 위의 Type은 제약조건의 형식을 고려하여 선택해 주어야 하며 전화 컬럼의 경우 입력 양식을 자리 수에 따라 지정해 주어야 하기 때문에 User-Defind 옵션 버튼을 선택해야 한다. 그런 다음 Validation 입력상자에 다음과 같이 입력한다. “전화 LIKE ‘([0-9] [0-9] [0-9]) [0-9] [0-9] [0-9] [0-9]-[0-9] [0-9] [0-9] [0-9]’” 7장. ER-Win 사용 방법
81
예제- Check, Rule, Default 그런 다음 아래 그림처럼 SQL Server 탭을 선택하고 Generate As 영역에서 CHECK Constraint 옵션을 선택한다. 7장. ER-Win 사용 방법
82
예제- Check, Rule, Default 그런 다음 OK버튼을 눌러서 Columns 대화상자로 돌아간 뒤 아래의 그림처럼 전화 컬럼을 선택하고 Vaild 콤보상자에서 ‘전화Check’를 선택한다. 7장. ER-Win 사용 방법
83
예제- Check, Rule, Default 학점은 입력할 수 있는 데이터를 ‘A,B,C,D,F’로 한정해야 하기 때문에 ‘학점Check’를 새로 만들고 Type에서 ‘Valid Values List’옵션 버튼을 선택하면 여러 값을 입력할 수 있는 그리드가 나타나는데 아래 그림처럼 Valid Values 컬럼에 값의 리스트를 정의한다. 7장. ER-Win 사용 방법
84
예제- Check, Rule, Default 그런 다음 SQL Server 탭에서 CHECK Constrain 옵션을 체크한 후 ‘OK’버튼을 누른 다음 아래 그림처럼 학점 컬럼을 선택하고 Valid 콤보상자에서 학점Check 항목을 선택한다. 7장. ER-Win 사용 방법
85
예제- Check, Rule, Default 컬럼에 입력될 수 있는 값의 범위를 정의하기 위해 New버튼을 누르고 ‘점수Rule’을 새로 만든 후 Min/Max옵션을 선택하고 Min(0)/Max(100)을 입력한다. 7장. ER-Win 사용 방법
86
예제- Check, Rule, Default ‘점수Rule’은 국어, 영어, 수학 컬럼에 모두 적용될 제약조건이므로 Rule로 만들어서 필요한 컬럼에 바인딩해야 하므로 SQL Server 탭에서 sp_bindrule 옵션을 선택한 후 ‘OK’버튼을 누른다. 7장. ER-Win 사용 방법
87
예제- Check, Rule, Default Columns 대화상자에서 국어,영어,수학 컬럼의 Valid 콤보상자에서 각각 ‘점수Rule’ 을 선택한다. 국어, 영어, 수학 컬럼에 데이터가 입력되지 않을 때 기본적으로 0값이 입력될 수 있도록 Default 값을 설정해야 한다. 역시, Columns 대화상자에서 Default 상자 뒤의 버튼을 누른다. 7장. ER-Win 사용 방법
88
예제- Check, Rule, Default 국어, 영어, 수학 컬럼에 적용될 Default 값을 새로 정의할 것이므로 New 버튼을 누른 뒤 Default 이름을 ‘점수Default’라고 입력하고 확인버튼을 눌러 새로운 Default값을 정의하도록 한다. * Default/initial Values 대화상자에서는 기본적으로 Default값을 정의할 수 있도록 여러 가지 시스템에서 제공되는 함수나 값들이 미리 정의되어 있어 이들을 사용하려면 원하는 컬럼에 바로 Default 값을 설정하면 된다. 7장. ER-Win 사용 방법
89
예제- Check, Rule, Default 앞에서 만든 Default 항목을 선택한 후 아래처럼 값은 0을 입력하고 sp_bindfault를 선택한다. 7장. ER-Win 사용 방법
90
예제- Check, Rule, Default 그런 다음 ‘OK’버튼을 누르고 Columns대화상자에서 다음 그림과 같이 국어, 영어, 수학 컬럼에서 Default 콤보상자를 ‘점수Default’로 선택해 준다. 7장. ER-Win 사용 방법
91
인덱스(Index) 정의 인덱스(Index) 정의 방법
Phygical 모델링에서 인덱스를 정의할 테이블을 선택하고 오른쪽 버튼의 팝업 메뉴 중 Indexes 를 선택하여 정의 Columns 대화상자의 Index 탭에서 정의 7장. ER-Win 사용 방법
92
인덱스(Index) 정의 성적 테이블을 선택하고 오른쪽 버튼 팝업 메뉴에서 Indexes 를 선택하면 SQL Server Indexes 대화상자가 나타난다. * 성적 테이블에서 인덱스를 정의한 적이 없지만 기본적으로 기본키 컬럼에 자동으로 인덱스가 정의되어 있는 것을 볼 수 있다. 7장. ER-Win 사용 방법
93
인덱스(Index) 정의 새로운 인덱스를 만들려면 SQL Server Indexes 대화상자에서 New 버튼을 누른다. 그러면 아래의 그림처럼 New Index 대화상자가 나타나게 되는데 여기서 중요한 옵션이 바로 Unique 옵션이다. Unique 옵션은 기본적으로 선택되어 있음. (컬럼의 데이터가 Unique 할 경우 그대로 적용하면 된다.) Unique 옵션이 해제되면 Key Group의 이름이 ‘Inversion Entry1’으로 바뀐다. (* Inversion Entry:데이터가 Unique하지 않지만 자주 액세스되는 컬럼을 정의할 때 사용하는 용어) 7장. ER-Win 사용 방법
94
인덱스(Index) 정의 인덱스를 정의하고자 하는 학점 컬럼은 중복된 데이터가 입력될 수 있으므로 Unique 옵션을 해제한 후 OK버튼을 누르면 새로운 인덱스가 만들어지게 되는데 Members 탭에서 학점 컬럼을 선택한 후 추가 화살표 버튼을 눌러 오른쪽 Index 상자로 옮긴다. 7장. ER-Win 사용 방법
95
인덱스(Index) 정의 SQL Server 탭에서 Clustered 체크박스를 선택한 후 ‘OK’버튼을 눌러 적용한다.
7장. ER-Win 사용 방법
96
인덱스(Index) 정의 이렇게 만들어진 인덱스는 Columns 대화상자의 Index 탭에서 전체적으로 테이블에 정의된 내역을 확인할 수 있다. 7장. ER-Win 사용 방법
97
뷰(View) 정의 ER-Win에서 뷰(View)를 만들려면 물리적(Phygical)모델링 단계에서 ERWin Toolbar에 있는 View Table을 선택해서 만들 수 있다. View Table 엔티티를 만들 때처럼 View Table을 선택한 후 다이어그램을 클릭하면 다음과 같은 모습으로 뷰가 만들어지게 된다. 7장. ER-Win 사용 방법
98
뷰(View) 정의 뷰의 이름을 ‘판매View’로 바꾼 후 뷰로 구성할 컬럼(판매.판매번호/회원.이름/상품.상품명/판매.판매날짜/판매.판매수량/판매.판매금액)들을 ‘판매View’에 끌어다 놓으면 다음 그림과 같은 모습이 될 것이다. 조인의 조건이 정의되지 않은 뷰(Cross Join상태) 7장. ER-Win 사용 방법
99
뷰(View) 정의 조인의 조건을 따로 지정하기 위해서는 뷰에서 오른쪽 버튼을 누른 후 Database View Properties 메뉴를 선택해서 다음 그림과 같은 View 대화상자를 연다. Select 탭에서는 뷰에서 사용된 테이블들의 나머지 컬럼들과 뷰로 구성된 컬럼들이 보여지며, 원하는 컬럼을 추가하거나 뷰에 포함된 컬럼을 제거할 수도 있다. 7장. ER-Win 사용 방법
100
뷰(View) 정의 Form 탭에서는 뷰에 사용된 테이블들이 보여지게 되며 이곳에서 새로운 테이블을 추가할 수도 있다.
7장. ER-Win 사용 방법
101
뷰(View) 정의 조인의 조건을 포함한 조회의 조건 등을 지정하기 위해서는 Where 탭에서 관련된 내용을 정의해 주어야 한다. 7장. ER-Win 사용 방법
102
뷰(View) 정의 SQL 탭에서 완성된 뷰 문장을 확인한 후 ‘OK’버튼을 눌러서 뷰의 작성 내역을 저장한다.
7장. ER-Win 사용 방법
103
뷰(View) 정의 완성된 뷰의 모습 7장. ER-Win 사용 방법
104
Stored Procedure 정의 스토어드 프로시저를 만들려면 물리적(Phygical) 모델링 단계에서 Database 메뉴 / Stored Procedure 메뉴를 선택한다. Table-Level : 테이블이나 뷰에 기반한 스토어드 프로시저를 정의하고자 할 때 선택 Model-Level : 값의 계산이나 부가적인 프로세스를 처리하기 위한 스토어드 프로시저를 정의하고자 할 때 선택 Table –Level 의 스토어드 프로시저는 위의 방법 외에도 해당 테이블을 선택해 만들 수 도 있고, 오른쪽 버튼의 팝업 메뉴에서 Stored Procedure 를 선택해도 만들 수 있다. 7장. ER-Win 사용 방법
105
Stored Procedure 정의 여기서는 입고 테이블을 기반으로 한 스토어드 프로시저를 만들 것이므로 입고 테이블을 선택하고 오른쪽 버튼의 팝업 메뉴에서 Stored Procedure 메뉴를 선택하면 다음과 같은 대화상자가 나타나게 된다. 7장. ER-Win 사용 방법
106
Stored Procedure 정의 NEW 버튼을 누른 후 ‘S_일일입고현황’이라는 이름을 입력한 뒤 확인 버튼을 누르고 Code 입력 상자가 사용할 수 있게끔 활성화되는데 여기에 다음과 같은 코드를 입력해서 스토어드 프로시저를 정의한다. CREATE PROCIDURE S_일일입고현황 @SDATE CHAR(8) AS SELECT 입고.입고번호, 상품.상품번호, 공급업체.업체명, 입고.입고날짜, 입고.입고수량, 입고.입고단가, 입고.입고금액 FROM 입고, 상품, 공급업체 WHERE 입고.상품코드 = 상품.상품코드 AND 입고.업체코드 = 공급업체.업체코드 AND 입고.입고날짜 7장. ER-Win 사용 방법
107
Stored Procedure 정의 아래와 같이 스토어드 프로시저가 정의되며 세 번째인 ‘Expanded’ 탭을 선택하면 완성된 소스를 확인할 수 있다. 그런 다음 OK버튼을 누른다. 7장. ER-Win 사용 방법
108
트리거(Trigger) 정의 방법 트리거를 정의하려면 Phygical 모델링에서 테이블을 선택한 뒤 오른쪽 버튼을 누른 후 팝업 메뉴에서 Triggers 메뉴를 선택하면 된다. 상품 데이블과 입고 테이블을 통해 상품 테이블의 재고수량을 관리하는 트리거를 정의해 보자. * 트리거를 정의하기 위해서는 우선 이벤트가 발생하는 테이블을 파악해야 한다. 입고 테이블에서 데이터가 입력, 수정, 삭제 될때 상품 테이블의 재고수량을 관리해야 하므로 이벤트가 발생하는 테이블은 입고 테이블이다 7장. ER-Win 사용 방법
109
트리거(Trigger) 정의 방법 트리거를 만들기 위해서 우선 입고 테이블에서 오른쪽 버튼의 팝업 메뉴에서 Trigger를 선택하면 Triggers 대화상자가 나타난다. 7장. ER-Win 사용 방법
110
트리거(Trigger) 정의 방법 입고 테이블에 데이터를 입력할 때 재고수량을 관리하는 트리거를 정의할 것이므로 New 버튼을 누르고 트리거의 이름을 ‘입고INS’로 정의한다. ‘Trigger On’옵션에서 트리거가 동작되는 시점을 정의한다. 현재 입고 테이블에 데이터를 입력할 때 동작하는 트리거를 정의하는 것이므로 Insert 체크상자를 체크한다. 7장. ER-Win 사용 방법
111
트리거(Trigger) 정의 방법 그런 다음 Code탭으로 전환하면 탬플릿 코드가 만들어지게 된다.
7장. ER-Win 사용 방법
112
트리거(Trigger) 정의 방법 탬플릿 코드가 의미하는 내용을 보고자 한다면 Expanded 탭을 선택하면 되는데, 그 내용을 분석해 보면 관계형성을 통한 참조 무결성을 정의하고 있는 내용이다. 7장. ER-Win 사용 방법
113
트리거(Trigger) 정의 방법 재고수량을 관리하는 내용의 아래의 코드를 Code 탭의 입력 상자의 마지막 부분 Return 문장 바로 위에 추가해야 한다. UPDATE 상품 SET 재고수량 = 재고수량 + (SELECT 입고수량 FROM INSERTED) WHERE 상품코드 = (SELECT 상품코드 FROM INSERTED) 7장. ER-Win 사용 방법
114
트리거(Trigger) 정의 방법 Expanded 탭으로 전환해 보면 실제로 만들어질 트리거에 대한 내용들이 정의되어 있는 모습을 확인할 수 있다. 그러면 코딩을 점검해 보고 이상이 없는지 확인하자. 7장. ER-Win 사용 방법
115
역정규화(Denormalization) 정의 방법
ERWin Transform Toolbar 를 이용하여 정의 논리적 모델링 물리적 모델링 7장. ER-Win 사용 방법
116
역정규화(Denormalization) 정의 방법
1 2 3 4 5 Vertical Partition – 컬럼을 기준으로 테이블을 분리 Horizontal Partition – 레코드를 기준으로 테이블을 분리 Roll_Down Denormalization – 자식 테이블을 기준으로 테이블을 분리 Roll_Up Denormalization – 부모 테이블을 기준으로 테이블을 통합 Column Denormalization – 조인의 속도를 향상시키기 위해서 조회하는 테이블에 컬럼을 중복하는 내용 7장. ER-Win 사용 방법
117
Vertical Partition 버튼 컬럼을 나누는 가장 중요한 기준은 업무적인 성격이다. 업무적인 성격에 따라서 조회를 할 때 관련된 컬럼들을 조회하므로 업무적인 성격에 따라서 컬럼들을 서로 다른 테이블에 구분해 놓으면 하나의 Page에 관련된 레코드가 보다 많이 저장되므로 조회의 성능을 향상시킬 수 있다. 우선 새로운 파일을 연 다음 물리적 모델링으로 전환한 뒤 옆의 그림과 같이 사원 테이블을 만든다. 7장. ER-Win 사용 방법
118
Vertical Partition 버튼 Vertical Partition 버튼을 활성화 시키려면 작업하고자 하는 테이블을 선택하면 된다. 사원 테이블을 선택하면 Vertical Partition 과 Horizontal Partition 두 버튼이 활성화 된다. 7장. ER-Win 사용 방법
119
Vertical Partition 버튼 활성화된 첫 번째 버튼인 ‘Vertical Partition’버튼을 선택하면 다음과 같은 마법사가 나타난다. 7장. ER-Win 사용 방법
120
Vertical Partition 버튼 다음 버튼을 누르면 분리해서 만들어질 테이블의 숫자를 입력하는 난이 나오는데 여기서는 두개의 테이블로 분리할 것이므로 ‘2’라고 적고 다음 버튼을 누른다. 7장. ER-Win 사용 방법
121
Vertical Partition 버튼 분리하고자 하는 테이블들의 이름을 정의하는 단계가 나오면 Main Partiton 에서는 원래대로 ‘사원’이라고 정의하고 2에서는 ‘부가정보’라고 정의한다. 7장. ER-Win 사용 방법
122
Vertical Partition 버튼 다음은 분리될 각각의 테이블에 컬럼들을 포함시키는 작업이다. Partiton Name 콤보상자에 ‘사원’과 ‘부가정보’를 각각 선택한 후 아래의 표를 참조하여 필요한 컬럼들을 모두 포함시킨다. 사원 이름, 주민번호, 전화번호, 핸드폰번호, , 우편번호, 주소, 입사일 부가정보 취미, 종교, 시력좌, 시력우, 결혼유무, 키, 몸무게, 혈액형 7장. ER-Win 사용 방법
123
Vertical Partition 버튼 ‘사원테이블 컬럼분할’ 이란 Transform Name 을 정의한 후 ‘다음’ 버튼을 누른다. 7장. ER-Win 사용 방법
124
Vertical Partition 버튼 마지막으로 지금까지의 작업에 대한 정보가 표시되며 내용을 확인한 후 ‘마침’ 버튼을 눌러서 작업을 완료한다. 7장. ER-Win 사용 방법
125
Vertical Partition 버튼 작업을 완료하면 위 작업에서 정의한 대로 두개의 테이블이 정의된 모습을 볼 수 있다.
7장. ER-Win 사용 방법
126
Vertical Partition 버튼 ERWin ToolBox 에서 식별 관계선을 선택한 후 사원 테이블과 부가정보 테이블을 차례로 클릭해서 관계를 형성한다. 하지만, 수직분할로 만들어진 테이블에는 식별 관계를 허용할 수 없다는 메시지가 나타난다. 7장. ER-Win 사용 방법
127
Vertical Partition 버튼 두 테이블의 논리적인 관계를 해소하면 식별 관계를 형성할 수 있는데 이는 Model Explorer 에서 ‘사원 테이블 컬럼분할’이라 정의한 Transform Name 의 오른쪽 버튼을 누르고 Delete/Resolve Transform을 선택하면 된다. 7장. ER-Win 사용 방법
128
Vertical Partition 버튼 사원 테이블과 부가정보 테이블 사이에 아무 변화 없어 보이지만, ‘사원테이블 컬럼분할’이라는 Transform Name이 없어졌으며 이 관계에서 관계를 설정하면 아래와 같이 원하는 관계를 정의할 수 있다. 7장. ER-Win 사용 방법
129
Horizonal Partition 버튼
레코드를 기준으로 테이블을 분리하는 경우 사용 예를 들어 한 테이블에 많은 데이터가 있는데 이 테이블에서 부분적인 내용만을 자주 조회한다면 전체 데이터를 한 테이블에서 관리하는 것보다는 성격이 비슷한 데이터를 여러 테이블로 나누어서 관리하는 것이 조회의 성능을 향상시킬 수 있는 방법이다. 성적 테이블을 작성하고 이 테이블의 학생을 성적별로 상, 중, 하로 나누어 관리하고자 한다. (상:270점이상, 중:210~269점, 하:209점이하) 7장. ER-Win 사용 방법
130
Horizonal Partition 버튼
우선 성적 테이블을 선택한 후 ‘Horizontal Partition’ 버튼을 클릭하면 아래와 같은 마법사가 나타나는데 ‘다음’버튼을 눌러서 다음으로 이동한다. 7장. ER-Win 사용 방법
131
Horizonal Partition 버튼
테이블을 분할할 수를 입력해야 하는데 여기서는 성적 상, 중, 하로 테이블을 분리할 것이기 때문에 3을 입력하고 ‘다음’ 버튼을 누른다. 7장. ER-Win 사용 방법
132
Horizonal Partition 버튼
새롭게 만들어질 각각의 테이블의 이름을 정의해야 하는데, 여기서는 ‘성적 상, 성적 중, 성적 하’를 입력하고 ‘다음’ 버튼을 누른다. 7장. ER-Win 사용 방법
133
Horizonal Partition 버튼
Transform Name을 정의하는데 ‘성적 테이블 수평분할’이라고 적은 후 ‘다음’버튼을 눌러서 지금까지 작업한 태역을 확인한 후 마침 버튼을 누른다. 7장. ER-Win 사용 방법
134
Horizonal Partition 버튼
성적 테이블이 분할되어진 모습을 볼 수 있다. 7장. ER-Win 사용 방법
135
Horizonal Partition 버튼
각 테이블들은 구조 상 같은 유형이며 입력 시 총점을 기준으로 각 테이블에 데이터가 입력되어야 하므로 총점 컬럼에 Check 제약조건을 정의해야 한다. 7장. ER-Win 사용 방법
136
Horizonal Partition 버튼
내부적인 관계를 해소하기 위해 Model Explorer의 Transform 에서 ‘성적 테이블 수평분할’을 선택한 후 팝업 메뉴에서 Delete/ Resolve Transform을 선택한다. 7장. ER-Win 사용 방법
137
Horizonal Partition 버튼
각 테이블의 총점 컬럼에 적합한 제약조건을 적용한다. 7장. ER-Win 사용 방법
138
Roll_Down Denormalization & Roll_Up Denormalization 버튼
정규화 과정에서 분리한 테이블들을 다시 하나로 통합하는 방법의 역정규화 Roll_Down Denormalization – 자식 테이블을 기준으로 테이블을 통합 Roll_Up Denormalization – 부모 테이블을 기준으로 테이블을 통합 7장. ER-Win 사용 방법
139
Roll_Down Denormalization & Roll_Up Denormalization 버튼
7장. ER-Win 사용 방법
140
Roll_Down Denormalization & Roll_Up Denormalization 버튼
Roll_Down Denormalization 버튼은 자식 테이블을 기준으로 두 테이블을 통합하는 것이며 Roll_Down Denormalization 버튼을 누른다. 7장. ER-Win 사용 방법
141
Roll_Down Denormalization & Roll_Up Denormalization 버튼
마법사가 나타나면 ‘다음’버튼을 눌러서 Transform Name을 ‘부가정보 테이블로 통합’으로 정의한 후 다음 단계로 이동한다. 7장. ER-Win 사용 방법
142
Roll_Down Denormalization & Roll_Up Denormalization 버튼
마지막 단계에서 작업에 대한 내역을 확인한 후 마침 버튼을 snfmus 아래 그림과 같이 테이블이 부가정보 테이블로 합쳐진 모습을 확인할 수 있다. 7장. ER-Win 사용 방법
143
Roll_Down Denormalization & Roll_Up Denormalization 버튼
다시 원래의 상태로 되돌리기 위해서 Model Explorer의 Transform에서 ‘부가정보 테이블로 통합’Transform Name을 선택한 후 팝업 메뉴에서 Delete/Reverse Transform을 선택하면 원래의 상태로 되돌아 간다. 7장. ER-Win 사용 방법
144
Roll_Down Denormalization & Roll_Up Denormalization 버튼
원래 상태로 되돌아 간 모습을 볼 수 있다. 7장. ER-Win 사용 방법
145
Column Denormalization 버튼
컬럼 역정규화 : 주로 조인의 속도를 향상시키기 위해서 조회하는 테이블에 컬럼을 중복하는 내용 * 데이터가 많을 경우 조인을 하기 위해서 많은 부하가 발생하게 되는데 이럴 경우 차라리 회원 테이블의 이름 컬럼과 상품 테이블의 상품명 컬럼을 판매 테이블에 중복하게 되면 판매 테이블을 조회할 때 마다 조인을 하지 않아도 되기 때문에 조회의 성능을 향상시킬 수 있다. 7장. ER-Win 사용 방법
146
Column Denormalization 버튼
7장. ER-Win 사용 방법
147
Column Denormalization 버튼
ERWin Transform Toolbar의 ‘Column Denormalization’버튼이 활성화되며 이 버튼을 누르면 다음과 같이 마법사가 나타난다. 7장. ER-Win 사용 방법
148
Column Denormalization 버튼
‘다음’버튼을 누르면 컬럼 이름을 정의하는 단계가 나오는데 여기서는 판매 테이블에 추가될 컬럼의 이름을 정의하고 ‘다음’ 버튼을 누른다. 7장. ER-Win 사용 방법
149
Column Denormalization 버튼
Target Table을 선택해야 하는데 회원 테이블의 이름 컬럼을 판매 테이블로 복제할 것이므로 판매 테이블을 선택한 후 ‘다음’ 버튼을 누른다. 7장. ER-Win 사용 방법
150
Column Denormalization 버튼
Transform Name을 정의하는 단계로 ‘이름 컬럼 역정규화’라고 정의한 후 ‘다음’ 버튼을 누른다. 7장. ER-Win 사용 방법
151
Column Denormalization 버튼
마지막 단계에서 요약된 정보가 보여지며 ‘마침’버튼을 누르면 회원 테이블의 이름 컬럼이 판매 테이블에 회원이름으로 복제된 모습을 확인 할 수 있다. 7장. ER-Win 사용 방법
152
Column Denormalization 버튼
같은 방법으로 상품 테이블의 상품명을 판매 테이블의 상품명으로 복제하면 아래와 같은 모습이 되는 것을 볼 수 있다. 7장. ER-Win 사용 방법
153
파일 그룹(File Group) 정의 하나의 데이터베이스는 최소한 하나의 데이터 파일과 최소한 하나 이상의 로그 파일로 구성된다. .mdf 확장자 – 주 데이터 파일 - 데이터베이스를 생성할 때 첫 번째로 정의된 데이터 파일에 기본적으로 적용되는 확장자 .ndf 확장자 – 보조 데이터 파일 - 주 데이터 파일 생성된 후 추가로 만들어지는 데이터 파일 - 데이터베이스에 만들어지는 테이블이나 인덱스 등은 바로 이 데이터 파일에 저장된다. 7장. ER-Win 사용 방법
154
1.주(Primary) 파일 그룹 SQL Server에서 이러한 데이터 파일들을 그룹으로 관리되는데 데이터 파일을 만들면서 파일 그룹에 대한 아무런 언급이 없으면 모든 데이터 파일들은 일단 주 파일 그룹의 구성원이 된다. 관리자는 원하는 형태에 따라 새로운 파일 그룹을 만들 수 있으며 데이터 파일들을 특정 파일 그룹에 포함시킬 수 있다. 새로운 파일을 만들 때 .mdf 확장자를 갖는 주 데이터 파일은 반드시 주 파일 그룹에 속해야 하며 ‘Primary’라고 하는 파일 그룹의 이름 또한 바꿀 수 있다. DataBase (30Mb) 10Mb Data File Log File 7장. ER-Win 사용 방법
155
2.기본(Default) 파일 그룹 기본 파일 그룹은 새로운 테이블이나 인덱스 등을 만들 때 기본적으로 만들어지는 파일 그룹을 말한다. 데이터베이스를 만들 때 기본적으로 주 파일 그룹이 기본 파일 그룹이 되기 때문에 데이터베이스를 만들 대 생성되는 시스템 테이블들은 기본적으로 주 파일 그룹에 만들어지게 된다. 여러 개의 파일 그룹을 사용하여 데이터베이스를 만들었다면 만든 후에 기본 파일 그룹을 기본 파일 그룹이 아닌 관리자가 만든 다른 파일 그룹으로 정의해 두는 것이 좋다. 7장. ER-Win 사용 방법
156
3. 테이블과 인덱스 따로 저장 기본 파일 그룹과는 별도로 데이터베이스의 테이블이나 인덱스가 저장되는 파일 그룹을 정의할 수 있다. D: E: File Group A File Group B 저장 판매 테이블 판매 테이블의 INDEX 예 – File Group A는 D:드라이브에, File Group B는 E:드라이브에 만든 다음 판매 테이블은 File Group A에 저장하고 판매 테이블의 인덱스들은 File Group B에 저장할 수 있다. 이렇게 저장하면 판매 테이블에 데이터가 입력되었을 경우 데이터의 입력은 D:드라이브가, 인텍스의 정보의 갱신은 E:드라이브가 담당하게 되므로 보다 나은 성능 향상을 기대할 수 있다. 파일 그룹의 사용은 대용량 데이터베이스에서 최적의 수행 속도를 보장할 수 있는 최적의 솔루션일 수 있다. 7장. ER-Win 사용 방법
157
예제-파일 그룹(File Group) 정의
SQL Server 의 엔터프라이즈 관리자에서 ‘연습DB’라는 이름의 데이터베이스를 만들어 보자. 7장. ER-Win 사용 방법
158
예제-파일 그룹(File Group) 정의
‘확인’버튼을 눌러서 데이터베이스를 만든 후에 기본(Default)파일 그룹을 변경하려면 연습 DB 데이터베이스의 팝업 메뉴에서 등록정보 메뉴를 선택하고 속성 대화상자에서 ‘파일 그룹’탭에서 ‘FGA’ 파일 그룹에 기본값을 체크하면 된다. 7장. ER-Win 사용 방법
159
예제-파일 그룹(File Group) 정의
ER-Win에서 파일 그룹은 Model Explorer의 ‘Filegroup’의 팝업 메뉴에서 New 메뉴를 선택하면 파일 그룹의 이름을 입력할 수 있는데 여기서 ‘FGA’와 ‘FRB’를 차례로 입력하여 아래 그림처럼 파일 그룹을 만든다. 7장. ER-Win 사용 방법
160
예제-파일 그룹(File Group) 정의
우선 판매 테이블을 ‘FGA’파일 그룹에 만들려면 판매 테이블을 선택하고 팝업 메뉴에서 Table Properties / Phygical Property 메뉴를 선택하면 SQL Server Tables 대화상자가 나타나는데 Filegroup 콤보상자에서 ‘FGA’목록을 선택하면 된다 7장. ER-Win 사용 방법
161
예제-파일 그룹(File Group) 정의
판매 테이블에 있는 인덱스를 ‘FGB’파일 그룹에 만들도록 정의하려면 우선 판매 테이블을 선택하고 팝업 메뉴에서 Indexes..메뉴를 선택 한 다음 SQL Server 탭에서 ‘Filegroup’을 ‘FGB’로 선택하고 ‘OK’버튼을 눌러 적용한다. 7장. ER-Win 사용 방법
162
데이터베이스 스키마 생성 데이터베이스 스키마 생성 – 물리적 데이터 모델링 단계를 거쳐 정의한 데이터베이스의 스키마의 내용을 실제 데이터베이스 객체로 만들어질 수 있도록 하는 과정 7장. ER-Win 사용 방법
163
데이터베이스 스키마 생성 데이터베이스 스키마로 만들기 위해서는 우선 데이커베이스에 연결해야 한다.
- ER-Win에서 물리적 모델링 단계로 전환한 다음 Database 메뉴/Database Connection 메뉴를 선택하면 SQL Server Connection 대화상자가 나타난다. - 여기서 User Name은 데이터베이스 내에 스키마를 생성할 수 있는 권한이 있는 사용자 계정을 정의하면 되는데, 여기서는 ‘sa’로 사용자 계정을 사용하도록 하겠다. 7장. ER-Win 사용 방법
164
데이터베이스 스키마 생성 그런 다음 Connection 버튼을 누르면 연결을 시도하게 되는데 연결이 정상적으로 이루어지면 SQL Server Connection 대화상자가 사라지게 된다. 아니면 에러 메시지가 나타난다. 7장. ER-Win 사용 방법
165
데이터베이스 스키마 생성 정상적으로 연결이 됐다면 이제 데이터베이스 스키마를 생성해야 한다. 데이터베이스 스키마를 생성하기 위해 Tools메뉴/Forward Engineer/Schema generation 메뉴를 선택하면 SQL Server Schema Generation 대화상자가 나타난다. 앞에서 정의한 파일 그룹의 설정 내용이 실제 데이터베이스에 적용되도록 하려면 Table과 index에 있는 옵션 중에서 ‘Phygical Storage’옵션을 선택해야만 한다. 7장. ER-Win 사용 방법
166
데이터베이스 스키마 생성 스크립트 소스를 미리 확인해 보고자 할 때는 위 대화상자의 왼쪽 하단에 있는 ‘Preview’버튼을 누르면 아래와 같이 스크립트를 미리 확인해 볼 수 있다. 7장. ER-Win 사용 방법
167
데이터베이스 스키마 생성 ‘Close’버튼을 눌러 종료하고 다시 SQL Server Generation 대화상자로 돌아와서 마지막으로 데이터베이스에 스키마를 생성하기 위해 ‘Generate’ 버튼을 클릭한다. 그러면 연속해서 스크립트가 실행되고 중간에 에러가 나게 되면 어떤 종류의 에러 메시지인지 잘 확인한 다음 잘못된 내용을 ER-Win 에서 수정해 주어야 한다. 모두 정상적으로 작업을 마쳤다면 이제 실제 데이터베이스 스키마가 정상적으로 생성 되었는지를 SQL Server에서 확인해 보도록 하자. 7장. ER-Win 사용 방법
168
프린트(Print) 출력을 하려면 우선 가로 방향으로 출력할 것인지 아니면 세로 방향으로 출력할 것인지에 관해 먼저 선택을 해주어야 하는데 이에 대한 설정은 File/Print Setup 메뉴에서 할 수 있다. 여기서는 가로 방향을 선택한다. 7장. ER-Win 사용 방법
169
프린트(Print) 출력 방향이 정해진 다음 File/Print 메뉴를 누르면 다음과 같이 Print 대화상자가 나타나는데 출력 용지의 외곽선을 선택해서 출력물의 위치와 사이즈를 정의할 수 있으며 오른쪽 밑에 Fit Model 버튼을 누르면 전체 디자인했던 스키마가 모두 보여질 수 있도록 자동으로 사이즈를 최적화하게 된다. 7장. ER-Win 사용 방법
170
Thank you
Similar presentations