112
Sybase ® PowerDesigner ® Conceptual Data Model Getting Started Version 9.5 38085-01-0950-01 Last modified: July 2002

Conceptual Data Model Tutorial

Embed Size (px)

Citation preview

Page 1: Conceptual Data Model Tutorial

Sybase®

PowerDesigner®

Conceptual Data Model

Getting Started

Version 9.538085-01-0950-01

Last modified: July 2002

Page 2: Conceptual Data Model Tutorial

Copyright © 2002 Sybase, Inc. All rights reserved.Information in this manual may change without notice and does not represent a commitment on the part ofSybase, Inc. and its subsidiaries.Sybase, Inc. provides the software described in this manual under a Sybase License Agreement. The software maybe 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) ofDFARS 52.227-7013 for the DOD and as set forth in FAR 52.227-19(a)-(d) for civilian agencies.

Sybase, SYBASE (logo), AccelaTrade, ADA Workbench, Adaptable Windowing Environment, Adaptive ComponentArchitecture, Adaptive Server, Adaptive Server Anywhere, Adaptive Server Enterprise, Adaptive Server EnterpriseMonitor, Adaptive Server Enterprise Replication, Adaptive Server Everywhere, Adaptive Server IQ, AdaptiveWarehouse, AnswerBase, Anywhere Studio, Application Manager, AppModeler, APT Workbench, APT-Build, APT-Edit, APT-Execute, APT-Translator, APT-Library, ASEP, Backup Server, BayCam, Bit-Wise, BizTracker, CertifiedPowerBuilder 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 ServerManager, Enterprise Work Architecture, Enterprise Work Designer, Enterprise Work Modeler, eProcurementAccelerator, eremote, Everything Works Better When Everything Works Together, EWA, Financial Fusion, FinancialFusion Server, Formula One, Gateway Manager, GeoPoint, iAnywhere, iAnywhere Solutions, ImpactNow, IndustryWarehouse Studio, InfoMaker, Information Anywhere, Information Everywhere, InformationConnect, InstaHelp,InternetBuilder, iremote, iScript, Jaguar CTS, jConnect for JDBC, KnowledgeBase, Logical Memory Manager,MainframeConnect, Maintenance Express, Manage Anywhere Studio, MAP, MDI Access Server, MDI DatabaseGateway, 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, OASiSlogo, ObjectConnect, ObjectCycle, OmniConnect, OmniSQL Access Module, OmniSQL Toolkit, Open Biz, OpenBusiness Interchange, Open Client, Open ClientConnect, Open Client/Server, Open Client/Server Interfaces, OpenGateway, Open Server, Open ServerConnect, Open Solutions, Optima++, Partnerships that Work, PB-Gen, PC APTExecute, PC DB-Net, PC Net Library, PhysicalArchitect, Pocket PowerBuilder, PocketBuilder, Power++, PowerThrough 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, ReplicationToolkit, Resource Manager, RW-DisplayLib, RW-Library, SAFE, SAFE/PRO, SDF, Secure SQL Server, SecureSQL 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 DevelopmentFramework, Sybase Financial Server, Sybase Gateways, Sybase Learning Connection, Sybase MPP, Sybase SQLDesktop, Sybase SQL Lifecycle, Sybase SQL Workgroup, Sybase Synergy Program, Sybase Virtual ServerArchitecture, 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, TheExtensible Software Platform, The Future Is Wide Open, The Learning Connection, The Model For Client/ServerSolutions, The Online Information Center, The Power of One, TradeForce, Transact-SQL, Translation Toolkit,Turning Imagination Into Reality, UltraLite, UNIBOM, Unilib, Uninull, Unisep, Unistring, URK Runtime Kit forUniCode, Versacore, Viewer, VisualWriter, VQL, WarehouseArchitect, Warehouse Control Center, WarehouseStudio, 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 trademarksof Sybase, Inc. or its subsidiaries.

All other trademarks are property of their respective owners.

Page 3: Conceptual Data Model Tutorial

iii

Contents

About This Book.................................................................v

1 About the CDM Tutorial .....................................................1What you will do........................................................................ 2

How long it will take ............................................................ 2What you will learn ............................................................. 3

Setting up.................................................................................. 4

2 Stating the Business Problem...........................................5

3 How to Begin the CDM Tutorial.........................................7Start PowerDesigner................................................................. 8Open a new CDM ..................................................................... 9Use the tools in the tool palette............................................... 10Open the tutorial CDM ............................................................ 16Define CDM preferences and options..................................... 17Define CDM properties ........................................................... 20Save the tutorial CDM............................................................. 21

4 Defining Business Rules, Domains, and Data Items .....23Create a new business rule .................................................... 25Create a new domain.............................................................. 29Create a new data item........................................................... 34Attach a data item to a domain ............................................... 38

5 Defining Entities...............................................................41Create a new entity ................................................................. 43Create an associative entity.................................................... 46Define entity attributes ............................................................ 47

Add data items to an entity............................................... 47Create a new entity attribute............................................. 50

Page 4: Conceptual Data Model Tutorial

iv

Designate an identifier ............................................................ 53Attach a business rule to an entity.......................................... 57

6 Defining Relationships ....................................................59Create a relationship............................................................... 61Define roles in an optional relationship................................... 63

7 Using Packages and Shortcuts.......................................67Create a package ................................................................... 68Open a diagram for the package ............................................ 70Add objects to the package .................................................... 72Accessing a target object from a shortcut .............................. 74

8 Defining Inheritance ........................................................75Create an inheritance link ....................................................... 76Define inheritance properties.................................................. 78

9 Organizing the Display ....................................................83Add a title box ......................................................................... 84Change the color of the title box ............................................. 85Change the color of the window.............................................. 86Arrange the symbols............................................................... 87Center the model on the page ................................................ 89Print the model........................................................................ 90

10 Generating the PDM from the CDM ................................91Generate the PDM.................................................................. 93Save and close the PDM ........................................................ 96Exit PowerDesigner ................................................................ 97

Glossary ...........................................................................99

Index ...............................................................................101

Page 5: Conceptual Data Model Tutorial

v

About This Book

This book contains step-by-step tutorials for the PowerDesigner ConceptualData 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)

This book is for anyone who will be building data models withPowerDesigner. Some familiarity with relational databases, SQL, and designmethodology is helpful, but not required. For more information, see theBibliography section at the end of this chapter.

The PowerDesigner modeling environment supports several types of models:

♦ Conceptual Data Model (CDM) to model the overall logical structureof a database, independent from any software or data storage structureconsiderations

♦ Physical Data Model (PDM) to model the overall physical structure ofa database, taking into account DBMS software or data storage structureconsiderations

♦ Object Oriented Model (OOM) to model a software system using anobject-oriented approach for Java or other object languages

♦ Business Process Model (BPM) to model the means by which one ormore processes are accomplished in operating business practices

♦ Free Model (FEM) to create any kind of chart diagram, in a context-free environment

Subject

Audience

Documentationprimer

Page 6: Conceptual Data Model Tutorial

About This Book

vi

This book only contains the basics of the Conceptual Data Model. Forinformation on other models or aspects of PowerDesigner, consult thefollowing books:

General Features Guide To get familiar with the PowerDesignerinterface before learning how to use any of the models.

Conceptual Data Model User’s Guide To work with the CDM.

Physical Data Model Getting Started To learn the basics of the PDM.

Physical Data Model User’s Guide To work with the PDM.

Object Oriented Model Getting Started To learn the basics of theOOM.

Object Oriented Model User's Guide To work with the OOM.

Business Process Model Getting Started To learn the basics of theBPM.

Business Process Model User's Guide To work with the BPM.

Reports User’s Guide To create reports for any or all models.

Repository Getting Started To learn the basics of the Repository.

Repository User’s Guide To work in a multi-user environment using acentral repository.

PowerDesigner documentation uses specific typefaces to help you readilyidentify specific items:

♦ monospace text (normal and bold)Used for: Code samples, commands, compiled functions and files,references to variables.Example: declare user_defined…, theBeforeInsertTrigger template.

♦ UPPER CASEObject codes, reversed objects, file names + extension.Example: The AUTHOR table appears in the Browser. Open the fileOOMAFTER.OOM.

♦ bold textAny new term.Example: A shortcut has a target object.

Typographicconventions

Page 7: Conceptual Data Model Tutorial

About This Book

vii

♦ SMALL CAPS

Any key name.Example: Press the ENTER key.

♦ bold italicTabs, buttons, commands.Example: Click the Selection tab. Select File>Open.

Information engineering

James Martin, Prentice Hall, 1990, three volumes of 178, 497, and 625 pagesrespectively; clothbound, ISBN 0-13-464462-X (vol. 1), 0-13-464885-4 (vol.2), and 0-13-465501-X (vol. 3).

