33
ERWin Template Overview By: Dave Wentzel

ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Embed Size (px)

Citation preview

Page 1: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

ERWin Template Overview

By: Dave Wentzel

Page 2: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Agenda

Overview of Templates/Macros Template editor Available templates Independent column browser Forward engineering process Trouble shooting

Page 3: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

What is a template ?

ERWin contains a macro language Used for the creation of:

– Stored Procedure Templates

– Trigger Templates

– Table script template (pre & post) Based on type of template, will automatically

generate SP, trigger, or script based on table/relationship information when the model is forward engineered

Page 4: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Why are we using templates?

Provide turn-key approach to data model creation

Reduce the number of triggers and stored procedures which need to be written

Can more easily make model changes without having to ‘re-write’ triggers and SPs

Page 5: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

A little on the Macro Language...

ERWin contains a Template Toolbox which is used to create the templates

Page 6: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Types of Macros

Entity – Applied to tables in the diagram– Can be used to act as a loop - ‘For Each Entity’– Can be used to reference qualities of an entity - ‘For

Each (Attribute/Index/Key…)’ Relationship

– Applied to relationship information between entities

– Can reference PK, FK, Parent/Child entities

Page 7: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Types of Macros Continued

Attribute– References ‘attributes’ of attributes such as length,

field type, FK/PK, etc. Constraint

– References database constraint information Miscellaneous

– Arithmetic operators– Comparison operators– System Information

Page 8: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Stored Procedure Templates

Generates a stored procedure for WRITING / UPDATING a record in a table

Based on primary key attributes If the key values are equal to an existing record, the

record will be updated If no matching record is found, a new record will

be inserted To be used as low level write routine called from

higher level SPs.

Page 9: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Accessing the SP Templates

Right mouse click on a table Select Table Editor / Stored Procedure

option Attach the appropriate template to the table One must be attached for each table

Page 10: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Available Templates Write Template Stand Alone Table Triggers Write Dimension Template Write Fact Template

Page 11: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Write Template Creates spWriteTableName Assumes PK is an IDENTITY column Assumes PK is FieldNameInst Assumes columns:

– Create Date / Create User– Modify Date / Modify User– If PK provided, updates record otherwise inserts new

record

Page 12: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Standalone Table Triggers

Generates the insert/update triggers for standalone tables

Standalone tables may occur if created as a reference table

Generated through the SP template instead of the Trigger template because the trigger template assumed relationships

Page 13: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Write Dimension Template

Found in Datamart diagrams Assumes a PK of identity Assumes PK is FieldNameInst Assumes no updates If PK does not exist, will write new record

Page 14: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Write Fact Template

Found in Datamart diagrams Inserts new records into fact tables

Page 15: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Trigger Templates

Generates Update/Delete/Insert triggers for a table and it associated tables

Helps maintain RI and date validations between related tables

Page 16: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Triggers and Relationships

Triggers are generated based on relationships between two entities

Double click on a relationship line– Child Delete / Insert / Update– Parent Delete / Insert / Update

Options: – Restrict - prevent– Cascade - propagate change– None - no trigger relationship

Page 17: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Accessing the Trigger Templates Left mouse click on a table Select SQL Server Trigger Select SQL Server Trigger Template to attach

Triggers

Page 18: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Available Trigger Templates

Approach Child Delete Restrict Approach Child Delete Cascade Approach Child Insert Restrict Approach Child Update Restrict Approach Parent Delete Cascade Approach Parent Delete Restrict Approach Parent Insert Restrict Approach Parent Update Restrict

Page 19: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Available Trigger Templates

Approach Delete Footer Approach Delete Header Approach Insert Footer Approach Insert Header Approach Update Footer Approach Update Header

Page 20: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Parent / Child Templates

On restrict, provides Raise Error message when a parent / child relationship exists

On cascade, will delete all associated tables with the same primary key

Verifies records do not overlap based on from and thru dates

Requires fields either FromDate / ThruDate or BeginDate / EndDate

Assumes domain type of ID in some models

Page 21: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Header / Footer Templates

Header creates the ‘Create Trigger’ code, parameters, and initial date checks against the table

Footer templates update the ModifyDate/User in the update triggers

Assume ModifyDate/ ModifyUser fields

Page 22: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Standard selections for RI Actions

Page 23: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Table Templates

Pre / post scripts generated during table creation

Used to generate print statement before table creation so implementation script is easier to read

Used for the OLAP fact tables to generate update triggers

Page 24: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Accessing Table Templates

Left click on table Select Table Editor / Pre & Post Script

Page 25: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Independent Column Browser

Provides method of creating standard fields for use in current data model

Example: Used for standard fields applied to all tables

Domain type of ID exists which is referenced by some templates and must be assigned PK identity columns

Page 26: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Accessing the Independent Column Browser

Under Window select Independent Column Browser Option

Page 27: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Forward Engineering the Model

Triggers, stored procedures, and table scripts will be generated when you forward engineer the data model - based on the options you select

To forward engineer the model, select: Tasks \ Forward Engineer/Schema Generation

Page 28: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Schema Generation

Page 29: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Schema Options to Select

Table– Create Table– Drop Table– Pre-Script– Post-Script– Create Procedure– Drop Procedure

Page 30: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Options continued

Column– Validation– Default

Index– Create Index

» Alternate Key» Foreign Key» Inversion Entry» CLUSTERED» Physical Storage

Page 31: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Options Continued

Referential Integrity– Primary Key

» Alter (PK)

– Foreign Key» Alter (FK)

Trigger– User Defined

» RI Type Override» Relationship Override

Page 32: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Forward Engineer

Select PREVIEW Cut / paste into SQL query window to run Do not directly forward engineer into the

database– Could delete items you did not anticipate– May be connected to a production server

Page 33: ERWin Template Overview By: Dave Wentzel. Agenda u Overview of Templates/Macros u Template editor u Available templates u Independent column browser u

Troubleshooting

Execute script Review error statements Review script code with error Access the template to see what it is expecting Verify correct relationships, triggers, SPs, etc.

are associated with the table Verify required fields are assigned to the table