Download Data Modeling and Database Design Using ERwin

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Extensible Storage Engine wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

SQL wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

PL/SQL wikipedia , lookup

Database wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Oracle Database wikipedia , lookup

Clusterpoint wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Transcript
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