Data Modeling and Database Design Using ERwin

133 downloads 1671 Views 590KB Size Report
Assoc.Prof.Dr.B.G.Çetiner 2000. ERWIN and Its Main Features. Erwin*; A Data Modeling and Database Design Application. CASE Tool working on Windows.
Data Modeling and Database Design Using ERwin

PRACTICAL DATA MODELING and DATABASE DESIGN USING ERWIN • ERWIN and Its Main Features • Data Modeling Using ERWIN • Before Database Design • Transforming Data Model To Database Design • Reverse Engineering • ERWIN Reports • Samples

Assoc.Prof.Dr.B.G.Çetiner 2000

ERWIN and Its Main Features

Assoc.Prof.Dr.B.G.Çetiner 2000

ERWIN and Its Main Features

Erwin*; A Data Modeling and Database Design Application CASE Tool working on Windows

What is ERWIN?

* CopyRighted by Logic Works and Platinum Inc. Assoc.Prof.Dr.B.G.Çetiner 2000

ERWIN and Its Main Features

Assoc.Prof.Dr.B.G.Çetiner 2000

ERWIN and Its Main Features Main Features: Supported DBMSs

Main Features Forward Engineering: Transforming Data Model into Database Reverse Engineering: Obtaining Design Info and Data Model From a Relational Database

Relational Data Model Forward Engineering

Reverse Engineering

Relational Database Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

1

ERWIN and Its Main Features

ERWIN and Its Main Features

Main Features: ORACLE Designer Data Modeling Tool

Main Features: Importing Entities from BPwin

ORACLE Designer 2000 Compatible

BPWin is an activity (process) modeling, and data flow diagramming tool

Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

ERWIN and Its Main Features

ERWIN and Its Main Features

Main Features: BPWin ve ERWin

Main Features: Working Levels

STRATEGY ANALYSIS

BPWin Analysis Program

DESIGN

ERWin Data Modeling and Database Design Tool

IMPLEMENTATION

1. Logical (Conceptual) Level (Data Modeling) 2. Physical Level

DOCUMENTATION

TEST FEEDBACK

System Development Life Cycle

Assoc.Prof.Dr.B.G.Çetiner 2000

ERWIN and Its Main Features

ERWIN and Its Main Features

Main Features: Working Levels (for Version 3.5.2) 1. Logical Level (Data Modeling)

Exclusive Sub-Category

Adding Entity

Assoc.Prof.Dr.B.G.Çetiner 2000

Main Features: Working Levels

(For Version 4 )

1. Logical Level (Data Modeling)

Adding Text

Adding Entity

Exclusive Sub-Category

Non-identifying Relationship

Selection Non-identifying Relationship

Changing Attributes

Identifying relationship

Selection

Identifying relationship

many-to-many relationship

many-to-many relationship Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

2

ERWIN and Its Main Features

ERWIN and Its Main Features

Working Levels

Working Levels

2. Physical Level

(Version 3.5.2)

View

Independent Table

Adding Text

2. Physical Level

Independent Table

(Version 4)

View

Selection Non-identifying Relationship

Changing Columns

Identifying Relationship

View Relationship

Selection

Identifying Relationship

View Relationship

Assoc.Prof.Dr.B.G.Çetiner 2000

ERWIN and Its Main Features

Non-identifying Relationship

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Modeling and Design Stages for ERwin

Representing Entities and Attributes (Logical Level)

PRODUCE DATA MODEL

Logical Level

DESCRIBE DATA TYPES

Physical Level

ENTITY NAME Unique Identifier Attributes SETTINGS FOR ACCESSING DATABASE

Native or ODBC

Other Attributes VIA SQL SCRIPTS

BY CONNECTING TO DATABASE

REVERSE ENGINEERING

Foreign KeyAttribute

Forward Engineering

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Representing Entities and Attributes (Logical Level) Composite Unique Identifiers Entity Name Key Area Composite Unique Identifier Non-Key Area

Assoc.Prof.Dr.B.G.Çetiner 2000

Other Attributes

Assoc.Prof.Dr.B.G.Çetiner 2000

3

Data Modeling Using ERWIN

Data Modeling Using ERWIN

Optionality in Attributes

Representing Foreign Key Attributes

Click twice on any entity to open it in attribute editor

Required attribute

Child Entity

Master Entity

There are two different relationships between Entity 1 and Entity 2. 1. Identifying Relationships 2. Non-Identifying Relationships

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Representing Foreign Key Attributes

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN Many-to-many Relationships

Representing Foreign Key Attributes

Non-Identifying Relationships Crow foot

Identifying Relationship In both relationships, Unique Identifier in master entity goes to the second (child) entity as foreign key.

