ERWin Template Overview
description
Transcript of ERWin Template Overview
![Page 1: ERWin Template Overview](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/1.jpg)
ERWin Template Overview
By: Dave Wentzel
![Page 2: ERWin Template Overview](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/2.jpg)
Agenda
Overview of Templates/Macros Template editor Available templates Independent column browser Forward engineering process Trouble shooting
![Page 3: ERWin Template Overview](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/5.jpg)
A little on the Macro Language...
ERWin contains a Template Toolbox which is used to create the templates
![Page 6: ERWin Template Overview](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/10.jpg)
Available Templates Write Template Stand Alone Table Triggers Write Dimension Template Write Fact Template
![Page 11: ERWin Template Overview](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/14.jpg)
Write Fact Template
Found in Datamart diagrams Inserts new records into fact tables
![Page 15: ERWin Template Overview](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/21.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/22.jpg)
Standard selections for RI Actions
![Page 23: ERWin Template Overview](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/23.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/24.jpg)
Accessing Table Templates
Left click on table Select Table Editor / Pre & Post Script
![Page 25: ERWin Template Overview](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/25.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/26.jpg)
Accessing the Independent Column Browser
Under Window select Independent Column Browser Option
![Page 27: ERWin Template Overview](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/27.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/28.jpg)
Schema Generation
![Page 29: ERWin Template Overview](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/29.jpg)
Schema Options to Select
Table– Create Table– Drop Table– Pre-Script– Post-Script– Create Procedure– Drop Procedure
![Page 30: ERWin Template Overview](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/30.jpg)
Options continued
Column– Validation– Default
Index– Create Index
» Alternate Key» Foreign Key» Inversion Entry» CLUSTERED» Physical Storage
![Page 31: ERWin Template Overview](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/31.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/32.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062517/56813bd6550346895da4fdf6/html5/thumbnails/33.jpg)
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