Data Modeling Essentials

Graeme Simsion, Van Nostrand Reinhold, 1994, 310 pages; paperbound;ISBN 1850328773

Celko95

Joe Celko, Joe Celko's SQL for Smarties (Morgan Kaufmann Publishers,Inc., 1995), 467 pages; paperbound; ISBN 1-55860-323-9.

Bibliography

Page 8: Conceptual Data Model Tutorial

About This Book

viii

Page 9: Conceptual Data Model Tutorial

1

C H A P T E R 1

About the CDM Tutorial

This tutorial is a series of lessons in which you learn how to usePowerDesigner to build a Conceptual Data Model (CDM).

In this tutorial, you complete the CDM delivered in the tutorial file. Thismodel is based on a real-life example of an information system. It provides acontext for the exercises. As you build onto this model, you learn how tocreate all the basic elements of a CDM. You can then apply your knowledgeto creating a CDM to suit your needs.

A CDM represents the overall structure of an information system. It describesthe conceptual relationships of different types of information rather than theirphysical structures. A CDM is independent of a particular databasemanagement system (DBMS).

In a CDM, you can put design issues first because you do not have to worryabout the details of physical implementation. You deal principally withentities and their relationships. These are easy to understand and tomanipulate.

Through a simple generation procedure, you can transfer the solid designframework of the CDM to the Physical Data Model (PDM). The PDM adaptsyour design to the specifics of a DBMS and puts you well on the way tocomplete physical implementation.

What is a CDM?

Why build a CDM?

Page 10: Conceptual Data Model Tutorial

What you will do

2

What you will doYou begin by preparing a business description and stating the businessproblems to solve. You will refer to this statement in order to decide whatbusiness rules, data items, and entities you need to create.

You will open the tutorial CDM. This CDM presents the conceptual structureof a publishing enterprise.

You will specify model preferences and properties, then save the modelunder a new name.

You will create business rules, domains, and data items to complete theCDM.

You will add entities to the tutorial model. You will define entity attributesand designate an identifier. You will also attach a business rule to an entity.

You will create relationships between entities. You will create relationshipswith different cardinalities, as well as mandatory and dependent relationships.

You will create a package in which you will add a shortcut to an entity in theglobal model

You will create an inheritance link.

You will use the display options and tools to organize the model. You willinsert a title box and change its color. You will use the alignment tools toalign symbols and straighten relationship lines.

You will generate a Physical Data Model (PDM) from the CDM. You willdefine the generation parameters, generate the PDM, then save and close thePDM.

How long it will take

You can do the CDM tutorial in one sitting in about 1½ hours. You can stopafter any chapter and continue at another time.

Chapter 2

Chapter 3

Chapter 4

Chapter 5

Chapter 6

Chapter 7

Chapter 8

Chapter 9

Chapter 10

Page 11: Conceptual Data Model Tutorial

Chapter 1 About the CDM Tutorial

3

What you will learn

You will learn basic PowerDesigner techniques for creating a CDM,including:

♦ How to create the basic elements of a CDM: domains, data items,business rules, and entities

♦ How to create different types of relationships between entities

♦ How to create packages and add objects to a package

♦ How to create an inheritance

♦ How to use the display functions to arrange symbols and to center themodel on the page

♦ How to generate a Physical Data Model (PDM) from a CDM

Page 12: Conceptual Data Model Tutorial

Setting up

4

Setting upBefore you begin, make sure that the files you need for the exercises are onyour hard disk. When you install PowerDesigner, these files are installed inthe PowerDesigner 9\Examples\Tutorial directory . When you have finishedwith 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

Page 13: Conceptual Data Model Tutorial

5

C H A P T E R 2

Stating the Business Problem

The first step to creating a Conceptual Data Model (CDM) is to formulate astatement of the business problems that the CDM will address. To do this,you draw up a description of business activities. This helps you decide:

♦ What information you need to store

♦ What entities are involved in the business

♦ How the business operates

When the way the business operates is clear, you can begin to develop theCDM.

You will start this tutorial with a CDM that is the conceptual model of theinformation system for a publishing company.

A business description indicates that the entities involved in the businessinclude titles, authors, book stores, and discounts. It indicates the detailsrelated to each of these entities: from international standard book numbers(ISBN) for titles to store addresses.

In the course of the CDM tutorial, you will solve three business problems:

♦ Royalties for multiple authors Keep track of different royaltypercentages for authors of the same book

♦ Author pictures and biographies Identify and store author picturesand biographies for use on book covers

♦ Title categories Classify each title as a periodical or a non-periodicaland save related information

On the basis of these business problems, you will extend the tutorial model tomanage additional data. For example, you will add an entity for pictures andyou will create a data item to store information about percentages of royaltiesthat a particular author receives.

Businessdescription

Business problem

Page 14: Conceptual Data Model Tutorial

Stating the Business Problem

6

Page 15: Conceptual Data Model Tutorial

7

C H A P T E R 3

How to Begin the CDM Tutorial

You will begin the tutorial by running PowerDesigner. You will learn how touse the tool palette.

You will open the tutorial file and assign it preferences, options, andproperties. Next, you will save it under a different name so that you can goback and use the original model again if you want to repeat the exercises.

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

How long will it take?About 10 minutes.

What you will do

Page 16: Conceptual Data Model Tutorial

Start PowerDesigner

8

Start PowerDesigner♦ Click the PowerDesigner program icon.

The PowerDesigner main window appears. It contains an object browserwindow docked to the left, and an output window docked to the bottomof the main window.

The object browser window shows the contents of the workspace in atree view. You can use the object browser to organize the objects in eachof your models.

The workspace is the name for the current PowerDesigner session.Workspace is the default node in the object browser tree view. The newCDM that you will open will be created and saved in a workspace.

The output window shows the progression of any process that you runfrom PowerDesigner, for example the process of generating a PDM froma CDM is shown in this window.

Your screen looks differentAll the screen captures in this book were taken with a resolution thatmay be different from the one you use, as a result the appearance andproportions of the images on your screen may be slightly different.

Page 17: Conceptual Data Model Tutorial

Chapter 3 How to Begin the CDM Tutorial

9

Open a new CDM1 Select File→New.

A selection window appears. It lists the types of models that you canopen in the PowerDesigner main window.

2 Select Conceptual Data Model.

3 Click OK.

A CDM model window appears. It contains a diagram window (as yetempty), a palette, and the Browser and Output windows are docked tothe left and bottom of the screen respectively.

Page 18: Conceptual Data Model Tutorial

Use the tools in the tool palette

10

Use the tools in the tool paletteThe buttons in the CDM tool palette enact all major functions needed to buildand modify a CDM.

The following table indicates the names and functions of each tool in thepalette:

Tool Name Action

Pointer Selects symbol

Lasso Selects symbols in an area

Grabber Selects, moves and resizes all symbols

Zoom In Increases view scale

Zoom Out Decreases view scale

Open Package Diagram Display diagram for selected package

Properties Display property sheet for selected symbol

Delete Delete symbol

Package Insert package symbol

Entity Insert entity symbol

Relationship Insert relationship symbol

Page 19: Conceptual Data Model Tutorial

Chapter 3 How to Begin the CDM Tutorial

11

Tool Name Action

Inheritance Insert inheritance symbol

Association Insert association symbol

Association Link Insert association link symbol

File Insert a file symbol

Note Insert note symbol

Link/ExtendedDependency

Draws a graphical link between symbols inthe diagram

Draws a note link between a Note and anobject

Draws an extended dependency between twoobjects that support extended dependencies

Title Insert title symbol

Text Insert text

Line Draw a line

Arc Draw an arc

Rectangle Draw a rectangle

Ellipse Draw an ellipse

Polyline Draw a jagged line

Polygon Draw a polygon

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 Entity tool 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.

Page 20: Conceptual Data Model Tutorial

Use the tools in the tool palette

12

An entity symbol appears at the click position. The entity has the nameEntity_n, where n is a number assigned to the entity in the order ofcreation of objects.

3 The Entity tool is still active, so click again in the CDM diagram tocreate another entity.

There are now two entities in the CDM diagram.

4 Click the Relationship tool in the tool palette.

The Entity tool is now released and the Relationship tool is active.

5 Click inside the first entity and while continuing to hold down the mousebutton, drag the cursor to the second entity. Release the mouse buttoninside the second entity.

This creates a relationship.

6 Click the right mouse button.

You release the relationship tool.

To release a toolA tool remains active until you release it. You can release a tool, byselecting another tool or by clicking the right mouse button. Bydefault, when you click the right mouse button, the Pointer tool isactivated.

7 Click the Lasso tool in the palette.

The Lasso tool is now active.