Identifying Relationship (Unique Identifier of Entity 1 becomes the part of unique identifier in entity 2. It is placed in key area of second entity)

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Representing Foreign Key Attributes Use Different names for the attributes in key area (unique identifier)

Optionality Overwrites the attribute

Non-Identifying Relationship (Unique Identifier of Entity 1 becomes new attribute in entity 2. It is placed in non-key area of second entity) Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

4

Data Modeling Using ERWIN

Data Modeling Using ERWIN

Use Different names for the attributes in key area (unique identifier)

Tables and Columns (Physical Representation) Table Name Unique Identifier Column Other Columns

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN Tables and Columns (Physical Representation)

Tables and Columns (Physical Representation)

Changing default data types for Physical level Note: All Attributes are assigned as char(18) (or any default value defined) when the level is changed to physical one. Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Adding Icons to Entities and Attributes

Adding Icons to Entities and Attributes

Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

5

Data Modeling Using ERWIN

Data Modeling Using ERWIN

Establishing Non-identifying Relationship

Establishing Identifying Relationship

1. Choose Non-identifying Relationship

1. Choose Identifying Relationship

2. Click the master entity (DEPARTMENT in this case) 3. Click the child entity (EMPLOYEE)

2. Click the master entity (EMPLOYEE in this case) 3. Click the child entity (EMPLOYEE CHILD)

DEPARTMEN ID in DEPARTMENT comes as foreign key to the non-key area of EMPLOYEE

EMPLOYEE ID in EMPLOYEE comes as foreign key to the key area of EMPLOYEE CHILD

Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Data Modeling Using ERWIN

Representing ORACLE Designer Notations under ERwin

Representing ORACLE Designer Notations under ERwin

1. Many-to-one (One-to-many) Relationships (Mandatory) Child Entity

assigned to EMPLOYEE

DEPARTMENT made up of

2. Many-to-one (One-to-many) Relationships (Optional)

Parent Entity ORACLE

Child Entity

assigned to EMPLOYEE

DEPARTMENT made up of

ERWin

ERWin

Non-identifying Relationship

Non-identifying Relationship

Assoc.Prof.Dr.B.G.Çetiner

2000

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Data Modeling Using ERWIN

Representing ORACLE Designer Notations under ERwin

Representing ORACLE Designer Notations under ERwin

3. One-to-one Relationships (Optional) Child Entity

4. One-to-one Relationships (Mandatory)

containing CAR

installed in

Parent Entity ORACLE

ENGINE

Parent Entity ORACLE

Child Entity

containing CAR

installed in

ENGINE

ERWin Non-identifying Relationship

The entity covering the other entity is defined as child entity in one-to-one relationship.

Assoc.Prof.Dr.B.G.Çetiner 2000

Parent Entity ORACLE

ERWin Non-identifying Relationship

The entity covering the other entity is defined as child entity in one-to-one relationship.

Assoc.Prof.Dr.B.G.Çetiner 2000

6

Data Modeling Using ERWIN

Data Modeling Using ERWIN

Representing ORACLE Designer Notations under ERwin

Representing ORACLE Designer Notations under ERwin

5. Many-to-many Relationships

5. Many-to-many Relationships

1. Choose many-to-many relationship in Logical Level 2. Click on both entities

assigned to EMPLOYEE

DEPARTMENT

ORACLE

staffing

Note: First, you have to resolve many-to-many relationships 3. If you have chosen auto-transform, then an intersection entity will be added automatically. Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Data Modeling Using ERWIN

Representing ORACLE Designer Notations under ERwin

Representing ORACLE Designer Notations under ERwin

5. Many-to-many Relationships

5. Many-to-many Relationships

Intersection Entity Added Automatically

It becomes identifiying relationship

Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Data Modeling Using ERWIN

Representing ORACLE Designer Notations under ERwin

Representing ORACLE Designer Notations under ERwin

6. Obtaining Uniqueness via Relationships ACCOUNT #* Account No * Type

opened in opening

ORACLE Designer

7. Recursive Relationships ORACLE Designer

BANK #* Bank ID * Name

ERwin

EMPLOYEE #* employee ID * name * surname o job

ERwin

managed by

manager for Represented as identifying relationship Assoc.Prof.Dr.B.G.Çetiner 2000

Modeled as Non-identifying Relationship as in one-to-many relationship Assoc.Prof.Dr.B.G.Çetiner 2000

7

Data Modeling Using ERWIN

Data Modeling Using ERWIN

Representing ORACLE Designer Notations under ERwin

Representing ORACLE Designer Notations under ERwin

7. Recursive Relationships

