Chapter 3 - Data modeling. After reading this chapter, you should be able to: Understand the purpose of structure models, understand and apply the building blocks for UML class (structure) diagrams, describe multiplicities for a UML class diagram, understand how to implement a relational database from a UML class diagram, describe business rules and the various forms of rules.
Trang 1Chapter 3
Data Modeling
Copyright © 2014 McGrawHill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGrawHill Education.
Trang 2Learning Objectives
• LO#1 Understand the purpose of structure models.
• LO#2 Understand and apply the building blocks for UML
Class (structure) Diagrams.
• LO#3 Describe multiplicities for a UML Class Diagram.
• LO#4 Understand how to implement a relational
database from a UML Class Diagram.
• LO#5 Describe business rules and various forms of
rules.
Trang 3Structure Models
structures inherent in a business process
a relational database to support the
collection, aggregation, and
communication of process information
are implemented
3-3
Trang 4Unified Modeling Language (UML)
models
Object Management Group, a not-for-profit consortium of computer industry members
other types of diagrams, including several
structure diagrams, behavior diagrams,
and interaction diagrams
structure of a database system
3-4
Trang 5UML Class Diagram – Building Blocks
collections of things about which the
organization wants to collect and store
information
between two classes
maximum number of times instances of
one class can be associated with
Trang 6UML Class Diagram - Classes
– organization resources (e.g., trucks, machines, buildings,
cash, investments)
– events (e.g., sales, purchases, cash disbursements, cash
receipts), and conceptual structures (e.g., accounts, product categories, budgets)
Trang 7UML Class Diagram - Associations
two classes
3-7
Trang 8UML Class Diagram - Multiplicities
Each Person owns a minimum of 0 and a maximum of many
Autos Each Auto is owned by a minimum of 1 and a maximum
of 1 Person
number of times instances in one class can be
associated with instances in another class
Example of Association with Multiplicities Options for Multiplicities
Person 1 1 owns 0 * Auto
Multiplicities (Cardinalities)
Indicator Meaning 0 1 Zero or one 1 1 One only 0 * 0 or more 1 * 1 or more
Trang 9the characteristics of instances in a class
(or rows in a table)
data dictionary, would also include data
type, default value (if any), constraints on
the value (such as minimum and
maximum possible values), and other
descriptive information
uniquely define instances of the class,
foreign keys that support the links
between classes shown in the
associations, and other data elements for
each class
that accompanies each class diagram
3-9
Trang 10Primary Keys
that uniquely identifies each instance in a
class or row in a table
organization that assigns it so it will not
change over time
Trang 11Foreign Keys
3-11
tables to be linked together
tables) shown by the associations
class would become a foreign key in the AUTO class to
implement the association
Trang 12Table Listing - Example
Customers [Customer_Number (PK), Customer_Name, Customer_City, Customer_State,
Customer_Zip, Customer_Phone]
Orders [Order_Number (PK), Order_Date, Delivery_Date, Order_Amount, Shipping_Cost,
Customer_Number (FK)]
Order_Items [Order_Number + Product_Number (PK), Quantity_Ordered, Price]
Inventory [Product_Number (PK), Product_Description, Quantity_on_Hand (QOH), Unit_of_Issue,
Current_List_Price, Standard_Cost]
Trang 13Best Practices in Preparing Class Diagrams
organization for class names
there is a clear business purpose for the
relationship
together
then address appearance
situations
3-13
Trang 14Implementing a Database from a Class
Diagram
assign primary keys
many-to-many relationships
following the class diagram
Trang 151 Map Classes to Tables
3-15
Trang 162 Map Class Attributes to Table Fields and
Assign Primary Keys
Trang 173 Map one-to-many associations to foreign
keys
3-17
One-to-many associations are defined by the maximum multiplicity on
each end of the association The rule of thumb is to go toward the * to
post the foreign key So, in the model above, the primary key of
STATE would be a foreign key in AUTO; the primary key of PERSON
would be also be a foreign key in AUTO See Table 1 in Chapter 3 for
a listing of posting rules based on multiplicities
Trang 184 Create New Tables to Implement
Many-to-Many Relationships
Many-to-many associations require the creation of a new, linking table
to implement the association So, in the model above, the association
between DEALERS and AUTO would be implemented with a new
table DEALER-AUTO with a primary key formed as the combination of
primary keys from the two classes.
Trang 195 Implement Relationships Among Tables
3-19
Trang 20Business Rules
business process
however, they influence the structure and
flow of models
set criteria for branching in activity models
standards for Semantics of Business
Vocabulary and Business Rules (SBVR)
since 2008
since they limit the number of options
allowed by business policy
3-20
Trang 21Types of Business Rules
should occur: payment should be made in
U S dollars
should not occur: no payments by check
allowed under what conditions: credit card payments are allowed if the card is
American Express
3-21