Revision of previous lecture
Part # 2
Database Model
Database model defines the logical
design of data.
Database model describes the relation
between different parts of data.
There are three database models:
1. Hierarchical Model
2. Network Model
3. Relational Model
Hierarchical model Part # 2
• Data are organized in an upside down
tree
• Each entity has one parent and many
children
•
Network model Part # 2
• Entities are organized in a graph
• Entities can be accessed through
several paths
• Old and not used
Relational model Part # 2
• Data are organized in two dimensional
tables (relations)
• Tables related to each other
• Relational Database Management System
(RDBMS) are more common model used
Relation (Name, Attributes, Tuples)
Part # 2
• Attributes are the
column heading
• Each column must • Tuple is a
have a unique collection of
heading attribute value
• Number of columns • Total number of
is called the degree rows is called
of the relation Cardinality of
the relation
• Each relation must
have a unique
name
Name
• Relation appears in 2 dimensional table
• That doesn’t mean data stored as table; the
physical storage of data is independent of
the logical organization of data
Data Modeling for
Database Design 1
Part # 2
Data Model
Model: an abstraction of a real-world
object or event
Useful in understanding complexities of
the real-world environment
Data model
A diagram that displays a set of tables
and the relationships between them
Next Slide: “Restaurant” Access data
model using Entity Relationship Diagram
(ERD)
Part # 2
Access Data Model using ERD
9
Part # 2
What is an Entity Relationship
Diagram (ERD)?
ERD is a data modeling technique used
in software engineering to produce a
conceptual data model of an
information system.
So, ERDs illustrate the logical structure
of databases.
10
Part # 2
The Importance of Data Model
Blue print: official documentation
Blue print of house
Employee’s w/o DB knowledge can
understand
a data model diagram vs. a list of tables
Used as an effective Communication Tool
Improve interaction among the managers, the
designers, and the end users
Independence from a particular DBMS
Network DB, Object-oriented DB, etc.
Part # 2
Data Model (con’t)
The data modeling revolves around
discovering and analyzing organizational
and users data requirements.
Requirements based on policies,
meetings, procedures, system
specifications, etc.
Identify what data is important
Identify what data should be maintained
12
Part # 2
ERD
The major activity of this phase is
identifying entities, attributes, and their
relationships to construct model using the
Entity Relationship Diagram.
Entity table
Attribute column
Relationship line
13
Part # 2
How to find entities?
Entity:
"...anything (people, places, objects, events,
etc.) about which we store information (e.g.
supplier, machine tool, employee, utility pole,
airline seat, etc.).”
Tangible: customer, product
Intangible: order, accounting receivable
14
Part # 2
Entity
Instance
Entity instance: a single occurrence of an entity.
6 instances
Entity: student Student Last First
ID Name Name
2144 Arnold Betty
3122 Taylor John
3843 Simmons Lisa
instance
9844 Macy Bill
2837 Leath Heather
2293 Wrench Tim
15
Part # 2
How to find attributes?
Attribute:
Attributes are data objects that either identify
or describe entities (property of an entity).
In other words, it is a descriptor whose values
are associated with individual entities of a
specific entity type.
16
Part # 2
How to find relationships?
Relationship:
Relationships are associations between
entities.
Typically, a relationship is indicated by
connecting two or more entities.
Employees are assigned to projects
Relationships should be classified in terms of
cardinality.
One-to-one, one-to-many, etc.
17
Part # 2
How to find cardinalities?
Cardinality:
The cardinality is the number of occurrences
in one entity which are associated to the
number of occurrences in another.
There are three basic cardinalities (degrees of
relationship).
one-to-one (1:1), one-to-many (1:M), and
many-to-many (M:N)
18
Part # 2
Identifier
“attributes that uniquely identify entity
instances”
Composite identifiers are identifiers that
consist of two or more attributes
Identifiers are represented by underlying
the name of the attribute(s)
Employee (Employee_ID), student (Student_ID)
19
Part # 2
Attributes
Identifiers are represented by
underlying the name of the attribute(s)
20
Part # 2
Basic Cardinality Type
1-to-1 relationship
1-to-M relationship
M-to-N relationship
Part # 2
Cardinality con’t
Data Model Part # 2
Part # 2
Attributes
“Describe detail information about an entity ”
Entity: Employee
Attributes:
Employee-Name
Address (composite)
Phone Extension
Date-Of-Hire
Job-Skill-Code
Salary
24
Part # 2
Classes of attributes
Simple attribute
Composite attribute
Derived attributes
Single-valued attribute
Multi-valued attribute
25
Part # 2
Simple/Composite attribute
A simple attribute cannot be subdivided.
Examples: Age, Gender, and Marital status
A composite attribute can be further
subdivided to yield additional attributes.
Examples:
ADDRESS -- Street, City, State, Zip
PHONE NUMBER -- Area code, Exchange
number
26
Part # 2
Derived attribute
is not physically stored within the database
instead, it is derived by using an algorithm.
Example 1: Late Charge of 2%
MS Access: InvoiceAmt * 0.02
Example 2: AGE can be derived from the date of
birth and the current date.
MS Access: int(Date() – Emp_Dob)/365)
27
Part # 2
Single-valued attribute
can have only a single (atomic) value.
Examples:
A person can have only one social security number.
A manufactured part can have only one serial
number.
A single-valued attribute is not
necessarily a simple attribute.
Part No: CA-08-02-189935
Location: CA, Factory#:08, shift#: 02, part#: 189935
28
Part # 2
Multi-valued attributes
can have many values.
Examples:
A person may have several college
degrees.
A household may have several phones with
different numbers
A car color
29
Part # 2
Procedure of ERD
Relatively simple representations of
complex real-world data structures
Data modeling is iterative process.
“complete” and “100% error free”
model is not possible!
Only “Optimized” model is possible….
30