7. Recursive Relationships

1. First, identify the entity and its unique identifier

1. First, identify the entity and its unique identifier 2. Choose non-identifying relationship from toolbox

Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Data Modeling Using ERWIN

Representing ORACLE Designer Notations under ERwin

Representing ORACLE Designer Notations under ERwin

7. Recursive Relationships

7. Recursive Relationships

1. First, identify the entity and its unique identifier 2. Choose non-identifying relationhip from toolbox 3. Click twice on the same entity (EMPLOYEE)

1. First, identify the entity and its unique identifier 2. Choose non-identifying relationhip from toolbox 3. Click twice on the same entity (EMPLOYEE) 4. EMPLOYEE ID has not come as Foreign Key

Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Data Modeling Using ERWIN

Representing ORACLE Designer Notations under ERwin

Representing ORACLE Designer Notations under ERwin

7. Recursive Relationships

7. Recursive Relationships

1. First, identify the entity and its unique identifier 2. Choose non-identifying relationhip from toolbox 3. Click twice on the same entity (EMPLOYEE) 4. EMPLOYEE ID has not come yet as Foreign Key 5. Click twice on the relationship to identify rolename Assoc.Prof.Dr.B.G.Çetiner 2000

MANAGER ID comes as Foreign key.

Assoc.Prof.Dr.B.G.Çetiner 2000

8

Data Modeling Using ERWIN

Data Modeling Using ERWIN

Representing ORACLE Designer Notations under ERwin

Representing ORACLE Designer Notations under ERwin

8. Exclusive Relationships

8. Exclusive Relationships

assigned as d ne sig as

an entity under

WORKER o hourly rate o overtime rate

EMPLOYEE # * employee id * name * lastname o job

assigned as d ne sig as

EMPLOYEE # * employee id * name * lastname o job

an entity under

WORKER o hourly rate o overtime rate

as

as

y tit en er an und

y tit en er an und

STAFF o title

Transferred to ERwin for each pair of relationships

STAFF o title

Transferred to ERwin for each pair of relationships

Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

Data Modeling Using ERWIN

Representing ORACLE Designer Notations under ERwin

Representing ORACLE Designer Notations under ERwin

8. Exclusive Relationships

9. Supertypes and Subtypes

as

y tit en er an und

STAFF o title

Transferred to ERwin for each pair of relationships Assoc.Prof.Dr.B.G.Çetiner 2000

Data Modeling Using ERWIN

EMPLOYEE # * employee id * name * surname WORKER * hourly rate * overtime rate

STAFF * title

member for

assigned to deploying DEPARTMENT

made up of UNION

Modeled as Identifying Relationship

ip ION nsh latio and UN y re man RKER -toO One een W betw

an entity under

WORKER o hourly rate o overtime rate

One betw -to-ma n and een EM y relat io DE PAR PLOY nship E TM ENT E

assigned as d ne sig as

EMPLOYEE # * employee id * name * lastname o job

Assoc.Prof.Dr.B.G.Çetiner 2000

Transforming Data Model To Database Design

Representing ORACLE Designer Notations under ERwin

Choosing Target Database Management System

9. Supertypes and Subtypes

Database/Choose Database for selecting target database management system

EMPLOYEE # * employee id * name * surname STAFF * title

WORKER * hourly rate * overtime rate

NOTE: You have to be level under

Modeled as Identifying Relationship

Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

9

Transforming Data Model To Database Design

Before Transforming Data Model

Choosing Target Database Management System

You can also access to the DBMSs not listed here via ODBC/Generic

Desktop SQL Dataase Management Systems DBMS

Supported Database Management Systems 1. IBM DB2 2. IBM AS/400 3. ORACLE 4. MS SQL Server 5. InterBase 6. SYBASE 7. PROGRESS 8. INFORMIX 9. Ingres 10. Red Brick 11. SQLBase 12. Rdb 13. WATCOM/SQL Anywhere 14. Teradata 15. Clipper 16. FoxPro 17. dBase 18. Access 19. Paradox

Assoc.Prof.Dr.B.G.Çetiner 2000

Before Transforming Data Model

Making Connection Settings for Target Database Management System ODBC Settings For connecting to DBMS

You can directly invoke ODBC Administrator from Run Dialog:

odbcad32

Assoc.Prof.Dr.B.G.Çetiner 2000

Transforming Data Model To Database Design

Making Connection Settings for Target Database Management System

Example; Settings for connecting to Oracle DBMS through ODBC

For adding new connection For connecting to Oracle DBMS

Assoc.Prof.Dr.B.G.Çetiner 2000

Transforming Data Model To Database Design Example; Settings for connecting to Oracle DBMS through ODBC

