Uploaded by shintaranti007

Ch02

advertisement
Database Systems:
Design, Implementation, and
Management
Tenth Edition
Chapter 2
Data Models
1
In this chapter, you will learn:

About data modeling and why data models are important

About the basic data-modeling building blocks

What business rules are and how they influence database
design

How the major data models evolved

About emerging alternative data models and the need they
fulfill

How data models can be classified by their level of
abstraction
2
2.1 Data Modeling and Data Models
• Data models
– Relatively simple representations of complex realworld data structures
• Often graphical
• Model: an abstraction of a real-world object or event
– Useful in understanding complexities of the realworld environment
• Data modeling is iterative and progressive
Within the database environment, a data model represents data structures
and their characteristics, relations, constraints, transformations, and other
constructs with the purpose of supporting a specific problem domain.
3
2.2 The Importance of Data Models
• Facilitate interaction among the designer, the
applications programmer, and the end user
• Diff users have different views and needs for
data
• Data model organizes data for various users
• Data model is an abstraction
– Cannot draw required data out of the data
model
4
2.3 Data Model Basic Building Blocks
The basic building blocks of all data models are entities,
attributes, relationships, and constraints.
• An entity: can be a person, place, thing, or event
• An entity represents a particular type of object in the real world
• Entities may be physical objects, such as customers or products, but
entities may also be abstractions, such as flight routes or musical
concerts.
• Attribute: a characteristic of an entity (name, address etc)
• Relationship: describes an association among entities
– One-to-many (1:M) relationship: A painter creates many different
paintings
– Many-to-many (M:N or M:M) relationship
– One-to-one (1:1) relationship: each store manager, who is an
employee, manages only a single store
• Constraint: a restriction placed on the data: A student’s Grade must be
between 6.00 and 10.00.
M:N label for the relationship expressed by “STUDENT takes CLASS.”
5
2.4 Business Rules
• Descriptions of policies, procedures, or principles within a
specific organization
– Apply to any organization that stores and uses data to
generate information
– An invoice is generated by only one customer.
• Description of operations to create/enforce actions within an
organization’s environment
– Must be in writing and kept up to date
– Must be easy to understand and widely disseminated
• Describe characteristics of data as viewed by the company
From a database point of view, the collection of data becomes meaningful only
when it reflects properly defined business rules.
6
Discovering Business Rules
• Sources of business rules:
–
–
–
–
Company managers
Policy makers
Department managers
Written documentation
• Procedures
• Standards
• Operations manuals
– Direct interviews with end users
A maintenance department mechanic might believe that any mechanic
can initiate a maintenance procedure, when actually only mechanics
with inspection authorization can perform such a task.
7
Discovering Business Rules (cont’d.)
• Standardize company’s view of data
• Communications tool between users and
designers
• Allow designer to understand the nature, role,
and scope of data
• Allow designer to understand business
processes
• Allow designer to develop appropriate
relationship participation rules and constraints
8
Translating Business Rules into
Data Model Components
•
•
•
•
Nouns translate into entities
Verbs translate into relationships among entities
Relationships are bidirectional
Two questions to identify the relationship type:
– How many instances of B are related to one instance of A?
– How many instances of A are related to one instance of B?
the business rule “a customer may generate many invoices” contains two
nouns (customer and invoices) and a verb (generate) that associates the
nouns.
• In how many classes can one student enroll? Answer: many classes.
• How many students can enroll in one class? Answer: many students.
Therefore, the relationship between student and class is many-to-many
(M:N).
9
2.5 The Evolution of Data Models
10
Hierarchical and Network Models
• The hierarchical model
• Developed in the 1960s to manage large amounts of data for
manufacturing projects: Apollo rocket that landed on the moon in
1969
– Basic logical structure is represented by an upside-down
“tree”
– Structure contains levels or segments equivalent to
records
– Information is represented using parent/child relationships
• Each parent can have many children, but each child has only one
parent (also known as a 1-to-many relationship).
11
Hierarchical and Network Models
12
Hierarchical and Network Models
• Network model
– Created to represent complex data
relationships more effectively than the
hierarchical model
– Improves database performance
– Imposes a database standard
– Resembles hierarchical model
• Record may have more than one parent
13
Hierarchical and Network Models
14
2.5.2 The Relational Model
• Developed by E.F. Codd (IBM) in 1970
• Table (relations)
– Matrix consisting of row/column intersections
– Each row in a relation is called a tuple
• Relational models were considered
impractical in 1970
• Model was conceptually simple at expense of
computer overhead
15
The Relational Model (cont’d.)
• Relational data management system
(RDBMS)
– Performs same functions provided by
hierarchical model
– Hides complexity from the user
• Relational diagram
– Representation of entities, attributes, and
relationships
• Relational table stores collection of related
entities
16
17
many
18
The Relational Model (cont’d.)
• SQL-based relational database application
involves three parts:
– End-user interface
• Allows end user to interact with the data
– Set of tables stored in the database
• Each table is independent from another
• Rows in different tables are related based on
common values in common attributes
– SQL “engine”
• Executes all queries
19
2.5.3 The Entity Relationship Model
• Widely accepted standard for data modeling
• Introduced by Chen in 1976
• Graphical representation of entities and their
relationships in a database structure
• Entity relationship diagram (ERD)
– Uses graphic representations to model
database components
– Entity is mapped to a relational table
20
The Entity Relationship Model
•
•
•
•
Entity instance (or occurrence) is row in table
Entity set is collection of like entities
Connectivity labels types of relationships
Relationships are expressed using Chen
notation
– Relationships are represented by a diamond
– Relationship name is written inside the
diamond
• Crow’s Foot notation used as design
standard in this book
21
22
2.5.4 The Object-Oriented (OO) Model
• Complex real-world problems demonstrated a need for a data
model that more closely represented the real world
• Data and relationships are contained in a single structure
known as an object
• OODM (object-oriented data model) is the basis for OODBMS
– Semantic data model (indicates meaning).
• An object:
– Contains operations
– Are self-contained: a basic building-block for autonomous
structures
– Is an abstraction of a real-world entity
23
The Object-Oriented (OO) Model
• A class’s method represents a real-world action such as finding
a selected PERSON’s name, changing a PERSON’s name, or
printing a PERSON’s address. In other words, methods are the
equivalent of procedures in traditional programming languages.
In OO terms, methods define an object’s behavior
• Attributes describe the properties of an object
• Objects that share similar characteristics are grouped in classes
• Classes are organized in a class hierarchy
• Inheritance: object inherits methods and attributes of parent
class
• UML based on OO concepts that describe diagrams and
symbols
– Used to graphically model a system
the CUSTOMER class and the
CUSTOMER and EMPLOYEE
will inherit all attributes and
EMPLOYEE class share a
methods from PERSON.
parent PERSON class.
24
The “1” next to the CUSTOMER object indicates that each INVOICE is related to only
one CUSTOMER.
The “M” next to the LINE object indicates that each INVOICE contains many LINEs
25
2.5.5 Object/Relational and XML
• Extended relational data model (ERDM)
– Semantic data model developed in response to
increasing complexity of applications
– Includes many of OO model’s best features
– Often described as an object/relational database
management system (O/RDBMS)
– Primarily geared to business applications
O/R DBMS can be attributed to the model’s conceptual simplicity, data
integrity, easy-to-use query language, high transaction performance, high
availability, security, scalability, and expandability. In contrast, the OO
DBMS is popular in niche markets such as computer-aided drawing/
computer-aided manufacturing
26
Object/Relational and XML (cont’d.)
• The Internet revolution created the potential
to exchange critical business information
• In this environment, Extensible Markup
Language (XML) emerged as the de facto
standard
• Current databases support XML
– XML: the standard protocol for data exchange
among systems and Internet services
27
2.5.6 Emerging Data Models: Big Data and NoSQL
• Big Data
– Find new and better ways to manage large amounts of
Web-generated data and derive business insight from it
– Simultaneously provides high performance and
scalability at a reasonable cost
– Relational approach does not always match the needs
of organizations with Big Data challenges
In perspective, object/relational databases serve 98% of market needs.
For the remaining 2%, NoSQL databases are an option.
28
Emerging Data Models: Big Data and
NoSQL (cont’d.)
• NoSQL databases
– Not based on the relational model, hence the name
NoSQL
– Supports distributed database architectures
– Provides high scalability, high availability, and fault
tolerance
– Supports very large amounts of sparse data
– Geared toward performance rather than transaction
consistency
This added emphasis comes from the fact that these data models
originated from programming languages (such as LISP), in which inmemory arrays of values are used to hold data.
29
Emerging Data Models: Big Data and
NoSQL (cont’d.)
• Key-value data model
– Two data elements: key and value
• Every key has a corresponding value or set of values
• Sparse data
– Number of attributes is very large
– Number of actual data instances is low
• Eventual consistency
– Updates will propagate through system; eventually
all data copies will be consistent
There are only four data instances out of 9 certificates. Now extrapolate
this example for the case of a clinic with 15,000 patients and more than
500 possible tests, remembering that each patient can take a few tests
but is not required to take all
30
DID CERT CERT2 CERT3
DOB
LICTYPE
1
2732 80
96 1/24/1962
P
2946
92
4/11/1970
3893
11/27/1983
P
DID
KEY
VALUE
2732 CERT1
80
2732 CERT3
96
2732
DOB
2732 LICETYP
E
2946 CERT2
1/24/196
P
92
2946
DOB
4/11/197
3893
DOB
11/27/198
3893 LICTYPE
It is still too early to know which, if any, of these data models will
survive and grow to become a dominant force in the database
arena. However, the early success of products such as Amazon’s
SimpleDB, Google’s BigTable, and Apache’s Cassandra points to
the key-value stores and column stores as the early leaders.31
P
Several important points







