Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Extensible Storage Engine wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Oracle Database wikipedia , lookup
Clusterpoint wikipedia , lookup
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