8 Click the cursor above a corner of the first entity and while continuing tohold down the mouse button, drag the cursor so that you draw arectangle around the two entities.Release the mouse button.

Page 21: Conceptual Data Model Tutorial

Chapter 3 How to Begin the CDM Tutorial

13

The entities and the relationship are selected. Handles appear around thelasso selection to show that they are selected.

9 Drag the entities to a new position.

The relationship moves with the entities.

10 Click the Text 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 right mouse button.

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 OK.

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 holdthe 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.

17 Click the Pointer tool in the palette.

You will use this tool to select and delete one of the symbols.

18 Click on one of the entity symbols.

This selects the object you want to delete.

19 Press the DEL key.

Page 22: Conceptual Data Model Tutorial

Use the tools in the tool palette

14

The Confirm Deletion message box appears, asking you how you want todelete the selection.

Deleting objectsIf you select Delete object, you erase the graphic symbol and deletethe object from the model. If you select Delete Symbols Only, youerase the graphic symbol, but keep the object in the model.

Confirm deletion box is not visibleIf that box does not appear when you want to delete an object, selectTools→General Options from the menu bar then select the ConfirmObject Deletion check box.

20 Click OK.

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 OK when the deletion message appears.

The remaining entity and text are erased.

Page 23: Conceptual Data Model Tutorial

Chapter 3 How to Begin the CDM Tutorial

15

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 theright mouse button

♦ Select all objects of a particular type

♦ Move graphic objects

♦ Create text to document the CDM

♦ Delete objects

What you learned

Page 24: Conceptual Data Model Tutorial

Open the tutorial CDM

16

Open the tutorial CDMTo perform the rest of the tutorial, you must open the tutorial file. Thetutorial file is installed in the directory PowerDesigner 9\Examples\Tutorial.

1 Select File→Open.

A file selection window appears.

2 Select or browse to the TUTORIAL directory.Select the CDMBEFOR.CDM file.Click OK.

PowerDesigner displays the model in the CDM diagram.

3 Press the F8 key to display the whole model in the CDM diagram, ifnecessary. The model may not look exactly like the one shown below:

Adjust display scaleYou can choose the display scale most comfortable for your eyes, byselecting View→Scale and choosing a scale.

Page 25: Conceptual Data Model Tutorial

Chapter 3 How to Begin the CDM Tutorial

17

Define CDM preferences and optionsBefore you begin working, you will define certain display preferences andmodel options for the CDM.

For a complete description of all CDM preferences and options, see theappropriate PowerDesigner user's guide.

1 Select Tools→Display Preferences from the menu bar.

The Display Preferences dialog box opens to the General page.

2 Select the Entity node, under the Object View node, in the Category treeview.

The Entity page appears.

3 Select or clear the following options:

Groupbox Selected item

Entity Attributes

All attributes

Entity attributes Identifier indicators

For each entity symbol, these preferences display all entity attributes,and identify all attributes that are defined in entity identifiers.

4 Click the Set As Default button.

Set As DefaultWhen you click the Set As Default button, you apply the displaypreferences to the current conceptual diagram in the model, and toany diagram of the same type you will create afterwards.

5 Select the Relationship node, under the Object View node, in the Categorytree view.

The Relationship page appears.

6 Select or clear the following options:

Groupbox Selected item

Relationship Role

Page 26: Conceptual Data Model Tutorial

Define CDM preferences and options

18

For each entity symbol, these preference displays the role of eachrelationship in the diagram.

7 Click the Set As Default button.

8 Click the Format node.

The Format page appears.

9 Click the Modify button at the bottom right of the page.

The Symbol Format page appears.

10 Verify that the Auto-adjust to Text check box is selected (this is thedefault selection).

11 Click OK in each of the dialog boxes.

You return to the PowerDesigner main window.

12 Select Tools→Model Options from the menu bar.

The Model Options dialog box appears. The Model node is selected bydefault in the Category tree view.

13 Select or clear the following options:

Groupbox Selected item

Notation Mixed

Data Item Unique code

Allow reuse

Page 27: Conceptual Data Model Tutorial

Chapter 3 How to Begin the CDM Tutorial

19

Groupbox Selected item

Relationship Unique code

Domain/Attribute Data type

Default data type <UNDEF>

Domain divergenceSelecting the Data type check box, without selecting the Enforcecheck box, allows divergence between a domain definition and thedata items attached to it. However, when there is divergence,PowerDesigner will propose to update the data type in all data itemsusing the domain

14 Select the Naming Convention node.

The Naming Convention page appears.

15 Select the Name radio button in the Display groupbox.

Object names are displayed in the object symbols in the CDM diagram.

16 Click OK.

Page 28: Conceptual Data Model Tutorial

Define CDM properties

20

Define CDM properties1 Select Model→Model Properties from the menu bar.

The Model property sheet appears.

2 Type Tutorial in the Name box.

This is the name of the CDM. The code Tutorial appears automatically inthe Code box:

3 Click Apply.

Name to code mirroringWhen you type a name in an object property sheet, you may have totype a code also because the name to code mirroring mode may notbe selected in the General Options dialog box. To do so, selectTools→General Options→Dialog.

4 Click OK.

Page 29: Conceptual Data Model Tutorial

Chapter 3 How to Begin the CDM Tutorial

21

Save the tutorial CDMYou will save the tutorial CDM in another file. This leaves the originaltutorial CDM intact so you can use it again if you want to redo the exercises.

1 Select File→Save As.

The File Save As dialog box appears.

2 Type TUTORIAL.CDM in the File Name box.

This is the name of the file in which you will work and save yourmodifications.

3 Click Save.

This saves your model in the TUTORIAL.CDM file.

Save your workSave your work periodically while doing these exercises by selectingFile→Save.

Page 30: Conceptual Data Model Tutorial

Save the tutorial CDM

22

Page 31: Conceptual Data Model Tutorial

23

C H A P T E R 4

Defining Business Rules, Domains, andData Items

A business rule is a written expression of the way a business operates. Whenyou create a business rule, you refer to the ideas set out in the businessdescription.

There are six types of business rules: facts, definitions, formulas, validations,requirements and constraints:

Type ofbusiness 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 whichincreases according to the amount of sales

Validation The percentage of royalties paid to all authors of a book mustadd up to 100% of the royalties

Requirement The model is designed so that total amount of royalties donot exceed 10% of total sales

Constraint The sales start date should be inferior to the end date of thepublishing process

When you use business rules to document the CDM, they are not translatedinto executable code. Business rules can be implemented as constraints in thePDM.

A data item is an elementary piece of information. For example, this CDMcontains data items for author last name and for book titles.

A domain defines a standard data structure that you can apply to multipledata items. When you modify a domain you globally update the data itemsassociated with the domain. This makes it easier to standardize datacharacteristics and modify your model consistently when you need to makechanges.

About businessrules

About data items

About domains

Page 32: Conceptual Data Model Tutorial

Create a new business rule

24

Check parameters specify more precisely what values to allow for a domainor a data item. In a CDM, check parameters define standard parameters, suchas minimum, maximum, or accepted values.

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

How long will it take?About 20 minutes.

About checkparameters

What you will do

Page 33: Conceptual Data Model Tutorial

Chapter 4 Defining Business Rules, Domains, and Data Items

25

Create a new business ruleYou will create a business rule that states how to attribute royalties toauthors.

1 Select Model→Business Rules.

The List of Business Rules dialog box displays existing business rules.

2 Click the Add a Row tool.

An arrow appears at the start of the first blank line and a default nameand code are entered.

A default name and code appearWhen you create a new list item, a default name and codeautomatically appear for the new item. If the default name is selectedit disappears when you start to type the item name. If the default nameis not selected, select it and either type the new item name, or deletethe default name before typing the new item name.

3 Type Author Percent in the Name column.

This is the name of the business rule. The equivalent code is entered inthe Code column automatically.

Page 34: Conceptual Data Model Tutorial

Create a new business rule

26

4 Select Validation from the dropdown list in the Rule Type column.

Rule type column is not visibleIf the rule type column is not visible, click the Customize Columnsand Filter tool from the toolbar. A selection box appears listing all thecolumns displayed in the list. Select the appropriate checkbox for thecolumn that is not displayed, then click OK. The column appears inthe list.

This defines the business rule as a validation rule.

5 Click Apply.

The creation of the new business rule is committed.

Names sorted alphabeticallyWhen you click Apply or OK, all names in the list are sortedalphabetically. The order of appearance of the names in the list willtherefore change with either of these operations.

6 Click the new business rule line.

An arrow appears at the beginning of the line.

7 Click the Properties tool.

orDouble click the arrow at the beginning of the line.

Page 35: Conceptual Data Model Tutorial

Chapter 4 Defining Business Rules, Domains, and Data Items