In the relational model, every row represents a single entity occurrence and
every column represents an attribute of the entity occurrence. Each column has
a defined data type.
In the key-value data model, each row represents one attribute of one entity
instance. The “key” column points to an attribute and the “value” column
contains the actual value for the attribute.
The data type of the “value” column is generally a long string to accommodate
the variety of actual data types of the values placed in the column.
To add a new entity attribute in the relational model, you need to modify the
table definition. To add a new attribute in the key-value store, you add a row to
the key-value store, which is why it is said to be “schema-less.”
NoSQL databases do not store or enforce relationships among entities. The
programmer is required to manage the relationships in the program code.
Furthermore, all data and integrity validations must be done in the program code
(although some implementations have been expanded to support metadata).
NoSQL databases use their own native application programming interface (API)
with simple data access commands, such as put, read, and delete. Because
there is no declarative SQL-like syntax to retrieve data, the program code must
take care of retrieving related data in the correct way.
Indexing and searches can be difficult. Because the “value” column in the keyvalue data model could contain many different data types,
32
Data Models: A Summary
• Common characteristics:
– Conceptual simplicity with semantic completeness
– Represent the real world as closely as possible
– Real-world transformations must comply with
consistency and integrity characteristics
• Each new data model capitalized on the shortcomings of
previous models
• Some models better suited for some tasks
Distributed databases automatically make copies of data elements at multiple
nodes to ensure high availability and fault tolerance. If the node with the
requested data goes down, the request can be served from any other node
with a copy of thedata
33
34
Data Models: A Summary
35
Data Models: A Summary
36
2.6 DEGREES OF DATA ABSTRACTION
37
2.6.1 The External Model
• End users’ view of the data environment
• ER diagrams represent external views
• External schema: specific representation of an
external view
– Entities
– Relationships
End users usually operate
– Processes
in an environment in which
an application has a specific
– Constraints
business unit focus.
Companies are generally
divided into several
business units, such as
sales, finance, and
marketing.
38
The External Model (cont’d.)
• Easy to identify specific data required to
support each business unit’s operations
• Facilitates designer’s job by providing
feedback about the model’s adequacy
• Ensures security constraints in database
design
• Simplifies application program development
39
40
2.6.2 The Conceptual Model
• Represents global view of the entire database
• All external views integrated into single global
view: conceptual schema
• ER model most widely used
• ERD graphically represents the conceptual
schema
41
42
The Conceptual Model (cont’d.)
• Provides a relatively easily understood macro
level view of data environment
• Independent of both software and hardware
– Does not depend on the DBMS software used
to implement the model
– Does not depend on the hardware used in the
implementation of the model
– Changes in hardware or software do not affect
database design at the conceptual level
43
2.6.3 The Internal Model
• Representation of the database as “seen” by
the DBMS
– Maps the conceptual model to the DBMS
• Internal schema depicts a specific
representation of an internal model
• Depends on specific database software
– Change in DBMS software requires internal
model be changed
• Logical independence: change internal model
without affecting conceptual model
44
Figure 2.10
because a relational
database has been
selected, the internal
schema is expressed
using SQL, the standard
language for relational
databases. In the case
of the conceptual model
for Tiny College depicted
in Figure 2.9, the internal
model was implemented
by creating the tables
PROFESSOR,
COURSE, CLASS,
STUDENT, ENROLL,
and ROOM. A simplified
version of the internal
model for Tiny College is
shown in Figure 2.10.
45
2.6.4 The Physical Model
• Operates at lowest level of abstraction
– Describes the way data are saved on storage
media such as disks or tapes
• Requires the definition of physical storage
and data access methods
• Relational model aimed at logical level
– Does not require physical-level details
• Physical independence: changes in physical
model do not affect internal model
46
47
Exercise 1
• Write the business rules that govern the relationship
between AGENT and CUSTOMER
• Create the basic Crow’s Foot ERD
48
Exercise 1
• Given the data in the two tables, we can see that an
AGENT – through AGENT_CODE -- can occur many
times in the CUSTOMER table. But each customer has
only one agent. Therefore, the business rules may be
written as follows:
– One agent can have many customers.
– Each customer has only one agent.
– Given these business rules, you can conclude that there
is a 1:M relationship between AGENT and CUSTOMER.
AGENT
serves
CUSTOMER
49
Exercise 2
• Identify each relationship type and write all of the
business rules.
• Create the basic Crow’s Foot ERD for DealCo
50
Exercise 2
• One region can be the location for many stores. Each store is located in
only one region. Therefore, the relationship between REGION and
STORE is 1:M.
• Each store employs one or more employees. Each employee is
employed by one store. (In this case, we are assuming that the business
rule specifies that an employee cannot work in more than one store at a
time.) Therefore, the relationship between STORE and EMPLOYEE is
1:M.
• A job – such as accountant or sales representative -- can be assigned to
many employees. (For example, one would reasonably assume that a
store can have more than one sales representative. Therefore, the job
title “Sales Representative” can be assigned to more than one employee
at a time.) Each employee can have only one job assignment. (In this
case, we are assuming that the business rule specifies that an employee
cannot have more than one job assignment at a time.) Therefore, the
relationship between JOB and EMPLOYEE is 1:M.
51
Exercise 2
REGION
is location for
STORE
employs
JOB
is assigned to
EMPLOYEE
52
Exercise 3
• Describe the relationships (identify the business rules) depicted in the
ERD below
53
Exercise 3
• The business rules may be written as follows:
–
–
–
–
A professor can teach many classes.
Each class is taught by one professor.
A professor can advise many students.
Each student is advised by one professor.
54
Exercise 4
• Create a Crow’s Foot ERD for the following
business rule
– An airliner can be assigned to fly many flights, but
each flight is flown by only one airliner
55
Exercise 4
• An M:N relationship is not implementable in a
relational model so an additional table has to be
introduced
Initial M:N Solution
AIRCRAFT
flies
FLIGHT
Implementable Solution
AIRCRAFT
is assigned to
ASSIGNMENT
shows in
FLIGHT
56
Exercise 4
57
Download