IS 4420 Database Fundamentals Modeling Data in The Organization Leon Chen
IS 4420 Database Fundamentals Modeling Data in The Organization Leon Chen
Database Fundamentals
Chapter 3:
Modeling Data in the
Organization
Leon Chen
2
Systems Development
Life Cycle
Project Identification
and Selection
Project Initiation
and Planning
Analysis
Physical Design
Implementation
Maintenance
Logical Design
Enterprise modeling
Conceptual data modeling
Logical database design
Physical database design
and definition
Database implementation
Database maintenance
Database
Development Process
3
Overview
What is data modeling
Importance of data modeling
Business rules
Entity-relationship model: entities, relationships,
and attributes
4
Conceptual Data Modeling
Business Rules
-Data names
-Data definitions
Conceptual Data Model
(Entity-Relationship Diagram)
5
Data Modeling is the Most Important
Input for follow-up processes
Data rather than processes are the most
complex
Data tend to be more stable than business
processes
6
Business Rules
Statements that define or constrain some
aspect of the business. For example:
Friday is business casual dress day
Students can only register a course if
prerequisite is successfully completed
Automated through DBMS software
7
Entity-Relationship Model
A logical representation of the data for an organization
or for a business area
3 constructs:
Entity - person, place, object, event, concept (often
corresponds to a row in a table)
Attribute - property or characteristic of an entity (often
corresponds to a field in a table)
Relationship link between entities (corresponds to primary
key-foreign key equivalencies in related tables)
Type vs. instance
Entity type: Instructor
Entity instance: Leon Chen
Entity-Relationship Diagram
A graphical representation of entity-relationship model
Also called E-R diagram or just ERD
STUDENT
Name
Registers
8
Sample E-R Diagram (Figure 3-1)
Supplier_ID
Supplier_Name
Supplier_Address
Attribute
9
Relationship degrees
specify number of
entity types involved
Entity symbols
A special entity that is
also a relationship
Relationship symbols
Relationship
cardinalities specify
how many of each
entity type is allowed
Attribute symbols
10
Entity
Person: EMPLOYEE, STUDENT
Place: WAREHOUSE, COUNTRY
Object: BUILDING, MACHINE
Event: SALE, REGISTRATION
Concept: ACCOUNT, COURSE
EMPLOYEE DEPENDENT
Strong entity
Weak entity
Associative entity
CERTIFICATE
11
What Should an Entity Be?
SHOULD BE:
An object that will have many instances in
the database
An object that will be composed of multiple
attributes
An object that we are trying to model
SHOULD NOT BE:
A user of the database system
An output of the database system (e.g. a
report)
12
Inappropriate entities
System user System output
Appropriate entities
Figure 3-4
13
Attribute
Attribute - property or characteristic of an
entity type
Classifications of attributes:
Required vs. Optional Attributes
Simple vs. Composite Attribute
Single-Valued vs. Multivalued Attribute
Stored vs. Derived Attributes
Identifier Attributes - keys
14
Required vs. Optional Attributes
Example: entity ONLINE_ACCOUNT
Required attributes (Not NULL)
Account_ID
Password
Owner_Name
Optional attributes
Phone_Number
Password_Hint
15
Figure 3-7 A composite attribute
An attribute
broken into
component parts
16
Figure 3-8 Entity with a multivalued attribute (Skill) and
derived attribute (Years_Employed)
Derived
from date employed and current date
Multivalued:
an employee can have
more than one skill
17
Figure 3-19 An attribute that is both multivalued and composite
This is an example of
time-stamping.
More examples?
18
Identifiers (Keys)
Identifier (Key) - An attribute (or
combination of attributes) that uniquely
identifies individual instances of an entity
type
Candidate Key an attribute that could be
a key. Examples (for STUDENT, PERSON)?
Simple Key versus Composite Key
19
Figure 3-9a Simple key attribute
The key is underlined
20
Figure 3-9b Composite key attribute
Flight_Number Date
21
Guidelines for Identifiers
Will not change in value
Will not be null
Substitute new, simple keys for long,
composite keys
? Game_Number
22
Relationship
Relationship Type vs. Relationship
Instance
Degree of a relationship
Cardinality of a relationship
Associative Entity combination of
relationship and entity
23
Figure 3-11a
The relationship type is modeled as the
diamond and lines between entity types
attribute of the relationship
24
Relationship Instance is between
specific entity instances
25
One entity
related to
another of
the same
entity type
Entities of
two different
types related
to each other
Entities of three
different types
related to each
other
Degree of a relationship is the number
of entity types that participate in it
26
Cardinality of a Relationship
One-to-One
Each entity in the relationship will have exactly one
related entity
One-to-Many
An entity on one side of the relationship can have
many related entities, but an entity on the other side
will have a maximum of one related entity
Many-to-Many
Entities on both sides of the relationship can have
many related entities on the other side
27
28
29
Note: a relationship can have attributes of its own
30
Cardinality Constraints
Cardinality Constraints - the number of instances
of one entity that can or must be associated with
each instance of another entity
Minimum Cardinality. Examples?
If zero, then optional
If one or more, then mandatory
Maximum Cardinality. Examples?
The maximum number
31
Cardinalities
Mandatory one
Mandatory many
Optional one
Optional many
11
18
32
Figure 3-16a Basic relationship
Mandatory minimum cardinalities Figure 3-17a
33
Figure 3-17c
Optional cardinalities with unary degree, one-to-one relationship
34
max cardinality
constraint
Maximum Cardinality Constraint
35
Entities can be related to one another in more than one way
36
Attributes can be transformed to relationships
Attributes or Relationship?
37
Attributes should be transformed to relationships
Attributes or Relationship?
38
Associative Entities
Its an entity it has attributes
AND its a relationship it links entities together
When should a relationship with attributes be an
associative entity?
All relationships for the associative entity should be many
The associative entity could have meaning independent of the
other entities
The associative entity should have at least one or more
attributes other than the identifier
The associative entity may participate in other relationships
other than the entities of the associated relationship
Ternary relationships should be converted to associative entities
39
Figure 3-11b An associative entity (CERTIFICATE)
40
Bill of materials structure
41
Figure 3-18 Ternary relationship as an associative entity
42
Strong vs. Weak Entities
Strong entities
exist independently of other types of entities
has its own unique identifier
represented with single-line rectangle
Weak entity
dependent on a strong entitycannot exist on its own
does not have a unique identifier
represented with double-line rectangle
Identifying relationship
links strong entities to weak entities
represented with double line diamond
43
Strong entity
Weak entity
Identifying relationship
44
Figure 3-22a
E-R diagram for Pine
Valley Furniture
45
Microsoft Visio
Notation for Pine
Valley Furniture
Different modeling
software tools may
have different notation
for the same
constructs
46
Relationship degrees
specify number of
entity types involved
Entity symbols
A special entity that is
also a relationship
Relationship symbols
Relationship
cardinalities specify
how many of each
entity type is allowed
Attribute symbols
47
Sample E-R Diagram (Figure 3-1)
Supplier_ID
Supplier_Name
Supplier_Address
Attribute