ER-Win의 설치와 활용
학습 목표 ER-Win은 E-R 다이어그램을 이용하여 모델링 하는 것보다 더욱 직관적이고 편리하게 데이터베이스 모델링을 할 수 있도록 도와주는 역할을 하는 모델링 자동화 툴이다. ER-Win 4.1 의 설치 방법과 그들의 구성요소에 대한 사용법을 학습한다.
ER-Win의 설치 Setup.exe 파일 실행
ER-Win 설치
ER-Win설치
ER-Win설치
ER-Win설치
ER-Win설치하기
ER-Win설치
ER-Win설치
ER-Win설치
ER-Win 설치
ER-Win 설치
ER-Win 실행 ER-Win 실행 시작->프로그램->Computer Associates->Allfusion ->ERwinData Modeler->ERwin
ER-Win 실행
ER-Win의 구성요소와 사용법 구성요소와 사용법 도구와 메뉴영역 모델 익스플로러 영역 다이어그램영역 [그림 4-17] ER-Win 메인 화면 모델 익스플로러 영역 다이어그램영역
표기방식 설정 표기방식 설정 ■ ER-Win 표기방식의 종류 1) IE(International Engineering)표기법 : 정보공학 표기방식 2) Ideflx(Integration DEFinition for Information Modeling)표기법 : 미 국방성에서 프로젝트 표준안으로 개발한 표기방식 ■ 표기방식 설정 : ER-Win메인화면->Model->Model Properties->Notation탭
표기방식 설정
엔티티 생성 엔티티 생성 ■ 실습 : 상품코드(기본키), 소코드, 색상코드, 사이즈로 구성된 상품’ 엔티티 생성해보자 ■ 실습 : 상품코드(기본키), 소코드, 색상코드, 사이즈로 구성된 상품’ 엔티티 생성해보자 1. ER-Win 도구상자 에서 엔티티 도구 선택->다이어그램 영역에 클릭
엔티티 생성 2. E/1을 클릭하여 엔티티 이름 상품을 입력 3. 기본키 영역에 상품코드 입력 4. 일반 어트리뷰트 영역에 소코드,색상코드,사이즈,재고수량을 입력
관계 정의 다 대 다의 관계(Many-to-many relationship) 관계 정의 식별 관계(Identifying relationship) : 일 대 일(1 : 1)의 관계를 표현 비-식별관계(Non-identifying relationship) : 일 대 다(1 : n)의 관계 다 대 다의 관계(Many-to-many relationship) : 다 대 다(n : m)의 관계
식별관계 정의 식별관계 정의 ■ 실습 : ER-Win으로 ‘고객’엔티티와 '부가정보'엔티티 사이의 일 대 일의 관계를 정의해 보자 1. 고객과 부가정보 엔티티를 생성
식별관계 정의 2. 도구 상자에서 Identifying relationship 도구를 선택 3. 고객 엔티티 클릭후 부가정보 엔티티를 클릭 4. 관계선 클릭->마우스 오른쪽 버튼클릭-> 팝업메뉴-> ‘Relationship Properties...’ 클릭
식별관계 정의 5.‘Relationships’ 대화상자에서 ‘Cardinality’와 ‘Relationship Type’ 옵션값을 수정
식별관계정의 6. 다이어그램 영역의 빈 곳에서 마우스 오른쪽 버튼을 클릭 -> 팝업메뉴-> ‘Relationship Display->Cardinality’를 클릭
비-식별 관계 정의 비-식별 관계 정의 ■ 실습 : ‘상품’ 엔티티와 ‘소분류코드‘ 엔티티사이의 일 대 다의 관계를 정의해 보자 1. 상품과 소분류코드 엔티티를 생성
비-식별 관계 정의 2. 도구 상자에서 Non-Identifying relationship도구를 선택 3. 소분류코드 엔티티 클릭후 상품 엔티티를 클릭 4. 관계선 클릭->마우스오른쪽 버튼 클릭->팝업메뉴-> ‘Relationship Properties...’ 클릭
비-식별 관계 정의 5.‘Relationships’ 대화상자에서 ‘Nulls’ 옵션값을 ‘No Nulls’로 변경->OK버튼 클릭
비-식별 관계 정의
다 대 다 관계 정의 3. 고객 엔티티 클릭 후 상품 엔티티를 클릭 다 대 다 관계 정의 ■ 실습 : ‘상품’ 엔티티와 ‘고객‘ 엔티티 사이의 다 대 다의 관계를 정의해 보자 1. 상품과 고객 엔티티를 생성 2. 도구 상자에서 Many-to-Many relationship 도구를 선택 3. 고객 엔티티 클릭 후 상품 엔티티를 클릭
다 대 다 관계 정의 4. 관계선 클릭->ERwin Transform Toolbar에서 ‘Many to Many Transform’ 선택->’다음’ 버튼 클릭
다 대 다 관계 정의 5. Entity Name란에 ’주문’을 입력->’다음’버튼 클릭
다 대 다 관계 정의
다 대 다 관계 정의
다 대 다 관계 정의 ‘주문’ 엔티티에 어트리뷰트 추가하기 관계선 클릭->마우스오른쪽 버튼 클릭->팝업메뉴->Relationship Properties… -> ‘Non-Identifying’ 옵션과 ‘No Nulls’옵션을 선택 -> ‘수량’, ‘주문금액’, ‘주문일자’, ‘배송지’ 어트리뷰트 추가
다 대 다 관계 정의
슈퍼타입과 서브타입 슈퍼타입과 서브타입 슈퍼타입 한 개의 엔티티에 대한 배타적인 관계를 파악하여 공통적인 애트리뷰트를 모아 놓은 엔티티 슈퍼타입에 대한 관계 종류 Exclusive : 서브타입들간의 배타적인 관계 Inclusive : 다수의 서브타입에 중복 소속이 가능한 경우 서브타입 배타적인 관계를 나타내는 각각의 엔티티들 각 엔티티는 공통적으로 속하지 않은 어트리뷰트들을 포함
슈퍼타입과 서브타입 ■ 실습 : ‘고객’ 엔티티와 ‘정회원‘ 및 ‘임시회원’엔티티간에 슈퍼타입과 서브타입간의 Exclusive관계를 정의해 보자 1. 고객과 정회원, 임시회원 엔티티를 생성 2. 도구 상자에서 Exclusive-sub-category 도구를 선택 3. 고객 엔티티 클릭 후 정회원 엔티티를 클릭 4. 중간교차점 클릭 후 임시회원 엔티티를 클릭
슈퍼타입과 서브타입
■ 실습 : ‘고객’ 엔티티와 ‘정회원‘ 및 ‘특별회원’ 엔티티간에 슈퍼타입과 서브타입의 Inclusive 관계를 정의해 보자 1. 고객과 정회원, 특별회원 엔티티를 생성 2. 도구상자에서 Exclusive-sub-category 도구를 선택 3. 고객 엔티티 클릭 후 정회원 엔티티를 클릭 4. 중간교차점 클릭 후 특별회원 엔티티를 클릭 5. 중간교차점 클릭-> 마우스 오른쪽 버튼을 클릭->팝업 메뉴-> ‘Subtype Relationships..’를 클릭 6. ‘Subtype Relationship’ 대화상자에서 'Inclusive'옵션을 선택
슈퍼타입과 서브타입
재귀적 관계 정의 특정 테이블이 자기 자신과의 관계를 맺는 것을 말함 반드시 비-식별관계로 정의해야 함 부모 테이블에 Null값이 허용 될 수 있어야만 함 재귀적 관계정의를 사용하는 예 : 과목테이블의 선수과목 정의 또는 사원테이블의 직속상사코드를 정의하는데 주로 사용됨 ■ 실습 : ‘과목’엔티티의 선수과목에 대한 재귀적 관계를 정의해 보자 1. 과목 엔티티를 생성 2. 과목엔티티에 비-식별관계를 정의 3. 관계선 클릭->마우스 오른쪽버튼 클릭->‘Relationship properties’클릭 4. Relationships 대화상자 에서 rolename탭을 클릭 5. rolename란에 ‘선수과목코드’ 입력 -> OK버튼 클릭
재귀적 관계 정의
재귀적 관계 정의
Domain 설정 다수의 엔티티들에서 공통적으로 사용되는 어트리뷰트가 존재하는 경우에 사용 함 도메인 설정 Domain 설정 다수의 엔티티들에서 공통적으로 사용되는 어트리뷰트가 존재하는 경우에 사용 함 공통적인 어트리뷰트들을 하나의 개체로 만들어서 다수의 엔티티들에 적용 시킴 ■ 실습 : 강의편람’ 엔티티와 ‘등록’ 엔티티에 ‘학과코드’, ‘학점’, ‘과목명’ 어트리뷰트가 공통적으로 존재한다면 이들 3가지 어트리뷰트를 도메인으로 정의하여 보자. 1. Model Explorer창의 Domain탭 클릭->Model Explorer 대화상자를 화면의 가운데로 드래그
도메인 설정
도메인 설정 2. Model Explorer창에서 String 클릭->마우스 오른쪽버튼 클릭 ->팝업 메뉴->New ->학과코드를 정의 3. Model Explorer 창에서 String 클릭->마우스 오른쪽버튼 클릭 -> 팝업 메뉴-> New ->과목명을 정의 4. Model Explorer 창에서 Number 클릭->마우스 오른쪽버튼 클릭 -> 팝업 메뉴-> New ->학점을 정의 5. 강의편람 엔티티와 등록엔티티를 생성하고 나머지 어트리뷰트들을 정의
도메인 설정 6. 도메인으로 정의한 학점, 학과코드, 과목명 어트리뷰트를 강의편람과 등록 엔티티로 드래그
물리적 DB 모델링 설계하기 물리적 모델링 툴바의 콤보박스에서 Physical을 선택 엔티티는 테이블로, 어트리뷰트는 필드 모든 필드들의 기본적인 데이터타입과 사이즈가 함께 표시 됨
물리적 모델링 특정필드의 데이터타입이나 사이즈 변경하기 1. 변경할 테이블 클릭->마우스 오른쪽버튼 클릭 ->팝업 메뉴->‘Columns...’을 선택 2.Columns 대화상자에서 SQL Server탭 클릭->데이터 타입과 사이즈 변경 /Null옵션/기본 값/ 제약조건(Check/Rule)정의 ->OK버튼 클릭
물리적 모델링
인덱스 정의 인덱스 정의 ■ 실습 : 고객테이블의 성명필드를 이용하여 인덱스를 정의하자 고객테이블을 선택 -> 마우스 오른쪽 버튼을 클릭 ->팝업 메뉴-> Indexes메뉴 클릭 SQL Server Indexes대화상자에서 Member탭 선택-> ‘New’ 버튼 클릭
인덱스 정의 3. New Index대화상자에서 ‘Unique’ 체크박스를 해제-> ‘OK’ 버튼 클릭 4. SQL Server Indexes대화상자에서 Members탭 선택-> 성명필드를 선택->오른쪽화살표 버튼을 클릭
인덱스 정의 5. SQL Server Indexes대화상자에서 SQL Server탭 선택-> ‘Clustered’ 체크박스를 선택-> ‘OK’ 버튼 클릭
인덱스 정의 생성된 인덱스 확인하기 ‘고객’테이블을 선택-> 마우스 오른쪽 버튼을 클릭->팝업 메뉴 ->‘Columns...’ Columns대화상자에서 Index탭을 선택
스키마 생성 스키마 생성 데이터베이스 객체를 생성하는 작업 반드시 SQL Server의 엔터프라이즈 관리자에서 연결할 데이터베이스가 미리 생성되어 있어야만 함 스키마 생성하기 SQL Server 엔터프라이즈 관리자 실행->데이터베이스 선택->마우스오른쪽버튼 클릭->새 데이터베이스 클릭 데이터베이스속성창의 이름란에 ‘주문관리’입력->확인버튼 클릭
스키마 생성
스키마 생성 3. ER-Win에서 스키마로 생성하기를 원하는 모델링 파일 Open함 4. 주메뉴->Database->Database Connection... 5. SQL Server Connection 대화상자에서 사용자명, 패스워드, 연결할 DB명, DB Server명을 입력->Connect버튼 클릭
스키마 생성 6. ER-Win의 메인메뉴 Tools->Forward Engineer->Schema Generation.. 7. SQL SEVER Schema Generation대화상자 에서 'Generate...'버튼 클릭
스키마 생성 8. ‘OK’ 버튼 클릭 -> ‘OK’ 버튼 클릭
스키마 생성 생성된 DB 스키마 확인하기 SQL Server 엔터프라이즈 관리자 ->주문관리->테이블
기타 기능 기타 기능들 뷰 생성 각 응용 시스템들을 위해 전체 데이터베이스의 일부분을 정의하는 일종의 가상테이블 각 응용 시스템들을 위해 전체 데이터베이스의 일부분을 정의하는 일종의 가상테이블 트리거 생성 특정 개체(주로 테이블)에 발생하는 이벤트(데이터 삽입, 삭제, 갱신)에 따라 자동으로 동작하도록 설계되는 일종의 저장 프로시저 저장 프로시저 생성 고급 프로그래밍 언어에 사용되는 반복문, 조건문등의 제어문과 SQL 명령문을 이용한 일종의 응용프로그램으로 데이터베이스내에 저장되어 관리되는 하나의 개체