27

The property sheet for the new business rule appears.

8 Click the Notes tab.

The Notes page appears opened to the Description box.

9 In the Description box, type The percentage of royalties paid to allauthors of a book adds up to 100% of the total royalties.

This text explains the meaning of the business rule.

Page 36: Conceptual Data Model Tutorial

Create a new business rule

28

10 Click OK in each of the dialog boxes.

This validates the creation of the business rule.

In this section, you learned how to:

♦ Use the statement of the business problem to create the description of thebusiness rule

♦ Create a business rule

♦ Identify a business rule by a name, a code, and a type

What you learned

Page 37: Conceptual Data Model Tutorial

Chapter 4 Defining Business Rules, Domains, and Data Items

29

Create a new domainYou will create two domains that will define a standardized data type formoney amounts and for percentages in the model.

1 Select Model→Domains from the menu bar.

The List of Domains dialog box displays the existing domains.

2 Click the Add a Row tool.

An arrow appears at the start of the first blank line and a default nameand code are entered.

3 Type Amount in the Name column.

This is the name of the domain. The equivalent code is entered in theCode column automatically.

4 Click Apply.

The creation of the new domain is committed.

Names sorted alphabeticallyWhen you click Apply or OK, all names in the list are sortedalphabetically. The order of appearance of the names in the list willtherefore change with either of these operations.

5 Click the new domain line.

Page 38: Conceptual Data Model Tutorial

Create a new domain

30

An arrow appears at the beginning of the line.

6 Click the Properties tool.

orDouble 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 Data Type dropdown listbox.

The Standard Data Types dialog box appears. You use this dialog box tospecify the form of the data affected by the domain.

8 Click the Money radio button.

The domain now has a money data type. A money data type storesnumbers with a fixed decimal point. Later, when you apply this domainto the data items that are used to store amounts of money, you will seethat they inherit this data type.

Data type codesAll data types have a one, two, or three letter code. When you selectthe Money radio button, MN appears in the Code box. This is thecode for a money data type.

9 Type 8 in the Length box.

Page 39: Conceptual Data Model Tutorial

Chapter 4 Defining Business Rules, Domains, and Data Items

31

The maximum number of figures in a data item attached to this domainwill be 8.

10 Type 2 in the Precision box.

A data item attached to this domain can take two positions after thedecimal point.

11 Click OK.

Page 40: Conceptual Data Model Tutorial

Create a new domain

32

You return to the domain property sheet. The value MN8,2 appears in theData Type dropdown listbox. MN is the code for a money data type.Eight indicates that an amount of money can have 8 figures. Twoindicates that the amount has a decimal precision of 2.

12 Click OK.

You return to the List of Domains.

13 Click the Add a Row tool.

An arrow appears at the start of the first blank line and a default nameand code are entered.

14 Type Percent in the Name column.

This is the name of the domain. The equivalent code is entered in theCode column automatically.

15 Click Apply.

The creation of the new domain is committed.

16 Click the new domain line.

An arrow appears at the beginning of the line.

Page 41: Conceptual Data Model Tutorial

Chapter 4 Defining Business Rules, Domains, and Data Items

33

17 Click the Properties tool.

orDouble 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 Data Type dropdown listbox.

The Standard Data Types dialog box appears. You use this dialog box tospecify the form of the data affected by the domain.

19 Click the Short integer radio button.

The code SI indicates that the Percent domain has a short integer datatype. The Length and Precision boxes are not available because you donot need to specify a length and precision for the short integer data type.

20 Click OK in each of the dialog boxes.

Default data typeWhen you do not define a data type for a domain, it receives thedefault data type. You can designate a default data type by selectingTools→Model Options.

In this section, you learned how to:

♦ Look for data items storing similar types of data, and create a domain tostandardize the data characteristics of these data items

♦ Identify a domain by a name and a code

♦ Specify the data type, length, and precision of the domain

What you learned

Page 42: Conceptual Data Model Tutorial

Create a new data item

34

Create a new data itemTo manage books with multiple authors, you will create data items for thepercentage of royalties for each author and for the order of an author's namein the list of authors.

1 Select Model→Data Items from the menu bar.

The List of Data Items displays existing data items.

2 Click the Add a Row tool.

An arrow appears at the start of the first blank line and a default nameand code are entered.

3 Type TitleAuthor Percent in the Name column.

This is the name of the data item. The equivalent code is entered in theCode column automatically.

4 Click Apply.

The creation of the new data item is committed.

Names sorted alphabeticallyWhen you click Apply or OK, all names in the list are sortedalphabetically. The order of appearance of the names in the list willtherefore change with either of these operations.

Page 43: Conceptual Data Model Tutorial

Chapter 4 Defining Business Rules, Domains, and Data Items

35

5 Click the new data item line.

An arrow appears at the beginning of the line.

6 Click the Properties tool.

orDouble click the arrow at the beginning of the line.

The property sheet for the new data item appears.

7 Select Percent from the Domain dropdown listbox in the bottom part ofthe dialog box.

This applies the data type of the Percent domain to the new data item. Inthe Data Type column, SI indicates a short integer.

8 Click OK.

You return to the List of Data Items.

9 Click the Add a Row tool.

An arrow appears at the start of the first blank line and a default nameand code are entered.

10 Type TitleAuthor Order in the Name column.

Page 44: Conceptual Data Model Tutorial

Create a new data item

36

This is the name of the data item. The equivalent code is entered in theCode column automatically.

11 Click Apply.

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 Properties tool.

orDouble click the arrow at the beginning of the line.

The property sheet for the new data item appears.

14 Click the Question Mark button next to the Data Type dropdown listbox.

The Standard Data Types dialog box appears.

15 Click the Integer radio button.

Page 45: Conceptual Data Model Tutorial

Chapter 4 Defining Business Rules, Domains, and Data Items

37

This gives the TitleAuthor Order data item an Integer data type.

16 Click OK in each of the dialog boxes.

You return to the model window.

In this section, you learned how to:

♦ Refer to the statement of the business problem to decide what additionalinformation you need to be able to manage

♦ Create data items to reflect these needs

♦ Identify a data item by a name, a code, and a data type

♦ Select a data type by attaching a data item to a domain

♦ Select a data type for a specific data item

What you learned

Page 46: Conceptual Data Model Tutorial

Attach a data item to a domain

38

Attach a data item to a domainYou will attach the AMOUNT domain to all data items that store amounts ofmoney and the PERCENT domain to all data items that store percentages.

1 Select Model→Data Items from the menu bar.

The List of Data Items dialog box appears.

2 Click the number of the data item Author Advance.Press CTRL while you click the number of the data item Royalty Amount.Press CTRL while you click the number of the data item Sale Amount.Press CTRL while you click the number of the data item Title Price.

These data items are selected.

3 Scroll to the right until the Domain column appears.

List column is not visibleIf a list column is not visible, click the Customize Columns and Filtertool from the toolbar. A selection box appears listing all the columnsdisplayed in the list. Select the appropriate checkbox for the columnthat is not displayed, then click OK. The column appears in the list.

4 Click in the Domain column for the line Author Advance.

A down arrowhead appears at the end of the line. This indicates that adropdown list is available for the Domain column. The list contains allthe domains available in the model.

Page 47: Conceptual Data Model Tutorial

Chapter 4 Defining Business Rules, Domains, and Data Items

39

5 Click the down arrowhead and select Amount.

Amount automatically appears in the Domain column for each of theother selected data items. When you assign a property to a selected itemin a list, all other selected list items are automatically assigned the sameproperty.

The data items inherit the data type of the domain. MN8,2 appears in theData Type column. This code indicates a money data type with a lengthof 8 and a precision of 2.

Page 48: Conceptual Data Model Tutorial

Attach a data item to a domain

40

The data items Author Advance, Royalty Amount, Sales Amount, andTitle Price which before had different data types, now inherit astandardized data type from the Amount domain.

6 Click the number of the data item Discount Percent and select PERCENTfrom the dropdown listbox in the Domain column.

7 Click OK.

In this section, you learned how to ensure data consistency by attaching dataitems to domains.

It is good practice to attach data items to domains. By doing so, when youmodify a domain you can globally update the characteristics of the attacheddata items.

What you learned

Page 49: Conceptual Data Model Tutorial

41

C H A P T E R 5

Defining Entities

An entity is an object about which you want to store information. Forexample, in the tutorial model the AUTHOR entity groups information likeauthor name and address.

The business problem indicates which entities you need to create. Forexample, to identify and store pictures of authors, you will create aPICTURE entity that contains all information related to pictures.

To respond to another business problem, you need to keep track of thepercentage of royalties received by each author of each title.

