Professional Documents
Culture Documents
PowerDesigner®
Conceptual Data Model
Getting Started
Version 9.0
38085-01-0900-01
Last modified: November 2001
Copyright © 2001 Sybase, Inc. All rights reserved.
Information in this manual may change without notice and does not represent a commitment on the part of
Sybase, Inc. and its subsidiaries.
Sybase, Inc. provides the software described in this manual under a Sybase License Agreement. The software may
be used only in accordance with the terms of the agreement.
No part of this publication may be reproduced, transmitted, or translated in any form or by any means, electronic,
mechanical, manual, optical, or otherwise, without the prior written permission of Sybase, Inc.
Use, duplication, or disclosure by the government is subject to the restrictions set forth in subparagraph (c)(1)(ii) of
DFARS 52.227-7013 for the DOD and as set forth in FAR 52.227-19(a)-(d) for civilian agencies.
Sybase, SYBASE (logo), ADA Workbench, Adaptable Windowing Environment, Adaptive Component Architecture,
Adaptive Server, Adaptive Server Anywhere, Adaptive Server Enterprise, Adaptive Server Enterprise Monitor,
Adaptive Server Enterprise Replication, Adaptive Server Everywhere, Adaptive Server IQ, Adaptive Warehouse,
AnswerBase, Anywhere Studio, Application Manager, AppModeler, APT Workbench, APT-Build, APT-Edit, APT-
Execute, APT-FORMS, APT-Translator, APT-Library, ASEP, Backup Server, BayCam, Bit-Wise, Certified
PowerBuilder Developer, Certified SYBASE Professional, Certified SYBASE Professional Logo, ClearConnect,
Client-Library, Client Services, CodeBank, Column Design, ComponentPack, Connection Manager, Convoy/DM,
Copernicus, CSP, Data Pipeline, Data Workbench, DataArchitect, Database Analyzer, DataExpress, DataServer,
DataWindow, DB-Library, dbQueue, Developers Workbench, Direct Connect Anywhere, DirectConnect,
Distribution Director, e-ADK, E-Anywhere, e-Biz Integrator, E-Whatever, EC-GATEWAY, ECMAP, ECRTP,
eFulfillment Accelerator, Electronic Case Management, Embedded SQL, EMS, Enterprise Application Studio,
Enterprise Client/Server, Enterprise Connect, Enterprise Data Studio, Enterprise Manager, Enterprise SQL Server
Manager, Enterprise Work Architecture, Enterprise Work Designer, Enterprise Work Modeler, eProcurement
Accelerator, eremote, Everything Works Better When Everything Works Together, EWA, Financial Fusion, Financial
Fusion Server, First Impression, Formula One, Gateway Manager, GeoPoint, iAnywhere, iAnywhere Solutions,
ImpactNow, Industry Warehouse Studio, InfoMaker, Information Anywhere, Information Everywhere,
InformationConnect, InstaHelp, Intellidex, InternetBuilder, iremote, iScript, Jaguar CTS, jConnect for JDBC,
KnowledgeBase, Logical Memory Manager, MainframeConnect, Maintenance Express, MAP, MDI Access Server,
MDI Database Gateway, media.splash, MetaWorks, MethodSet, ML Query, MobiCATS, MySupport, Net-Gateway,
Net-Library, New Era of Networks, Next Generation Learning, Next Generation Learning Studio, O DEVICE,
OASiS, OASiS logo, ObjectConnect, ObjectCycle, OmniConnect, OmniSQL Access Module, OmniSQL Toolkit,
Open Biz, Open Business Interchange, Open Client, Open ClientConnect, Open Client/Server, Open Client/Server
Interfaces, Open Gateway, Open Server, Open ServerConnect, Open Solutions, Optima++, Partnerships that Work,
PB-Gen, PC APT Execute, PC DB-Net, PC Net Library, PhysicalArchitect, Power++, Power Through Knowledge,
power.stop, PowerAMC, PowerBuilder, PowerBuilder Foundation Class Library, PowerDesigner, PowerDimensions,
PowerDynamo, Powering the New Economy, PowerJ, PowerScript, PowerSite, PowerSocket, Powersoft, PowerStage,
PowerStudio, PowerTips, Powersoft Portfolio, Powersoft Professional, PowerWare Desktop, PowerWare Enterprise,
ProcessAnalyst, Rapport, Relational Beans, Report Workbench, Report-Execute, Replication Agent, Replication
Driver, Replication Server, Replication Server Manager, Replication Toolkit, Resource Manager, RW-DisplayLib,
RW-Library, S Designor, S-Designor, SAFE, SAFE/PRO, SDF, Secure SQL Server, Secure SQL Toolset, Security
Guardian, SKILS, smart.partners, smart.parts, smart.script, SQL Advantage, SQL Anywhere, SQL Anywhere Studio,
SQL Code Checker, SQL Debug, SQL Edit, SQL Edit/TPU, SQL Everywhere, SQL Modeler, SQL Remote, SQL
Server, SQL Server Manager, SQL SMART, SQL Toolset, SQL Server/CFT, SQL Server/DBM, SQL Server SNMP
SubAgent, SQL Station, SQLJ, Stage III Engineering, Startup.Com, STEP, SupportNow, S.W.I.F.T. Message Format
Libraries, Sybase Central, Sybase Client/Server Interfaces, Sybase Development Framework, Sybase Financial
Server, Sybase Gateways, Sybase Learning Connection, Sybase MPP, Sybase SQL Desktop, Sybase SQL Lifecycle,
Sybase SQL Workgroup, Sybase Synergy Program, Sybase Virtual Server Architecture, Sybase User Workbench,
SybaseWare, Syber Financial, SyberAssist, SybMD, SyBooks, System 10, System 11, System XI (logo),
SystemTools, Tabular Data Stream, The Enterprise Client/Server Company, The Extensible Software Platform, The
Future Is Wide Open, The Learning Connection, The Model For Client/Server Solutions, The Online Information
Center, The Power of One, Transact-SQL, Translation Toolkit, Turning Imagination Into Reality, UltraLite,
UNIBOM, Unilib, Uninull, Unisep, Unistring, URK Runtime Kit for UniCode, Viewer, Visual Components,
VisualSpeller, VisualWriter, VQL, WarehouseArchitect, Warehouse Control Center, Warehouse Studio, Warehouse
WORKS, Watcom, Watcom SQL, Watcom SQL Server, Web Deployment Kit, Web.PB, Web.SQL, WebSights,
WebViewer, WorkGroup SQL Server, XA-Library, XA-Server and XP Server are trademarks of Sybase, Inc. or its
subsidiaries.
All other trademarks are property of their respective owners.
Contents
5 Defining Entities...............................................................43
Create a new entity ................................................................. 45
Create an associative entity.................................................... 49
Define entity attributes ............................................................ 50
Add data items to an entity ............................................... 50
Create a new entity attribute............................................. 53
Designate an identifier ............................................................ 56
Attach a business rule to an entity .......................................... 60
iii
6 Defining Relationships ....................................................63
Create a relationship............................................................... 65
Define roles in an optional relationship ................................... 67
8 Defining Inheritance.........................................................79
Create an inheritance link ....................................................... 80
Define inheritance properties .................................................. 82
Glossary.......................................................................... 103
iv
About This Book
Subject This book contains step-by-step tutorials for the PowerDesigner Conceptual
Data Model modeling environment. It shows you how to do the following:
♦ Build a Conceptual Data Model (CDM)
♦ Use business rules and other model objects
♦ Generate a Physical Data Model (PDM)
Audience This book is for anyone who will be building data models with
PowerDesigner. Some familiarity with relational databases, SQL, and design
methodology is helpful, but not required. For more information, see the
Bibliography section at the end of this chapter.
This book only contains the basics of the Conceptual Data Model. For
information on other models or aspects of PowerDesigner, consult the
following books:
v
About This Book
Physical Data Model Getting Started To learn the basics of the PDM.
vi
About This Book
James Martin, Prentice Hall, 1990, three volumes of 178, 497, and 625 pages
respectively; clothbound, ISBN 0-13-464462-X (vol. 1), 0-13-464885-4 (vol.
2), and 0-13-465501-X (vol. 3).
Celko95
Joe Celko, Joe Celko’s SQL for Smarties (Morgan Kaufmann Publishers,
Inc., 1995), 467 pages; paperbound; ISBN 1-55860-323-9.
vii
About This Book
viii
C H A P T E R 1
1
What you will do
2
Chapter 1 About the CDM Tutorial
3
Setting up
Setting up
Before you begin, make sure that the files you need for the exercises are on
your hard disk. When you install PowerDesigner, these files are installed in
the PowerDesigner 9\Examples\Tutorial directory . When you have finished
with this tutorial you can delete them if you want.
The CDM tutorial uses the following files:
File Description
CDMBEFOR.CDM Starting tutorial CDM
CDMAFTER.CDM Finished tutorial CDM
4
C H A P T E R 2
5
Stating the Business Problem
6
C H A P T E R 3
You will begin the tutorial by running PowerDesigner. You will learn how to
use the tool palette.
You will open the tutorial file and assign it preferences, options, and
properties. Next, you will save it under a different name so that you can go
back and use the original model again if you want to repeat the exercises.
What you will do In this chapter you will:
♦ Start PowerDesigner
♦ Use the tools in the tool palette
♦ Open the tutorial CDM
♦ Define CDM preferences and options
♦ Define CDM properties
♦ Save the tutorial CDM
+RZORQJZLOOLWWDNH"
About 10 minutes.
7
Start PowerDesigner
Start PowerDesigner
♦ Click the 3RZHU'HVLJQHU program icon.
The PowerDesigner main window appears. It contains an object browser
window docked to the left, and an output window docked to the bottom
of the main window.
<RXUVFUHHQORRNVGLIIHUHQW
All the screen captures in this book were taken in a Windows NT4
environment, with an 800x600 screen resolution. The appearance and
proportions of the images which appear on your screen may be
slightly different.
8
Chapter 3 How to Begin the CDM Tutorial
9
Use the tools in the tool palette
The following table indicates the names and functions of each tool in the
palette:
10
Chapter 3 How to Begin the CDM Tutorial
So that you know how to use these tools before you begin creating the CDM,
you will create a few objects using the tool palette.
1 Click the (QWLW\WRRO in the tool palette.
The cursor takes the form of an entity when it is moved into the diagram.
2 Click anywhere in the CDM diagram.
11
Use the tools in the tool palette
An entity symbol appears at the click position. The entity has the name
Entity_n, where n is a number assigned to the entity in the order of
creation of objects.
3 The Entity tool is still active, so click again in the CDM diagram to
create another entity.
There are now two entities in the CDM diagram.
7RUHOHDVHDWRRO
A tool remains active until you release it. You can release a tool, by
selecting another tool or by clicking the right mouse button. By
default, when you click the right mouse button, the Pointer tool is
activated.
12
Chapter 3 How to Begin the CDM Tutorial
The entities and the relationship are selected. Handles appear around the
lasso selection to show that they are selected.
9 Drag the entities to a new position.
The relationship moves with the entities.
10 Click the 7H[W tool in the palette.
The Text tool is now active.
11 Click the cursor under the relationship.
Some text appears in the area indicated by the rectangle.
12 Click the ULJKWPRXVHEXWWRQ.
You release the Text tool.
13 Double-click the text.
A text box appears.
14 Type a short text into the text box.
15 Click 2..
The text appears in the diagram. Handles appear around the text.
16 Click a handle at the right edge of the text and while continuing to hold
the mouse button, drag the cursor to the right until all the text appears.
Release the mouse button.
Click on the diagram background.
The handles around the text disappear.
13
Use the tools in the tool palette
The Confirm Deletion message box appears, asking you how you want to
delete the selection.
Deleting objects
If you select Delete object, you erase the graphic symbol and delete
the object from the model. If you select Delete Symbols Only, you
erase the graphic symbol, but keep the object in the model.
20 Click 2..
The entity and associated relationship are removed from the diagram.
The objects are also deleted from the model.
21 Click in the remaining entity.
Press SHIFT while you click the text.
The two objects are selected.
22 Press the DEL key, and click 2. when the deletion message appears.
The remaining entity and text are erased.
14
Chapter 3 How to Begin the CDM Tutorial
What you learned In this section, you learned how to use some of the tools in the tool palette.
You now know how to:
♦ Select a tool
♦ Release the active tool either by selecting another tool or by clicking the
right mouse button
♦ Select all objects of a particular type
♦ Move graphic objects
♦ Create text to document the CDM
♦ Delete objects
15
Open the tutorial CDM
16
Chapter 3 How to Begin the CDM Tutorial
For each entity symbol, these preferences display all entity attributes,
and identify all attributes that are defined in entity identifiers.
4 Select the 5HODWLRQVKLS node, under the 2EMHFW9LHZ node, in the &DWHJRU\
tree view.
The Relationship page appears.
17
Define CDM preferences and options
5 Select the 5ROH check box and clear all other check boxes, so the dialog
box looks like the one shown below.
18
Chapter 3 How to Begin the CDM Tutorial
19
Define CDM preferences and options
11 Select or clear check boxes so that the dialog box looks like the one
shown below.
'RPDLQGLYHUJHQFH
Selecting the Data type check box, without selecting the Enforce
check box, allows divergence between a domain definition and the
data items attached to it. However, when there is divergence,
PowerDesigner will propose to update the data type in all data items
using the domain
20
Chapter 3 How to Begin the CDM Tutorial
Object names are displayed in the object symbols in the CDM diagram.
14 Click 2..
21
Define CDM properties
3 Click 2..
22
Chapter 3 How to Begin the CDM Tutorial
6DYH\RXUZRUN
Save your work periodically while doing these exercises by selecting
File→Save.
23
Save the tutorial CDM
24
C H A P T E R 4
About business A business rule is a written expression of the way a business operates. When
rules you create a business rule, you refer to the ideas set out in the business
description.
There are six types of business rules: facts, definitions, formulas, validations,
requirements and constraints:
Type of
business rule Example
Fact A publisher may publish one or more titles
Definition An author is identified by a name and an address
Formula The amount of royalties is a percentage of the sales which
increases according to the amount of sales
Validation The percentage of royalties paid to all authors of a book must
add up to 100% of the royalties
Requirement The model is designed so that total amount of royalties do
not exceed 10% of total sales
Constraint The sales start date should be inferior to the end date of the
publishing process
When you use business rules to document the CDM, they are not translated
into executable code. Business rules can be implemented as constraints in the
PDM.
About data items A data item is an elementary piece of information. For example, this CDM
contains data items for author last name and for book titles.
About domains A domain defines a standard data structure that you can apply to multiple
data items. When you modify a domain you globally update the data items
associated with the domain. This makes it easier to standardize data
characteristics and modify your model consistently when you need to make
changes.
25
Create a new business rule
About check Check parameters specify more precisely what values to allow for a domain
parameters or a data item. In a CDM, check parameters define standard parameters, such
as minimum, maximum, or accepted values.
What you will do In this chapter you will:
♦ Create a new business rule
♦ Create a new domain
♦ Create a new data item
♦ Attach a data item to a domain
+RZORQJZLOOLWWDNH"
About 20 minutes.
26
Chapter 4 Defining Business Rules, Domains, and Data Items
An arrow appears at the start of the first blank line and a default name
and code are entered.
27
Create a new business rule
4 Select 9DOLGDWLRQ from the dropdown list in the Rule Type column.
1DPHVVRUWHGDOSKDEHWLFDOO\
When you click $SSO\ or2., all names in the list are sorted
alphabetically. The order of appearance of the names in the list will
therefore change with either of these operations.
28
Chapter 4 Defining Business Rules, Domains, and Data Items
or
Double click the arrow at the beginning of the line.
The property sheet for the new business rule appears.
29
Create a new business rule
30
Chapter 4 Defining Business Rules, Domains, and Data Items
An arrow appears at the start of the first blank line and a default name
and code are entered.
1DPHVVRUWHGDOSKDEHWLFDOO\
When you click $SSO\ or2., all names in the list are sorted
alphabetically. The order of appearance of the names in the list will
therefore change with either of these operations.
31
Create a new domain
or
Double click the arrow at the beginning of the line.
The property sheet for the new domain appears.
7 Click the Question Mark button next to the 'DWD7\SH dropdown listbox.
The 6WDQGDUG'DWD7\SHV dialog box appears. You use this dialog box to
specify the form of the data affected by the domain.
8 Click the 0RQH\ radio button.
The domain now has a money data type. A money data type stores
numbers with a fixed decimal point. Later, when you apply this domain
to the data items that are used to store amounts of money, you will see
that they inherit this data type.
'DWDW\SHFRGHV
All data types have a one, two, or three letter code. When you select
the Money radio button, MN appears in the Code box. This is the
code for a money data type.
32
Chapter 4 Defining Business Rules, Domains, and Data Items
11 Click 2..
33
Create a new domain
You return to the domain property sheet. The value MN8,2 appears in the
Data Type dropdown listbox. MN is the code for a money data type.
Eight indicates that an amount of money can have 8 figures. Two
indicates that the amount has a decimal precision of 2.
12 Click OK.
You return to the List of Domains.
13 Click the $GGD5RZ tool.
An arrow appears at the start of the first blank line and a default name
and code are entered.
14 Type 3HUFHQW in the 1DPH column.
This is the name of the domain. The equivalent code is entered in the
Code column automatically.
15 Click $SSO\.
The creation of the new domain is committed.
16 Click the new domain line.
An arrow appears at the beginning of the line.
34
Chapter 4 Defining Business Rules, Domains, and Data Items
or
Double click the arrow at the beginning of the line.
The property sheet for the new domain appears.
18 Click the Question Mark button next to the 'DWD7\SH dropdown listbox.
The 6WDQGDUG'DWD7\SHV dialog box appears. You use this dialog box to
specify the form of the data affected by the domain.
19 Click the 6KRUWLQWHJHU radio button.
The code SI indicates that the Percent domain has a short integer data
type. The Length and Precision boxes are not available because you do
not need to specify a length and precision for the short integer data type.
20 Click 2. in each of the dialog boxes.
'HIDXOWGDWDW\SH
When you do not define a data type for a domain, it receives the
default data type. You can designate a default data type by selecting
Tools→Model Options.
35
Create a new data item
An arrow appears at the start of the first blank line and a default name
and code are entered.
1DPHVVRUWHGDOSKDEHWLFDOO\
When you click $SSO\ or2., all names in the list are sorted
alphabetically. The order of appearance of the names in the list will
therefore change with either of these operations.
36
Chapter 4 Defining Business Rules, Domains, and Data Items
or
Double click the arrow at the beginning of the line.
The property sheet for the new data item appears.
7 Select 3HUFHQW from the 'RPDLQ dropdown listbox in the bottom part of
the dialog box.
This applies the data type of the Percent domain to the new data item. In
the Data Type column, SI indicates a short integer.
8 Click OK.
You return to the List of Data Items.
37
Create a new data item
An arrow appears at the start of the first blank line and a default name
and code are entered.
10 Type 7LWOH$XWKRU2UGHU in the Name column.
This is the name of the data item. The equivalent code is entered in the
Code column automatically.
11 Click $SSO\.
The creation of the new data item is committed.
12 Click the new data item line.
An arrow appears at the beginning of the line.
13 Click the 3URSHUWLHV tool.
or
Double click the arrow at the beginning of the line.
The property sheet for the new data item appears.
14 Click the 4XHVWLRQ0DUN button next to the Data Type dropdown listbox.
The Standard Data Types dialog box appears.
38
Chapter 4 Defining Business Rules, Domains, and Data Items
39
Attach a data item to a domain
40
Chapter 4 Defining Business Rules, Domains, and Data Items
5 Click the down arrowhead and select $PRXQW from the list as shown
below.
41
Attach a data item to a domain
The data items Author Advance, Royalty Amount, Sales Amount, and
Title Price which before had different data types, now inherit a
standardized data type from the Amount domain.
6 Click the number of the data item 'LVFRXQW3HUFHQW and select 3(5&(17
from the dropdown listbox in the Domain column.
7 Click 2..
What you learned In this section, you learned how to ensure data consistency by attaching data
items to domains.
It is good practice to attach data items to domains. By doing so, when you
modify a domain you can globally update the characteristics of the attached
data items.
42
C H A P T E R 5
Defining Entities
About entities An entity is an object about which you want to store information. For
example, in the tutorial model the AUTHOR entity groups information like
author name and address.
Why create an The business problem indicates which entities you need to create. For
entity example, to identify and store pictures of authors, you will create a
PICTURE entity that contains all information related to pictures.
Why create an To respond to another business problem, you need to keep track of the
associative entity percentage of royalties received by each author of each title.
One title may be written by many authors, and one author may have many
titles to his or her credit. This is called a many-to-many relationship.
Because each author must be unique in the Author entity, and each Title must
be unique in the Title entity, you will create an associative entity that has a
unique occurrence for each title-author combination. You will then be able to
attach a percentage to each unique case.
About entity An entity attribute is an elementary piece of information (data item) which
attributes you attach to an entity. For example, Last Name is an attribute of the
AUTHOR entity because it provides information about an author. You will
add a biography attribute to the AUTHOR entity.
About entity An entity identifier is made up of one or more attributes unique to the entity,
identifiers such that each value of the identifier corresponds to one, and only one,
occurrence of the entity. For example, ISBN is the identifier of the TITLE
entity because an ISBN uniquely identifies a title. You will assign a picture
identification number as the identifier of the PICTURE entity.
43
Create a new entity
Attaching business You attach a business rule to an entity as a reminder of the conditions
rules to entities attached to the entity. You will attach the business rule you created in the
preceding lesson to one of the entities.
What you will do In this chapter you will:
♦ Create an entity
♦ Create an associative entity
♦ Define entity attributes
♦ Designate an identifier
♦ Attach a business rule to an entity
+RZORQJZLOOLWWDNH"
About 15 minutes
44
Chapter 5 Defining Entities
45
Create a new entity
This is the name of the entity. The equivalent code is entered in the Code
column automatically.
6 Click 2..
The new entity displays the name Picture.
You created this entity by first creating its symbol, then identifying it
from a property sheet. You can also create entities from the list of
entities.
7 Select 0RGHO→(QWLWLHV.
The List of Entities dialog box displays existing entities.
8 Click the $GGD5RZ tool.
An arrow appears at the start of the first blank line and a default name
and code are entered.
9 Type 3HULRGLFDO in the 1DPH column.
The code is automatically set equal to the name.
10 Click $SSO\.
46
Chapter 5 Defining Entities
1DPHVVRUWHGDOSKDEHWLFDOO\
When you click $SSO\ or2., all names in the list are sorted
alphabetically. The order of appearance of the names in the list will
therefore change with either of these operations.
An arrow appears at the start of the first blank line and a default name
and code are entered.
12 Type 1RQSHULRGLFDO in the 1DPH column.
13 Click $SSO\.
The creation of the new entity is committed.
The new entities appear on the list.
14 Click 2..
The new entities appear in the CDM.
47
Create a new entity
0RYLQJHQWLW\V\PEROV
When you create entities from the list, they will not be arranged as
shown above. You do not control the insert position of the symbols.
You can move an entity symbol by selecting it and dragging it to a
new position.
48
Chapter 5 Defining Entities
49
Define entity attributes
50
Chapter 5 Defining Entities
The Attributes page appears. It lists the attributes associated with the
entity. The list is empty because the entity does not have any associated
attributes.
A selection box appears. It lists all the data items available in the model.
3 Click the &RGH column heading.
This sorts the list of code items alphabetically.
51
Define entity attributes
5 Click 2..
The data items appear in the list of attributes for the TitleAuthor entity.
6 Click 2..
52
Chapter 5 Defining Entities
7 Repeat steps 1-6 for entities PICTURE (Picture and Picture ID data
items), PERIODICAL (Periodical Format and Periodical Pub Frequency
data items), and NONPERIODICAL (Book Collection data item).
The CDM displays these entities with their attributes.
53
Define entity attributes
A blank line is inserted above the Author Advance line. A default name
is entered.
54
Chapter 5 Defining Entities
The text data type (TXT) appears in the Data Type column.
7 Click 2..
The Author entity displays its new attribute.
55
Designate an identifier
Designate an identifier
An identifier is an entity attribute that uniquely identifies each occurrence of
the entity.
You will designate Picture ID as the identifier of the PICTURE entity.
1 Double-click the 3,&785( entity symbol.
The Entity property sheet appears.
2 Click the $WWULEXWHV tab.
The Attributes page appears.
56
Chapter 5 Defining Entities
or
Double click the arrow at the beginning of the line.
The Picture ID property sheet appears.
5 Select the 3ULPDU\,GHQWLILHU checkbox in the bottom part of the dialog
box.
6 Click 2..
You return to the Attributes page.
7 Scroll to the right until the 0 (mandatory) and 3 (primary identifier)
columns are visible.
57
Designate an identifier
In the Picture ID line, checks in the P column and the M column indicate
that this attribute is a primary identifier and a mandatory attribute,
respectively.
or
Double click the arrow at the beginning of the line.
The Picture property sheet appears.
11 Select the 0DQGDWRU\ checkbox in the bottom part of the dialog box.
12 Click OK.
You return to the Attributes page.
13 Scroll to the right until the M column is visible.
A check appears in the M column of the Picture attribute. This means the
attribute is mandatory. In other words, each occurrence of the Picture
entity must include a picture.
14 Click 2..
58
Chapter 5 Defining Entities
59
Attach a business rule to an entity
A selection box appears. This lists all the available business rules.
4 Select the $XWKRU3HUFHQW checkbox.
5 Click 2..
60
Chapter 5 Defining Entities
You return to the Rules page. Author Percent appears in the list.
6 Click 2..
The business rule is attached to the entity. You return to the model
window.
What you learned In this section, you learned how to:
♦ Attach a business rule to a particular entity in the CDM
♦ Use a business rule as a reminder of the role of an object in solving a
business problem
61
Attach a business rule to an entity
62
C H A P T E R 6
Defining Relationships
About relationships A relationship is a named association between entities. It expresses the fact
that two entities are somehow related. For example, in the tutorial model, a
relationship links the entities PUBLISHER and TITLE because publishers
publish books. An entity can have a relationship with itself, called a reflexive
relationship.
About cardinality Cardinality indicates the maximum number of instances (one or many) of
one entity in relation to another. To determine the cardinality of a
relationship, ask the following question about each entity in the relationship,
"Can more than one occurrence of this entity exist for one occurrence of the
other entity?"
For example, in a relationship of author-to-picture, the cardinality can be set
to many because one author can be shown in several pictures. In the
direction picture-to-author, the cardinality can be set to one because a picture
can only show one author. This type of relationship is called a one-to-many
relationship. The steps to establishing these relationships are in the Create a
relationship section of this chapter.
About mandatory You can define a relationship as mandatory from the point of view of one or
relationships both of its entities. To determine if a relationship is mandatory, ask the
following question about each entity in the relationship, "Does an occurrence
of this entity require an occurrence of the other entity?"
For example, the relationship for DISCOUNT to STORE is mandatory
because all discounts must be associated with a specific store. On the other
hand, the relationship from AUTHOR to PICTURE will be optional because
an author may not have any pictures on file.
About dependent In a dependent relationship one entity depends on another to uniquely
relationships identify it. For example, there are dependent relationships from
TITLEAUTHOR to TITLE and to AUTHOR because a unique occurrence of
TITLEAUTHOR is formed by the combination of one author and one title.
63
Create a relationship
+RZORQJZLOOLWWDNH"
About 10 minutes.
64
Chapter 6 Defining Relationships
Create a relationship
You will create a relationship between AUTHOR and PICTURE entities.
1 Click the 3RLQWHUWRRO in the tool palette.
2 Drag the 3LFWXUH entity symbol below the AUTHOR entity symbol.
The contact points of the relationship indicate that the cardinality of the
relationship from AUTHOR to PICTURE is one-to-many, as follows:
♦ A single contact point on AUTHOR indicates that there is only one
author for each picture
65
Create a relationship
Relationship properties
Relationships that you create using the relationship tool are one-to-
many and optional. You can change these and other properties from
the relationship property sheet.
66
Chapter 6 Defining Relationships
67
Define roles in an optional relationship
68
Chapter 6 Defining Relationships
7 Click 2..
69
Define roles in an optional relationship
70
C H A P T E R 7
+RZORQJZLOOLWWDNH"
About 5 minutes.
71
Create a package
Create a package
You will start by creating a package.
1 Click the 3DFNDJH symbol in the Palette.
72
Chapter 7 Using Packages and Shortcuts
6 Click 2..
You return to the diagram. The new name for the package appears in the
symbol.
73
Open a diagram for the package
74
Chapter 7 Using Packages and Shortcuts
75
Add objects to the package
76
Chapter 7 Using Packages and Shortcuts
7 Arrange the shortcut symbols. The arrow at the bottom left corner
indicates that the symbol is a shortcut.
77
Accessing a target object from a shortcut
78
C H A P T E R 8
Defining Inheritance
+RZORQJZLOOLWWDNH"
About 10 minutes.
79
Create an inheritance link
3 Click the VHPLFLUFOH and while continuing to hold down the mouse
button, drag the cursor to the 3(5,2',&$/ entity. Release the mouse
button inside the 3(5,2',&$/ entity.
The inheritance symbol changes accordingly.
80
Chapter 8 Defining Inheritance
3RVLWLRQLQKHULWDQFHV\PERO
To arrange the position of the inheritance symbol, select the
semicircle then select Symbol→Disposition→Arrange Symbols. The
inheritance symbol moves to the center of gravity of the symbols it
connects.
81
Define inheritance properties
82
Chapter 8 Defining Inheritance
83
Define inheritance properties
You define a Boolean (BL) data type for the specifying attribute because
there are only two possible choices: periodical or not.
11 Scroll to the right until the 0 checkbox appears.
This is the Mandatory checkbox. When selected it indicates that when
the column Periodical is generated it can not contain NULL values.
12 Select the 0 checkbox.
13 Click 2..
A cross appears in the semicircle to indicate that the inheritance is
mutually exclusive.
84
Chapter 8 Defining Inheritance
85
Define inheritance properties
86
C H A P T E R 9
When you finish creating the CDM, you can organize the model using the
graphic display options.
What you will do In this chapter you will:
♦ Add a title box
♦ Change the color of the title box
♦ Change the color of the window
♦ Arrange the symbols
♦ Center the model on the page
♦ Print the model
+RZORQJZLOOLWWDNH"
About 15 minutes.
87
Add a title box
88
Chapter 9 Organizing the Display
89
Change the color of the window
90
Chapter 9 Organizing the Display
6HOHFWLQJVHYHUDOV\PEROVDWRQFH
You can also select more than one symbol at a time by pressing the
SHIFT key while you click each symbol in turn.
91
Arrange the symbols
92
Chapter 9 Organizing the Display
93
Print the model
2 Click 2..
6HOHFWSDJHVWRSULQW
When a model is spread over several pages you can select and
deselect pages for printing by clicking them. Selected pages display a
turned down corner.
94
C H A P T E R 1 0
In this lesson you will generate a Physical Data Model (PDM) from a
Conceptual Data Model (CDM).
What happens You generate a PDM for a particular Database Management System
when you generate (DBMS). Before you generate the PDM, you must select the DBMS referred
a PDM to as the target database. PowerDesigner translates the data types specified in
the CDM into the physical data types which the target database supports.
The correspondence between conceptual and physical data types is defined in
a DBMS definition file. There is a DBMS definition file for each type of
target database.
Shared DBMS You will use a DBMS definition file that is shared with a master DBMS file
in .XML format stored in the DBMS library. This file can be used by any
number of models. Any modifications to the master DBMS definition file are
available to all models using the DBMS in share mode.
Copy DBMS A copy of the master DBMS definition file is saved with the model. Any
definition modifications made to the DBMS are only available to the current model.
PDM translation When you generate a PDM, PowerDesigner also translates the following
conceptual objects into the following physical objects:
95
Generate the PDM
+RZORQJZLOOLWWDNH"
About 5 minutes.
96
Chapter 10 Generating the PDM from the CDM
97
Generate the PDM
The model will be verified by the Check Model before generation. The
Save Generation Dependencies option determines that PowerDesigner
saves the object identification tag for each object in the model. This
option is mainly useful when merging two PDM generated from the same
CDM.
6 Select the 6HOHFWLRQ tab.
98
Chapter 10 Generating the PDM from the CDM
The 6HOHFWLRQ page appears. It lists all the objects in the CDM. By
default, all object checkboxes are selected.
7 If all the object checkboxes are not selected, click the Select All tool.
8 Click 2..
A Result List window displays warning messages indicating that the
CDM reuses certain data items for more than one entity. These warnings
are informational and do not prevent PowerDesigner from generating the
PDM.
9 Close the 5HVXOW window when the generation process has finished.
99
Generate the PDM
Crowded PDM
If your PDM is difficult to read because tables display too much
information, you can reduce the amount of information displayed by
selecting Tools→Display Preferences and clearing checkboxes for the
appropriate object.
100
Chapter 10 Generating the PDM from the CDM
101
Exit PowerDesigner
Exit PowerDesigner
You will save and close the CDM, then exit PowerDesigner.
1 Select )LOH→6DYH.
This saves the CDM.
2 Select )LOH →&ORVH.
This closes the model.
3 Select )LOH→([LW.
A confirmation box asks you if you want to save the Workspace.
4 Click the 1R button.
You exit the PowerDesigner application. You have now completed the
CDM tutorial.
102
Glossary
business rule Written statement specifying what the information system must do or how it
must be structured to support business needs
column Data structure that contains an individual data item within a row in a PDM
Entity-relationship diagram that models the information system without
Conceptual Data considering the details of physical implementation
Model (CDM)
Named check that enforces data requirements, default values, or referential
constraint integrity on an entity or a entity attribute
Elementary piece of information
data item
Set of values for which a data item is valid
domain
Person, place, thing, or concept that has characteristics of interest to the
entity enterprise and about which you want to store information
Elementary piece of information attached to an entity
entity attribute
Column or columns in a PDM whose values depend on and migrate from a
foreign key primary key, or an alternate key, in another table
Entity attribute, or a combination of entity attributes, whose values uniquely
Identifier identify each occurrence of the entity
Special relationship that defines an entity as a special case of a more general
Inheritance entity
Table-reference diagram that models the information system including the
Physical Data details of physical implementation
Model (PDM)
Column or columns whose values uniquely identify a row in a table in PDM
primary key
Window that displays the properties of an object
property sheet
Link between a parent table and a child table in a PDM. A reference can link
reference tables by shared keys or by specified columns
103
Glossary
104
Index
CDM (continued)
define 1, 17
display 87
A open 16
add option 17
data item to entity 50 preference 17
object to package 76 property 22
title box 88 save 23, 102
adjust center
display 16 model 93
align symbol 81
symbol 91 check parameter 26
arrange close
symbol 91 CDM 102
association 103 PDM 101
attach code
business rule to entity 43, 60 data type 32
data item to domain 40 color
attribute 103 title box 89
create 53 window 90
define 50 column 103
entity 43 constraint 103
create
business rule 27
data item 36
B domain 31
business rule 25, 103 entity 45, 49
attach to entity 43, 60 entity attribute 53
create 27 inheritance 80
define 25 package 72
fact 25 relationship 65
formula 25
sort 28
validate 25
D
data item 25, 103
add to entity 50
C attach to domain 40
cardinality 63 create 36
one to many 63 diverge 20
relationship 63 sort 37
CDM 103 data type
check parameter 26 code 32
close 102
105
data type (continued) entity (continued)
default 35 define 43
DataArchitect identifier 43
install 4 parent 79
DEF file 95 sort 47
default
data type 35
define
business rule 25 F
CDM 17 foreign key 103
data item 25
domain 25
entity 43
inheritance 79, 82 G
option 17 generate
preference 17 PDM 97
property 22 global model 71
relationship 63, 67 graphic
delete print 94
object 14
symbol 14
designate
identifier 56
I
identifier 103
detach
designate 56
symbol 14
inheritance 103
diagram
create 80
package 74
define 79, 82
display
mutually exclusive 79
adjust 16
property 82
CDM 87
install
organize 87
DataArchitect 4
preference 17
relationship 70
diverge
domain 20 M
domain 25, 103 model
create 31 center 93
data item 40 print 94
diverge 20 move
enforce 20 symbol 48
E N
enforce name
domain 20 identifier 56
entity 103 relationship 67
add 50 new diagram
child 79 open 74
create 45, 49
106
relationship (continued)
O create 65
object
define 63, 67
add to package 76
dependent 63
delete 14
display 70
open
name 67
CDM 16
one-to-many 65
option
optional 66, 67
CDM 17
property 66
define 17
relationship 67
organize
display 87 S
save
CDM 23, 102
PDM 101
P select
package 71
tool 12
add object 76
sort
create 72
business rule 28
open diagram 74
data item 37
palette
entity 47
tool 10
symbol
PDM 1, 103
align 91
close 101
arrange 91
generate 97
center 81
generate from CDM 95
delete 14
save 101
detach 14
PowerDesigner
move 48
open 8
preference
CDM 17
define 17 T
display 17 table 104
primary key 103 title box
print add 88
graphic 94 color 89
model 94 tool
property palette 10
CDM 22 release 12
define 22 select 12
relationship 66
property sheet 103
W
window
R color 90
reference 103
referential integrity 104
relationship 104
cardinality 63
107
108