Chapter8 Structuring System Data Requirements
Chapter8 Structuring System Data Requirements
Chapter8 Structuring System Data Requirements
and Design
2
Learning Objectives (Cont.)
Distinguish between unary, binary, and
ternary relationships and give an example
of each.
Define four basic types of business rules
in a conceptual data model.
Relate data modeling to process and logic
modeling as different views of describing
an information system.
3
Conceptual Data Modeling
Conceptual data modeling: a detailed model
that captures the overall structure of data in an
organization.
Independent of any database management system
(DBMS) or other implementation considerations.
DFDs show how, where, and when data are used or
changed in an information system, but these
techniques do not show the definition, structure, and
relationships within the data. Data modeling develop
these missing, and crucial, pieces of information about
a system.
4
Conceptual Data Modeling
(Cont.)
5
The Conceptual Data Modeling
Process
Develop a data model for the current system.
Develop a new conceptual data model that
includes all requirements of the new system.
In the design stage, the conceptual data model
is translated into a physical design.
Project repository links all design and data
modeling steps performed during SDLC.
6
Deliverables and Outcome
Primary deliverable is an entity-relationship (E-R)
diagram or class diagram (Fig. 9.3).
7
Deliverables and Outcome
As many as 4 E-R or class diagrams are
produced and analyzed:
E-R diagram that covers data needed in the
project’s application.
E-R diagram for the application being replaced.
E-R diagram for the whole database from which
the new application’s data are extracted.
E-R diagram for the whole database from which
data for the application system being replaced is
drawn.
8
Deliverables and Outcome (cont.)
Second deliverable is a set of entries
about data objects to be stored in
repository or project dictionary.
Repository links data, process, and logic models of an
information system.
Data elements included in the DFD must appear in
the data model and vice versa.
Each data store in a process model must relate to
business objects represented in the data model.
9
Gathering Information for
Conceptual Data Modeling
Two perspectives on data modeling:
Top-down approach for a data model is
derived from an intimate understanding of the
business.
Bottom-up approach for a data model is
derived by reviewing specifications and
business documents.
10
Gathering Information for
Conceptual Data Modeling (Cont.)
Requirements Determination Questions for
Data Modeling (Table 9.1):
What are subjects/objects of the business? What
type of people, places, things, events are used or
interact about which data must be maintained?
Data entities and descriptions.
11
Gathering Information for
Conceptual Data Modeling (Cont.)
What characteristics describe each subject/object?
On what basis are objects referenced, selected,
qualified, sorted, and categorized?
Attributes and secondary keys.
12
Gathering Information for
Conceptual Data Modeling (Cont.)
Are all instances of each object the same? Special kinds
of each object that are described or handled differently?
Supertypes, subtypes, and aggregations.
What events occur that imply associations between
objects? What activities/transactions involve handling
data about several objects of the same or a different
type.
Relationships and cardinalities.
Are there special circumstances that affect the way
events are handled? Can the associations between
objects change over time?
Integrity rules, cardinalities, time dimensions.
13
Fig. 9.4 Sample Customer Form
Order no and date
Promised date
Product no,
description
Qty ordered
Unit price
Customer no,
name, address
Introduction to Entity-
Relationship (E-R) Modeling
Entity-Relationship data model (E-R
model): a detailed, logical representation of the
entities, associations and data elements for an
organization or business area.
Entity-relationship diagram (E-R
diagram): a graphical representation of an E-R
model.
15
Introduction to Entity-
Relationship (E-R) Modeling
The E-R model is expressed in terms of:
Data entities in the business environment.
Relationships or associations among those
entities.
Attributes or properties of both the entities
and their relationships.
16
Fig. 9.5 Basic E-R Notation
Introduction to E-R Modeling
(Cont.)
Entity: a person (employee, student, patient), place
(store, warehouse), object (machine, building, car), event
(sale, registration) or concept (account, course, center)
in the user environment about which data is to be
maintained.
Entity type (class): collection of entities that share
common properties or characteristics.
Entity instance: single occurrence of an entity type.
18
Naming and Defining Entity
Types
An entity type name should be:
A singular noun (customer, student);
Descriptive and specific to the organization (customer
or purchase order, not only order);
Concise (registration).
19
Naming and Defining Entity
Types (Cont.)
An entity type definition should:
Include a statement of what the unique
characteristic(s) is (are) for each instance.
Make clear what entity instances are included
and not included in the entity type.
Often include a description of when an
instance of the entity type is created or
deleted.
20
Naming and Defining Entity
Types (Cont.)
For some entity types the definition must
specify:
When an instance might change into an
instance of another entity type (bid to
contract).
What history is to be kept about entity
instances.
21
Attributes
Attribute: a named property or
characteristic of an entity that is of interest
to the organization.
Naming an attribute: i.e.
Vehicle_ID, Student_Name, Home_Address.
Place its name inside the rectangle for the
associated entity in the E-R diagram.
22
Naming and Defining Attributes
An attribute name is a noun and should be
unique (Product_Min_Price).
To make an attribute name unique and for
clarity, each attribute name should follow a
standard format.
Similar attributes of different entity types
should use similar but distinguishing
names.
23
Naming and Defining Attributes
(Cont.)
An attribute definition:
States what the attribute is and possibly why it is
important.
Should make it clear what is included and what
is not included.
Contain any aliases or alternative names.
States the source of values for the attribute to
make the meaning clearer.
24
Naming and Defining Attributes
(Cont.)
An attribute definition should indicate:
If a value for the attribute is required or
optional (to maintain data integrity).
If a value for the attribute may change.
Any relationships that attribute has with
other attributes.
25
Candidate Keys and Identifiers.
Candidate key: an attribute (or combination
of attributes) that uniquely identifies each
instance of an entity type, e.g., Student_ID.
Identifier: a candidate key that has been
selected as the unique, identifying characteristic
for an entity type.
26
Candidate Keys and Identifiers
(Cont.)
Selection rules for an identifier
Choose a candidate key that will not change
its value.
Choose a candidate key that will never be
null.
Avoid using intelligent keys.
Consider substituting single value surrogate
keys for large composite keys.
27
Fig. 9.7 STUDENT entity type with
attributes (Student_ID identifier)
Other Attribute Types
Multivalued attribute: an attribute that may
take on more than one value for each entity
instance, e.g., Employee SKILL.(Fig. 9.8.a)
Repeating group: a set or two or more
multivalued attributes that are logically related,
e.g., Employee Dependents. (Fig. 9.8.b)
29
Fig. 9.8 Multivalued entities and
repeating groups
Other Attribute Types
Required attribute: an attribute that must have
a value for every entity instance.
Optional attribute: an attribute that may not
have a value for every entity instance.
Composite attribute: an attribute that has
meaningful component parts.
Derived attribute: an attribute whose value can
be computed from related attribute values.
31
Fig. 9.9 Attributes
Relationships
Relationship: an association between the instances of
one or more entity types that is of interest to the
organization (relationship EMPLOYEE and COURSE).
Degree: the number of entity types that participate in a
relationship.
33
Many-to-many relationship
Conceptual Data Modeling and
the E-R Model
Unary relationship: a relationship
between the instances of one entity type.
Also called a recursive relationship.
Binary relationship: a relationship
between instances of two entity types.
This is the most common type of relationship
encountered in data modeling.
35
Conceptual Data Modeling and
the E-R Model (Cont.)
Ternary relationship: a simultaneous
relationship among instances of three
entity types.
36
Unary, Binary and Ternary relationships
BOM structure – Many-to-many
relationship
Cardinalities in Relationships
Cardinality: the number of instances of
entity B that can (or must) be associated
with each instance of entity A.
Minimum Cardinality
The minimum number of instances of entity B
that may be associated with each instance of
entity A.
39
Cardinalities in Relationships
(Cont.)
Maximum Cardinality
The maximum number of instances of entity
B that may be associated with each
instance of entity A.
Mandatory vs. Optional Cardinalities
Specifieswhether an instance must exist or
can be absent in the relationship.
40
Basic
relationship
Relationship
with
cardinality
Naming and Defining
Relationships
A relationship name is a verb phrase and
avoid vague names.
A relationship definition:
Explains what action is to be taken and
possibly why it is important.
Gives examples to clarify the action.
42
Naming and Defining
Relationships (Cont.)
A relationship definition should:
Explain any optional participation.
Explain the reason for any explicit maximum
cardinality other than many.
Explain any restrictions on participation in the
relationship.
Explain the extent of history that is kept in the
relationship.
43
Naming and Defining
Relationships (Cont.)
Explain the extent of history that is kept in the
relationship.
Explain whether an entity instance involved in
a relationship instance can transfer
participation to another relationship instance.
44
Associative Entities
Associative Entity: an entity type that
associates the instances of one or more
entity types and contains attributes that
are peculiar to the relationship between
those entity instances.
Sometimes called a gerund.
The data modeler chooses to model the
relationship as an entity type.
45
Fig. 9.15 An associative entity
Summary of Conceptual Data
Modeling with E-R Diagrams
The purpose of E-R diagramming is to
capture the richest possible understanding
of the meaning of the data necessary for
an information system or organization.
47
Representing Supertypes and
Subtypes
Subtype: a subgrouping of the entities in an
entity type, e.g., Student to Graduate and
Undergraduate Student
Is meaningful to the organization.
Shares common attributes or relationships distinct
from other subgroupings.
Supertype: a generic entity type that has a
relationship with one or more subtypes, e.g.,
Patient with Outpatient and Residentpatient.
48
Representing Supertypes and
Subtypes (Cont.)
Business Rules for Supertype/subtype
Relationships:
Total specialization: specifies that each
entity instance of the supertype must be a
member of some subtype in the relationship.
Partial specialization: specifies that an entity
instance of the supertype does not have to
belong to any subtype. may or may not be an
instance of one of the subtypes.
49
Representing Supertypes and
Subtypes (Cont.)
Disjoint rule: specifies that if an entity
instance of the supertype is a member of one
subtype, it cannot simultaneously be a
member of any other subtype.
Overlap rule: specifies that an entity instance
can simultaneously be a member of two (or
more) subtypes.
50
Fig. 9.18 Supertype/subtype
relationships
Fig. 9.19 Supertype/Subtype
hierarchy
A PERSON is (total)
EMPLOYEE, ALUMNUS
or STUDENT or
combination (Overlap)
An EMPLOYEE is
FACULTY or STAFF
(disjoint)
A STUDENT is
GRADUATE or
UNDERGRAD (total and
disjoint)
Business Rules
Business rules: specifications that
preserve the integrity of the logical data
model.
Captured during requirements determination.
Stored in CASE repository as they are
documented.
53
Business Rules (Cont.)
Four basic types of business rules are:
Entity integrity: unique, non-null identifiers.
Referential integrity constraints: rules
governing relationships between entity types.
Domains: constraints on valid values for
attributes.
Triggering operations: other business rules
that protect the validity of attribute values.
54
Domains
Domain: the set of all data types and
values that an attribute can assume.
Several advantages
Verify that the values for an attribute are
valid.
Ensure that various data manipulation
operations are logical.
Help conserve effort in describing attribute
characteristics.
55
Triggering Operations
Trigger: An assertion or rule that
governs the validity of data manipulation
operations such as insert, update and
delete.
Includes the following components:
User rule: statement of the business rule to
be enforced by the trigger.
Event: data manipulation operation that
initiates the operation.
56
Triggering Operations
Entity Name: name of entity being
accessed or modified.
Condition: condition that causes the
operation to be triggered.
Action: action taken when the operation is
triggered.
57
Fig 9.20 Business rules
a.
Domain
definitions
b.
Triggering
operation
Role of Packaged Conceptual Data
Models – Database Patterns
Packaged data models provide generic
models that can be customized for a
particular organization’s business rules.
Universal data models are templates for
one or more core subjects areas such as:
Customers, products, accounts, documents;
and/or core business functions such as:
Purchasing, accounting, receiving, etc.
60
Role of Packaged Conceptual Data
Models – Database Patterns (Cont.)
Industry-specific data models that are
designed to be used by organizations
within specific industries such as:
Health care, banking, insurance, etc.; and
nearly every major industry group.
These models are based on the premise
that data model patterns for organizations
are similar within a particular industry.
61
Benefits of Database Patterns
and Packaged Data Models
Dramatically reduce implementation times and
costs.
Provides a starting point for asking requirements
questions.
Higher-quality models.
Represents “best practice” data modeling techniques
and data model components whose quality often
exceeds that which can be achieved by internal
development teams, given typical organizational
pressures.
62
Electronic Commerce Application:
Conceptual Data Modeling
Five general categories of information
were identified for Pine Valley Furniture’s
WebStore.
Next step was to define each item.
The final step was to identify the
interrelationships between the four
entities.
63
Summary (Cont.)
Distinguish between unary, binary, and
ternary relationships and give an example of
each.
Define four basic types of business rules in a
conceptual data model.
Relate data modeling to process and logic
modeling as different views of describing an
information system.
64