Connection name to connect (You can reach under ERWin ODBC Connection)

Assoc.Prof.Dr.B.G.Çetiner 2000

Transforming Data Model To Database Design Example; MS SQL Server Connections

Connection Name for SQL Server

Service name Optional Description Username AI1 is the server name

ODBC Settings for each DBMS is different (like printer drivers) Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

10

Transforming Data Model To Database Design

Transforming Data Model To Database Design Forward Engineering Choose Forward Engineer Under Tools

Forward Engineering Applying the principles of Systems Development Life Cycle (SDLC) (Going from the top to bottom in Waterfall model)

Producing the Relational Database Objects via the use of Data Models

Assoc.Prof.Dr.B.G.Çetiner 2000

Transforming Data Model To Database Design

Assoc.Prof.Dr.B.G.Çetiner 2000

Transforming Data Model To Database Design

Forward Engineering: Settings

Forward Engineering

1. Press

Options

2. Give required security information and press Connect button.

Filtering model Preview Print objects SQL Script SQL Script

ODBC Connection

Write SQL Script to a File

Assoc.Prof.Dr.B.G.Çetiner 2000

Native Connection

Generate Database Objects

Transforming Data Model To Database Design Produce the database objects from data model directly

Assoc.Prof.Dr.B.G.Çetiner 2000

Transforming Data Model To Database Design Produce the database objects from data model using SQL Script

1. Press

button

SQL Script filename

2.

Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

11

Transforming Data Model To Database Design

Transforming Data Model To Database Design

Produce the database objects from data model using SQL Script

Produce the database objects from data model using SQL Script Just run the SQL Script File using tools under the DBMSs Examples Oracle SQL*Plus for Oracle DBMS Query Analyzer for MS SQL Server

Name of Script File Oracle SQL*Plus for Oracle DBMS Assoc.Prof.Dr.B.G.Çetiner 2000

Transforming Data Model To Database Design Produce the database objects from data model using SQL Script

Assoc.Prof.Dr.B.G.Çetiner 2000

Transforming Data Model To Database Design Produce the database objects from data model using SQL Script

Just run the SQL Script File using tools under the DBMSs Examples Oracle SQL*Plus for Oracle DBMS Query Analyzer for MS SQL Server

Query Analyzer for MS SQL Server Assoc.Prof.Dr.B.G.Çetiner 2000

Reverse Engineering

Interactive SQL for Interbase DBMS

Assoc.Prof.Dr.B.G.Çetiner 2000

Reverse Engineering

Reverse Engineering

Reverse Engineering

Applying the principles of Systems Development Life Cycle (SDLC) in reverse order (Going from the bottom to top in Waterfall model)

Select Reverse Engineer under Tools Menu

Inferring the Data Model from Database Objects

Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

12

Reverse Engineering

Reverse Engineering Reverse Engineering

Reverse Engineering: Settings As in forward engineering, connections are achieved via the native or ODBC type of connection

Choose the Target DBMS to reverse engineer the database

Assoc.Prof.Dr.B.G.Çetiner 2000

Reverse Engineering

Assoc.Prof.Dr.B.G.Çetiner 2000

Reverse Engineering

Reverse Engineering

Reverse Engineering

Data model can be obtained from; 1. DBMS by direct connection 2. SQL Script Files If the database is not relational then you can infere primary keys and relationships from Indexes and the column names in tables Assoc.Prof.Dr.B.G.Çetiner 2000

Reengineering

Assoc.Prof.Dr.B.G.Çetiner 2000

ERwin Reports

Other Functions

Report Generation

Reengineering: Compares the data model and physical database. You can update the data model via the database or database via the data model 

Assoc.Prof.Dr.B.G.Çetiner 2000

For report generation Assoc.Prof.Dr.B.G.Çetiner 2000

13

ERwin Reports

ERwin Reports

Reports

Reports: Example; Table/Physical Properties

Assoc.Prof.Dr.B.G.Çetiner 2000

ERwin Reports

Assoc.Prof.Dr.B.G.Çetiner 2000

ERwin Reports

Reports: Reports are generated Using Report Templates and Output type (such as HTML)

Reports: Reports are generated Using Report Templates and Output type (such as HTML)

Assoc.Prof.Dr.B.G.Çetiner 2000

A typical data model using ERwin

Assoc.Prof.Dr.B.G.Çetiner 2000

Sample data model using Oracle Designer

Assoc.Prof.Dr.B.G.Çetiner 2000

Assoc.Prof.Dr.B.G.Çetiner 2000

14

Sample data model using ERwin

Assoc.Prof.Dr.B.G.Çetiner 2000

15