One title may be written by many authors, and one author may have manytitles 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 mustbe unique in the Title entity, you will create an associative entity that has aunique occurrence for each title-author combination. You will then be able toattach a percentage to each unique case.

An entity attribute is an elementary piece of information (data item) whichyou attach to an entity. For example, Last Name is an attribute of theAUTHOR entity because it provides information about an author. You willadd a biography attribute to the AUTHOR entity.

An entity identifier is made up of one or more attributes unique to the entity,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 TITLEentity because an ISBN uniquely identifies a title. You will assign a pictureidentification number as the identifier of the PICTURE entity.

You attach a business rule to an entity as a reminder of the conditionsattached to the entity. You will attach the business rule you created in thepreceding lesson to one of the entities.

About entities

Why create anentity

Why create anassociative entity

About entityattributes

About entityidentifiers

Attaching businessrules to entities

Page 50: Conceptual Data Model Tutorial

Create a new entity

42

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

How long will it take?About 15 minutes

What you will do

Page 51: Conceptual Data Model Tutorial

Chapter 5 Defining Entities

43

Create a new entityYou will create an entity that contains information related to pictures, anentity that associates titles to authors, and two entities that differentiate titlecategories: periodicals and non-periodicals.

1 Click the Entity tool in the tool palette.

2 Click an empty space in the diagram.

An entity symbol appears at the click position.

At creation, an entity has a default name including a number, this numberis assigned to the entity in the order of creation.

3 Click the Pointer tool in the tool palette.

4 Double-click the symbol of the entity you just created.

The entity property sheet appears.

5 Type Picture in the Name box.

This is the name of the entity. The equivalent code is entered in the Codecolumn automatically.

Page 52: Conceptual Data Model Tutorial

Create a new entity

44

6 Click OK.

The new entity displays the name Picture.

You created this entity by first creating its symbol, then identifying itfrom a property sheet. You can also create entities from the list ofentities.

7 Select Model→Entities.

The List of Entities dialog box displays existing entities.

8 Click the Add a Row tool.

An arrow appears at the start of the first blank line and a default nameand code are entered.

9 Type Periodical in the Name column.

The code is automatically set equal to the name.

10 Click Apply.

The creation of the new entity is committed.

Names sorted alphabeticallyWhen you click Apply or OK, all names in the list are sortedalphabetically. The order of appearance of the names in the list willtherefore change with either of these operations.

11 Click the Add a Row tool.

An arrow appears at the start of the first blank line and a default nameand code are entered.

12 Type Nonperiodical in the Name column.

13 Click Apply.

The creation of the new entity is committed.

Page 53: Conceptual Data Model Tutorial

Chapter 5 Defining Entities

45

The new entities appear on the list.

14 Click OK.

The new entities appear in the CDM.

Moving entity symbolsWhen you create entities from the list, they will not be arranged asshown above. You do not control the insert position of the symbols.You can move an entity symbol by selecting it and dragging it to anew position.

In this section, you learned how to:

♦ Use the statement of the business problem to decide what entities youneed to create

♦ Create an entity by inserting an entity symbol and assigning a name andcode from its property sheet

♦ Create an entity on the list of entities

What you learned

Page 54: Conceptual Data Model Tutorial

Create an associative entity

46

Create an associative entityYou will replace the existing relationship between AUTHOR and TITLEwith an associative entity. This associative entity will have a uniqueoccurrence for each title-author combination so that you can attach a royaltypercentage to each unique case.

1 Right-click the relationship that links Author and Title entities.

A relationship contextual menu appears.

2 Select Change to Entity→Standard from the contextual menu.

A new entity is inserted between Author and Title entities.

Page 55: Conceptual Data Model Tutorial

Chapter 5 Defining Entities

47

Define entity attributesYou will define entity attributes for the entities TITLEAUTHOR, PICTURE,PERIODICAL, and NONPERIODICAL by attaching one or more data itemsto each entity.

You will create entity attributes by:

♦ Adding data items to an entity

♦ Creating a new entity attribute

Add data items to an entity

You will attach existing data items to the entities TITLEAUTHOR,PICTURE, PERIODICAL, and NONPERIODICAL.

1 Double-click the TitleAuthor entity.

The Entity property sheet appears.

2 Click the Attributes tab.

Page 56: Conceptual Data Model Tutorial

Define entity attributes

48

The Attributes page appears. It lists the attributes associated with theentity. The list is empty because the entity does not have any associatedattributes.

Click the Add Data Item tool.

A selection box appears. It lists all the data items available in the model.

3 Click the Code column heading.

This sorts the list of code items alphabetically.

Page 57: Conceptual Data Model Tutorial

Chapter 5 Defining Entities

49

4 Select the TitleAuthor Order checkbox.Select the TitleAuthor Percent checkbox

5 Click OK.

The data items appear in the list of attributes for the TitleAuthor entity.

6 Click OK.

Page 58: Conceptual Data Model Tutorial

Define entity attributes

50

In the CDM diagram, the TITLEAUTHOR entity displays its attributes.

7 Repeat steps 1-6 for entities PICTURE (Picture and Picture ID dataitems), PERIODICAL (Periodical Format and Periodical Pub Frequencydata items), and NONPERIODICAL (Book Collection data item).

The CDM displays these entities with their attributes.

Create a new entity attribute

You will create a new Biography attribute for the text of the author'sbiography.

1 Double-click the AUTHOR entity symbol.

The Entity property sheet appears.

2 Click the Attributes tab.

The Attributes page appears. It lists the attributes belonging to theAuthor entity.

3 Select the Author Advance attribute.

4 Click the Insert a Row tool.

Page 59: Conceptual Data Model Tutorial

Chapter 5 Defining Entities

51

A blank line is inserted above the Author Advance line. A default nameis entered.

5 Type Author Biography in the Name column.

This is the name of the attribute. The equivalent code appears in theCode column automatically.

6 Scroll to the right and click the Domain column.Select LONG_NOTES from the Domain dropdown list.

Page 60: Conceptual Data Model Tutorial

Define entity attributes

52

The text data type (TXT) appears in the Data Type column.

7 Click OK.

The Author entity displays its new attribute.

In this section, you learned how to:

♦ Add existing data items to an entity to create entity attributes

♦ Create a new entity attribute

♦ Identify an entity attribute by a name, a code, and a data type

What you learned

Page 61: Conceptual Data Model Tutorial

Chapter 5 Defining Entities

53

Designate an identifierAn identifier is an entity attribute that uniquely identifies each occurrence ofthe entity.

You will designate Picture ID as the identifier of the PICTURE entity.

1 Double-click the PICTURE entity symbol.

The Entity property sheet appears.

2 Click the Attributes tab.

The Attributes page appears.

3 Click the Picture ID attribute.

An arrow appears at the beginning of the line.

4 Click the Properties tool.

orDouble click the arrow at the beginning of the line.

The Picture ID property sheet appears.

Page 62: Conceptual Data Model Tutorial

Designate an identifier

54

5 Select the Primary Identifier checkbox in the bottom part of the dialogbox.

6 Click OK.

You return to the Attributes page.

7 Scroll to the right until the M (mandatory) and P (primary identifier)columns are visible.

List column is not visibleIf a list column is not visible, click the Customize Columns and Filtertool from the toolbar. A selection box appears listing the all thecolumns that be displayed in the list. Select the appropriate checkboxfor the column that is not displayed, then click OK. The columnappears in the list.

Page 63: Conceptual Data Model Tutorial

Chapter 5 Defining Entities

55

In the Picture ID line, checks in the P column and the M column indicatethat this attribute is a primary identifier and a mandatory attribute,respectively.

8 Scroll back to the Name column.

9 Click the Picture attribute.

An arrow appears at the beginning of the line.

10 Click the Properties tool.

orDouble click the arrow at the beginning of the line.

The Picture property sheet appears.

11 Select the Mandatory 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 theattribute is mandatory. In other words, each occurrence of the Pictureentity must include a picture.

14 Click OK.

Page 64: Conceptual Data Model Tutorial

Designate an identifier

56

The Picture ID attribute is underlined in the PICTURE entity symbol toindicate that it is the identifier.

In this section, you learned how to:

♦ Designate an entity attribute as an identifier

♦ Make an entity attribute mandatory

What you learned

Page 65: Conceptual Data Model Tutorial

Chapter 5 Defining Entities

57

Attach a business rule to an entityYou will attach the Author Percent business rule to the TITLEAUTHORentity to remind you of the role of this entity in the calculation of authorroyalties.

1 Click the Properties tool in the tool palette.Click the TitleAuthor entity symbol.

The Entity property sheet appears.

2 Click the Rules tab.

The Rules page appears. It lists the business rules associated with theentity. The list is empty.

3 Click the Add Rules tool.

A selection box appears. This lists all the available business rules.

4 Select the Author Percent checkbox.

5 Click OK.

Page 66: Conceptual Data Model Tutorial

Attach a business rule to an entity

58

You return to the Rules page. Author Percent appears in the list.

6 Click OK.

The business rule is attached to the entity. You return to the modelwindow.

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 abusiness problem

What you learned

Page 67: Conceptual Data Model Tutorial

59

C H A P T E R 6

Defining Relationships

A relationship is a named association between entities. It expresses the factthat two entities are somehow related. For example, in the tutorial model, arelationship links the entities PUBLISHER and TITLE because publisherspublish books. An entity can have a relationship with itself, called a reflexiverelationship.

Cardinality indicates the maximum number of instances (one or many) ofone entity in relation to another. To determine the cardinality of arelationship, ask the following question about each entity in the relationship,"Can more than one occurrence of this entity exist for one occurrence of theother entity?"

For example, in a relationship of author-to-picture, the cardinality can be setto many because one author can be shown in several pictures. In thedirection picture-to-author, the cardinality can be set to one because a picturecan only show one author. This type of relationship is called a one-to-manyrelationship. The steps to establishing these relationships are in the Create arelationship section of this chapter.

You can define a relationship as mandatory from the point of view of one orboth of its entities. To determine if a relationship is mandatory, ask thefollowing question about each entity in the relationship, "Does an occurrenceof this entity require an occurrence of the other entity?"

For example, the relationship for DISCOUNT to STORE is mandatorybecause all discounts must be associated with a specific store. On the otherhand, the relationship from AUTHOR to PICTURE will be optional becausean author may not have any pictures on file.

In a dependent relationship one entity depends on another to uniquelyidentify it. For example, there are dependent relationships fromTITLEAUTHOR to TITLE and to AUTHOR because a unique occurrence ofTITLEAUTHOR is formed by the combination of one author and one title.

About relationships

About cardinality

About mandatoryrelationships

About dependentrelationships

Page 68: Conceptual Data Model Tutorial

Create a relationship

60

In this chapter you will:

♦ Create a one-to-many relationship

♦ Define roles in an optional relationship

How long will it take?About 10 minutes.

What you will do

Page 69: Conceptual Data Model Tutorial

Chapter 6 Defining Relationships

61

Create a relationshipYou will create a relationship between AUTHOR and PICTURE entities.

1 Click the Pointer tool in the tool palette.

2 Drag the Picture entity symbol below the AUTHOR entity symbol.

3 Click the Relationship tool in the tool palette.

4 Click inside the AUTHOR entity and while continuing to hold down themouse button, drag the cursor to the PICTURE entity. Release the mousebutton inside the PICTURE entity.

This creates a relationship between the two entities.

The contact points of the relationship indicate that the cardinality of therelationship from AUTHOR to PICTURE is one-to-many, as follows:

♦ A single contact point on AUTHOR indicates that there is only oneauthor for each picture

Page 70: Conceptual Data Model Tutorial

Create a relationship

62

♦ Three contact points (a crow's foot) on PICTURE indicates that thesame author can have more than one picture

The circles before both termination points indicate that both sides of therelationship are optional.

Relationship propertiesRelationships that you create using the relationship tool are one-to-many and optional. You can change these and other properties fromthe relationship property sheet.

In this section, you learned how to:

♦ Translate the links between objects in the information system intorelationships between entities

♦ Ask appropriate questions to help you decide the cardinality of arelationship

What you learned

Page 71: Conceptual Data Model Tutorial

Chapter 6 Defining Relationships

63

Define roles in an optional relationshipYou will define an optional relationship between AUTHOR to PICTURE. Anauthor does not have to have a picture. A picture does not have to be of anauthor.

1 Click the Pointer tool in the tool palette.

2 Double-click the relationship line between AUTHOR and PICTURE.

The relationship property sheet appears:

3 Type Author Picture in the Name box.

This is the name of the relationship. The code is automatically set equalto the name.

4 Click the Detail tab.

Page 72: Conceptual Data Model Tutorial

Define roles in an optional relationship

64

The Detail page appears.

5 Type is shown in in the Role box in the "Author" to "Picture" groupbox.

This label indicates that an author is shown in a picture.

6 Type shows in the Role box in the "Picture" to "Author" groupbox.

Page 73: Conceptual Data Model Tutorial

Chapter 6 Defining Relationships

65

This label indicates that a picture shows an author.

7 Click OK.

The relationship appears in the model.

Page 74: Conceptual Data Model Tutorial

Define roles in an optional relationship

66

Display relationship rolesYou can display roles by selecting Tools→Display Preferences andselecting the Role checkbox in the Relationship category.

In this chapter you learned how to:

♦ Create a one-to-many relationship

♦ Define roles in an optional relationship

What you learned

Page 75: Conceptual Data Model Tutorial

67

C H A P T E R 7

Using Packages and Shortcuts

A package is a defined section of a model. A package can contain the sametypes of objects that are available in a model. Using packages can help youmanage large models. For example, portions of a model representingdifferent tasks and subject areas, can be divided up into packages which canbe used by different development teams working on the same project.

You can create new objects in a package or use objects that exist in theglobal model. When you use existing objects, you create a shortcut in thepackage which references the actual object in the global model. A shortcut isa symbol that represents and references an object in another model orpackage. The referenced object is called the target object.

You can access the properties of a target object from its shortcut. This allowsyou to modify the target object in the same way that you would in the globalmodel.

For more information on packages and shortcuts, see chaptersManaging Models and Managing Shortcuts in the General Features Guide.

You will create a package containing shortcuts to the entities TITLE,PERIODICAL, and NONPERIODICAL.

In this chapter you will:

♦ Create a package

♦ Add objects to the package

How long will it take?About 5 minutes.

What you will do

Page 76: Conceptual Data Model Tutorial

Create a package

68

Create a packageYou will start by creating a package.

1 Click the Package symbol in the Palette.

2 Click an empty space in the diagram.

The Package symbol appears in the diagram.

3 Right-click the mouse button to release the Package tool.

4 Double-click the new package symbol.

The package property sheet appears. A default name and code areentered.

A default name and code appearWhen you create a new object, a default name and code areautomatically entered in the property sheet . If the default name isselected it disappears when you start to type the object name. If thedefault name is not selected, select it and either type the new objectname, or delete the default name before typing the new object name.

Page 77: Conceptual Data Model Tutorial

Chapter 7 Using Packages and Shortcuts

69

5 Type Title Categories in the Name box.

6 Click OK.

You return to the diagram. The new name for the package appears in thesymbol.

Page 78: Conceptual Data Model Tutorial

Open a diagram for the package

70

Open a diagram for the packageAt creation a package is simply a named object in the model. To be usefulyou need to open a diagram in the package. In the diagram you can create anduse existing objects in the same way that they are used in the global diagram.

You will open a new diagram for the package and arrange the two diagramwindows horizontally in the main window.

1 Right-click the Package symbol.

A contextual menu appears.

2 Select Open Diagram from the contextual menu.

A new diagram appears in the Main window.

3 Select Window→Tile Horizontally from the menu bar.

The diagram for the Tutorial diagram (global model diagram) and thenew empty package diagram are arranged horizontally. Everything that iscreated or added to the Tutorial Package diagram is contained within thepackage represented by the package symbol in the Tutorial Diagram.

Page 79: Conceptual Data Model Tutorial

Chapter 7 Using Packages and Shortcuts

71

Using the object browserAll the objects that are contained in the current workspace arerepresented in the Browser tree view. For this tutorial you areworking with the graphical tools and the diagram windows. However,you can also use the Browser to create, delete, and manipulate modelobjects. For more information on using the Browser, see chapterUsing the Browser in the General Features guide.

In this section, you learned how to:

♦ Create a package starting with one of the objects in the global model

♦ Identify a package by a name and a code

♦ Open a new diagram for the package

♦ Arrange the global model diagram and the package diagram windowshorizontally to make it easier to work with the two diagrams

What you learned

Page 80: Conceptual Data Model Tutorial

Add objects to the package

72

Add objects to the packageYou will add shortcuts for the TITLE, PERIODICAL andNONPERIODICAL entities to the package.

1 Click in the Tutorial diagram (the global model diagram).

This makes the Tutorial diagram active.

2 Use the scroll bars to position the Tutorial diagram so that the TITLE,PERIODICAL and NONPERIODICAL entities are visible.

3 Click the TITLE, PERIODICAL and NONPERIODICAL entities whileholding down the SHIFT key.

Handles appear around the three entities.

4 Select Edit→Copy from the menu bar.

5 Click in the Title Categories diagram.

This makes the package diagram the active diagram.

6 Select Edit→Paste as Shortcut from the menu bar.

Page 81: Conceptual Data Model Tutorial

Chapter 7 Using Packages and Shortcuts

73

The TITLE, PERIODICAL and NONPERIODICAL shortcut symbolsappear in the Title Categories diagram.

7 Arrange the shortcut symbols. The arrow at the bottom left cornerindicates that the symbol is a shortcut.

In this section, you learned how to:

♦ Select the objects you want to include in a package

♦ Add the objects to the package

What you learned

Page 82: Conceptual Data Model Tutorial

Accessing a target object from a shortcut

74

Accessing a target object from a shortcutYou can access the property sheet of a target object from its shortcut. Thisallows you to modify the target object from within a package.

1 Double-click the shortcut symbol for the TITLE table.

The shortcut property sheet appears.

2 Click the Property button next to the Name box.

The property sheet for the TITLE table appears.

3 Click Cancel.

You return to the shortcut property sheet.

4 Click Close.

You return to the package diagram.

Select Window→CDM TUTORIAL DIAGRAM 1 to return to the Tutorialdiagram.orMinimize the package diagram windowSelect the tutorial diagram window to make it the active window.Maximize the tutorial diagram window.

Page 83: Conceptual Data Model Tutorial

75

C H A P T E R 8

Defining Inheritance

Inheritance allows you to define an entity as a special case of a more generalentity. For example, you will define periodicals and non-periodicals asspecial cases of titles.

The general entity is known as the parent (or supertype) entity, and containsall of the common characteristics. In this tutorial, you will use TITLE as theparent entity.

The special case entity is known as the child (or subtype) entity, and containsall of the particular characteristics. In this tutorial, you will create two childentities, PERIODICAL and NONPERIODICAL, because they are specialcases of titles with specific attributes.

You can make an inheritance mutually exclusive. When an inheritance ismutually exclusive it means that there cannot be an occurrence of both childentities at the same time.

For example, a title can be a periodical or a non-periodical. Because it cannotbe both, it is a mutually exclusive inheritance.

In this chapter you will:

♦ Create an inheritance link

♦ Define inheritance properties

How long will it take?About 10 minutes.

About parententities

About child entities

Making childrenmutually exclusive

What you will do

Page 84: Conceptual Data Model Tutorial

Create an inheritance link

76

Create an inheritance linkYou create an inheritance link from the child entity to the parent entity. Youwill define an inheritance from the PERIODICAL and NONPERIODICALentities to the TITLE entity.

1 Select the Inheritance tool in the tool palette.

2 Click inside the NONPERIODICAL entity and while continuing to holddown the mouse button, drag the cursor to the TITLE entity. Release themouse button inside the TITLE entity.

An inheritance link appears between these entities. The link has asemicircle in the middle, and an arrow that points to TITLE, which is theparent entity. NONPERIODICAL is the child entity. The child entityinherits from its parent.

3 Click the semicircle and while continuing to hold down the mousebutton, drag the cursor to the PERIODICAL entity. Release the mousebutton inside the PERIODICAL entity.

The inheritance symbol changes accordingly.

Page 85: Conceptual Data Model Tutorial

Chapter 8 Defining Inheritance

77

Position inheritance symbolTo arrange the position of the inheritance symbol, select thesemicircle then select Symbol→Disposition→Arrange Symbols. Theinheritance symbol moves to the center of gravity of the symbols itconnects.

In this section, you learned how to:

♦ Identify entities which are special cases of other entities

♦ Create an inheritance link between entities

What you learned

Page 86: Conceptual Data Model Tutorial

Define inheritance properties

78

Define inheritance propertiesYou will assign a name to the inheritance, make it mutually exclusive, anddefine its generation mode.

1 Click the Pointer tool in the tool palette.

2 Double-click the semicircle in the middle of the inheritance link.

The Inheritance property sheet appears.

3 Type Title inheritance in the Name box.

This is the name of the inheritance.

4 Select the Mutually Exclusive Children checkbox.

This indicates that the inheritance is mutually exclusive because a title iseither a periodical or a non-periodical, never both.

5 Click the Generation tab.

The Generation page appears.

6 Make sure the Generate Children checkbox is deselected in theGeneration Mode groupbox.

The choices you make in the Generation Mode groupbox indicate howthe inheritance will be generated in the Physical Data Model (PDM).

Page 87: Conceptual Data Model Tutorial

Chapter 8 Defining Inheritance

79

Selecting only Generate Parent means only one table will be generatedfor all titles. In this case, you will need a specifying attribute todifferentiate occurrences of each child.

7 Type Periodical in the Name column in the Specifying Attributesgroupbox.

Periodical is the name of the specifying attribute. This specifyingattribute will generate a column named Periodical in the TITLE tablethat will result from generation. This column will indicate whether a titleis a periodical or not.

8 Click in the Data Type column.

A dropdown list arrow appears.

9 Click the dropdown list arrow.

A dropdown listbox appears.

Page 88: Conceptual Data Model Tutorial

Define inheritance properties

80

10 Select BL from the dropdown listbox.

You define a Boolean (BL) data type for the specifying attribute becausethere are only two possible choices: periodical or not.

11 Scroll to the right until the M checkbox appears.

This is the Mandatory checkbox. When selected it indicates that whenthe column Periodical is generated it can not contain NULL values.

12 Select the M checkbox.

13 Click OK.

A cross appears in the semicircle to indicate that the inheritance ismutually exclusive.

Page 89: Conceptual Data Model Tutorial

Chapter 8 Defining Inheritance

81

In this section, you learned how to:

♦ Identify an inheritance by a name

♦ Express the fact that only one child entity can exist at a time by makingthe inheritance mutually exclusive

♦ Select a generation mode to indicate what tables to generate for theinheritance

♦ Define a specifying attribute to identify subtypes in the same table

What you learned

Page 90: Conceptual Data Model Tutorial

Define inheritance properties

82

Page 91: Conceptual Data Model Tutorial

83

C H A P T E R 9

Organizing the Display

When you finish creating the CDM, you can organize the model using thegraphic display options.

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

How long will it take?About 15 minutes.

What you will do

Page 92: Conceptual Data Model Tutorial

Add a title box

84

Add a title boxYou will add a title box to the model. The title box contains the essentialinformation about the model.

1 Click the Title tool from the Palette.

2 Click an empty space in the diagram.

A title box appears in the diagram.

3 Drag the title box to the top of the model.

4 Right-click the title box.

5 Select Shadow from the contextual menu.

A shadow appears behind the title box. You can apply shadow to anysymbol in the model.

In this section, you learned how to:

♦ Display the model properties in a title box

♦ Apply shadow to a title box

What you learned

Page 93: Conceptual Data Model Tutorial

Chapter 9 Organizing the Display

85

Change the color of the title box1 Right-click the title box.

2 Select Format from the contextual menu.

The Symbol Format dialog box appears.

3 Click the Fill tab.

The Fill page appears.

4 Select a color in the palette.

5 Click OK.

The title box background changes to the selected color.

For information on setting default colors for symbols in the diagram,see the General Features Guide.

Page 94: Conceptual Data Model Tutorial

Change the color of the window

86

Change the color of the windowBy changing the window color, you can change the background color of themodel.

1 Select Tools→Display Preferences.

The Display Preferences dialog box opens to the General page.

2 Click the down arrowhead at the end of the Window Color dropdownlistbox.

A dropdown color palette appears.

3 Select a color from the palette.

4 Click OK.

The model background changes to the selected color.

Page 95: Conceptual Data Model Tutorial

Chapter 9 Organizing the Display

87

Arrange the symbolsYou will align the entity symbols on the left of the model.

1 Using the Pointer tool, draw a rectangle encompassing theTITLEAUTHOR, AUTHOR and PICTURE entity symbols.

Selecting several symbols at onceYou can also select more than one symbol at a time by pressing theSHIFT key while you click each symbol in turn.

2 Select Symbol→Align→Center on Vertical Axis from the menu bar.

This aligns the selected symbols along a central vertical axis.

3 Use the Align menu to align the other symbols.

Page 96: Conceptual Data Model Tutorial

Arrange the symbols

88

You can align your model as follows:

Page 97: Conceptual Data Model Tutorial

Chapter 9 Organizing the Display

89

Center the model on the page1 Select View→Page View→Current Page.

This displays the entire current page in the work area. Your model maybe spread over two pages, or may be off-center.

2 Click the Grabber tool in the tool palette.

3 Click the diagram.

This selects the whole model.

4 Drag the model to the center of the page.

Page 98: Conceptual Data Model Tutorial

Print the model

90

Print the modelYou can now print the finished model.

1 Select File→Print.

The Print Graphics dialog box appears. One page is selected for printing.

2 Click OK.

Select pages to printWhen a model is spread over several pages you can select anddeselect pages for printing by clicking them. Selected pages display aturned down corner.

Page 99: Conceptual Data Model Tutorial

91

C H A P T E R 1 0

Generating the PDM from the CDM

In this lesson you will generate a Physical Data Model (PDM) from aConceptual Data Model (CDM).

You generate a PDM for a particular Database Management System(DBMS). Before you generate the PDM, you must select the DBMS referredto as the target database. PowerDesigner translates the data types specified inthe CDM into the physical data types which the target database supports.

The correspondence between conceptual and physical data types is defined ina DBMS definition file. There is a DBMS definition file for each type oftarget database.

You will use a DBMS definition file that is shared with a master DBMS filein .XML format stored in the DBMS library. This file can be used by anynumber of models. Any modifications to the master DBMS definition file areavailable to all models using the DBMS in share mode.

A copy of the master DBMS definition file is saved with the model. Anymodifications made to the DBMS are only available to the current model.

When you generate a PDM, PowerDesigner also translates the followingconceptual objects into the following physical objects:

Conceptual object Physical object

Entity Table

Entity attribute Table column

Primary Identifier Primary key

Relationship Reference

Identifier Alternate key

What happenswhen you generatea PDM

Shared DBMS

Copy DBMSdefinition

PDM translation

Page 100: Conceptual Data Model Tutorial

Generate the PDM

92

In this lesson you will:

♦ Generate the PDM

♦ Save and close the PDM

♦ Save CDM and exit PowerDesigner

How long will it take?About 5 minutes.

What you will do

Page 101: Conceptual Data Model Tutorial

Chapter 10 Generating the PDM from the CDM

93

Generate the PDM1 Select Tools→Generate Physical Data Model.

The PDM Generation Options dialog box appears.

2 Select Sybase AS Anywhere 8 from the DBMS dropdown listbox.

The dialog box proposes TUTORIAL as the default name for the PDMfile. It is the same as the CDM file name but with the extension .PDM.

3 Select the Share radio button.

You indicate to use the DBMS definition file stored in the DBMSlibrary.

4 Click the Detail tab.

The Detail page appears.

5 Select or clear the following options:

Group box Selected Item

Options Check model

Save generation dependencies

Page 102: Conceptual Data Model Tutorial

Generate the PDM

94

The model will be verified by the Check Model before generation. TheSave Generation Dependencies option determines that PowerDesignersaves the object identification tag for each object in the model. Thisoption is mainly useful when merging two PDM generated from the sameCDM.

6 Select the Selection tab.

The Selection page appears. It lists all the objects in the CDM. Bydefault, all object checkboxes are selected.

7 If all the object checkboxes are not selected, click the Select All tool.

8 Click OK.

A Result List window displays warning messages indicating that theCDM reuses certain data items for more than one entity. These warningsare informational and do not prevent PowerDesigner from generating thePDM.

9 Close the Result window when the generation process has finished.

Page 103: Conceptual Data Model Tutorial

Chapter 10 Generating the PDM from the CDM

95

The PDM appears in the model window.

Crowded PDMIf your PDM is difficult to read because tables display too muchinformation, you can reduce the amount of information displayed byselecting Tools→Display Preferences and clearing checkboxes for theappropriate object.

Three inheritance entities resulted in one tableIn the CDM, you defined the inheritance Title Inherit to generate theparent only. In the PDM, the resulting table, Title, includes a column,Periodical, that indicates if a title is a periodical or not. It alsoincludes columns related to periodicals or non periodicals.

In this section, you learned how to:

♦ Define generation parameters according to how you want to generateobjects in the PDM

♦ Generate a PDM from a CDM

What you learned

Page 104: Conceptual Data Model Tutorial

Save and close the PDM

96

Save and close the PDMYou will save the generated PDM.

1 Select File→Save As from the menu bar.

The File Save As dialog box appears.

2 Type GENTUTOR.PDM in the File Name box.

This is the new name for the generated PDM file.

3 Click OK.

This saves your model in the GENTUTOR.PDM file.

4 Select File→Close from the menu bar.

This closes the PDM window and returns you to the CDM window.

Page 105: Conceptual Data Model Tutorial

Chapter 10 Generating the PDM from the CDM

97

Exit PowerDesignerYou will save and close the CDM, then exit PowerDesigner.

1 Select File→Save.

This saves the CDM.

2 Select File →Close.

This closes the model.

3 Select File→Exit.

A confirmation box asks you if you want to save the Workspace.

4 Click the No button.

You exit the PowerDesigner application. You have now completed theCDM tutorial.

Page 106: Conceptual Data Model Tutorial

Exit PowerDesigner

98

Page 107: Conceptual Data Model Tutorial

99

Glossary

In the Merise modeling methodology an association is a connection betweenentities

Written statement specifying what the information system must do or how itmust be structured to support business needs

Data structure that contains an individual data item within a row in a PDM

Entity-relationship diagram that models the information system withoutconsidering the details of physical implementation

Named check that enforces data requirements, default values, or referentialintegrity on an entity or a entity attribute

Elementary piece of information

Set of values for which a data item is valid

Person, place, thing, or concept that has characteristics of interest to theenterprise and about which you want to store information

Elementary piece of information attached to an entity

Column or columns in a PDM whose values depend on and migrate from aprimary key, or an alternate key, in another table

Entity attribute, or a combination of entity attributes, whose values uniquelyidentify each occurrence of the entity

Special relationship that defines an entity as a special case of a more generalentity

Table-reference diagram that models the information system including thedetails of physical implementation

Column or columns whose values uniquely identify a row in a table in PDM

Window that displays the properties of an object

Link between a parent table and a child table in a PDM. A reference can linktables by shared keys or by specified columns

association

business rule

column

Conceptual DataModel (CDM)

constraint

data item

domain

entity

entity attribute

foreign key

Identifier

Inheritance

Physical DataModel (PDM)

primary key

property sheet

reference

Page 108: Conceptual Data Model Tutorial

Glossary

100

Rules governing data consistency, specifically the relationships amongprimary keys and foreign keys of different tables in a PDM

Named connection or association between entities

Collection of rows (records) in a PDM that have associated columns (fields)

referential integrity

relationship

table

Page 109: Conceptual Data Model Tutorial

Index

101

Aadd

data item to entity 47object to package 72title box 84

adjustdisplay 16

alignsymbol 87

arrangesymbol 87

attachbusiness rule to entity 41, 57data item to domain 38

attributecreate 50define 47entity 41

Bbusiness rule 23

attach to entity 41, 57create 25define 23fact 23formula 23sort 26validate 23

Ccardinality 59

one to many 59relationship 59

CDMcheck parameter 24close 97define 1, 17

CDM (continued)display 83install 4open 16option 17preferences 17properties 20save 21, 97

centermodel 89symbol 77

check parameter 24close

CDM 97PDM 96

codedata type 30

colortitle box 85window 86

createbusiness rule 25data item 34domain 29entity 43, 46entity attribute 50inheritance 76package 68relationship 61

Ddata item 23

add to entity 47attach to domain 38create 34define 23diverge 19sort 35

data typecode 30default 33

Page 110: Conceptual Data Model Tutorial

102

DEF file 91default

data type 33define

entity 41inheritance 75, 78relationship 59, 63

deleteobject 14symbol 14

designateidentifier 53

detachsymbol 14

diagrampackage 70

displayadjust 16CDM 83organize 83preferences 17relationship 66

divergedomain 19

domain 23create 29data item 38define 23diverge 19enforce 19

Eenforce

domain 19entity

add 47child 75create 43, 46define 41identifier 41parent 75sort 44

Ggenerate

PDM 93

global model 67graphic

print 90

Iidentifier

designate 53inheritance

child 76create 76define 75, 78mutually exclusive 75parent 76property 78

installCDM 4

Mmodel

center 89print 90

movesymbol 45

Nname

identifier 53relationship 63

new diagramopen 70

Oobject

add to package 72delete 14

openCDM 16

optionCDM 17define 17relationship 63

organizedisplay 83

Page 111: Conceptual Data Model Tutorial

103

Ppackage 67

add object 72create 68open diagram 70

palettetool 10

PDM 1close 96generate 93generate from CDM 91save 96

PowerDesigneropen 8

preferenceCDM 17define 17display 17

printgraphic 90model 90

propertyCDM 20define 20relationship 62

Rrelationship

cardinality 59create 61define 59, 63dependent 59display 66name 63one-to-many 61optional 62, 63property 62

Ssave

CDM 21, 97PDM 96

selecttool 12

sortbusiness rule 26data item 35entity 44

symbolalign 87arrange 87center 77delete 14detach 14move 45

Ttitle box

add 84color 85

toolpalette 10release 12select 12

Wwindow

color 86

Page 112: Conceptual Data Model Tutorial

104