Transcript Chapter 4
Chapter 4
Relational Databases
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
4-1
Learning Objectives
Explain the importance and advantages of databases.
Describe the difference between database systems and filebased legacy systems.
Explain the difference between logical and physical views of
a database.
Explain fundamental concepts of database systems such as
DBMS, schemas, the data dictionary, and DBMS languages.
Describe what a relational database is and how it organizes
data.
Create a set of well-structured tables to store data in a
relational database.
Perform simple queries using the Microsoft Access database.
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
4-2
Data Hierarchy
Field
Attributes
about an
entity
Record
Related
group of fields
File
Related
group of
records
Database
Related
group of files
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
4-3
Advantages of Database Systems
Data Integration
Files are logically combined and made
accessible to various systems.
Data Sharing
With data in one place it is more easily
accessed by authorized users.
Minimizing Data Redundancy and Data
Inconsistency
Eliminates the same data being stored in
multiple files, thus reducing inconsistency in
multiple versions of the same data.
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
4-4
Advantages of Database Systems
Data Independence
Data is separate from the programs that
access it. Changes can be made to the data
without necessitating a change in the
programs and vice versa.
Cross-Functional Analysis
Relationships between data from various
organizational departments can be more
easily combined.
Copyright 2012 © Pearson Education, Inc. publishing as Prentice Hall
4-5
Database Terminology
Database Management System (DBMS)
Interface between software applications and
the data in files.
Database Administrator (DBA)
Person responsible for maintaining the
database
Data Dictionary
Information about the structure of the
database
Field names, descriptions, uses
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
4-6
Logical vs. Physical
Physical View
Depends on explicitly knowing:
How is the data actually arranged in a file
Where is the data stored on the computer
Logical View
A Schema separates storage of data from
use of the data
Unnecessary to explicitly know how and
where data is stored.
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
4-7
Schemas
Describe the logical structure of a
database
Conceptual Level
Organization wide view of the data
External Level
Individual users view of the data
Each view is a subschema
Internal Level
Describes how data are stored and accessed
Description of: records, definitions, addresses, and
indexes
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
4-8
Subschema--User A
Subschema--User B
Subschema--User C
Smith . . . A
Jones . . . B
Arnold . . .D
Mapping external-level views to conceptual-level schema
Classes
Enroll
Student
Cash
Receipt
Mapping conceptual-level items to internal-level descriptions
Student Record
Student No.
--character [9]
Student Name --character [26]
SAT Score
--integer [2], non-null, index=itemx
Class Record
Class Name --character [9]
Dept No.
--integer [4], non-null, index=itemx
Course No.
--integer [4], non-null, index=itemx
DBMS Languages
Data Definition Language (DDL)
Builds the data dictionary
Creates the database
Describes the subschema
Specifies record or field security constraints
Data Manipulation Language (DML)
Changes the content in the database
Updates, insertions, and deletions
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
4-10
DBMS Languages
Data query language (DQL)
Enables the retrieval, sorting, and display of
data from the database
SQL (structured query language) is the standard
DQL
Example:
SELECT Customer.CustName
FROM Customer, Sales
WHERE Customer.CustNo = Sales.CustNo
AND Sales.Salesperson = “Martinez”
Report writer
4-11
Relational Database
Relational data model represents the
conceptual and external level schemas
as if data are stored in tables.
Table
Each row, a tuple, contains data about one
instance of an entity.
This is equivalent to a record
Each column contains data about one
attribute of an entity.
This is equivalent to a field
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
4-12
Row (Record)
A Relational Table
Each row contains multiple
attributes describing an instance of
the entity. In this case, inventory.
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
Same type of data
Column (Field)
4-13
Attributes
Primary Key
An attribute or combination of attributes that
can be used to uniquely identify a specific
row (record) in a table.
Foreign Key
An attribute in one table that is a primary key
in another table.
Used to link the two tables
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
4-14
Database Design Errors
If database is not designed properly
data errors can occur.
Update Anomaly
Changes to existing data are not correctly
recorded.
Due to multiple records with the same data attributes
Insert Anomaly
Unable to add a record to the database.
Delete Anomaly
Removing a record also removes unintended data
from the database.
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
4-15
Database Design Errors
Student ID
Last
Name
First
Name
Phone No.
333-33-3333
Simpson
Alice
333-3333
ACCT-3603
1 M
9:00 AM
333-33-3333
Simpson
Alice
333-3333
FIN-3213
3 Th
11:00 AM
333-33-3333
Simpson
Alice
333-3333
MGMT-3021
11 TH
12:00 PM
111-11-1111
Sanders
Ned
444-4444
ACCT-3433
2 T
10:00 AM
111-11-1111
Sanders
Ned
444-4444
MGMT-3021
5 W
8:00 AM
111-11-1111
Sanders
Ned
444-4444
ANSI-1422
7 F
9:00 AM
123-45-6789
Moore
Artie
555-5555
ACCT-3433
2 T
10:00 AM
123-45-6789
Moore
Artie
555-5555
FIN-3213
3 Th
11:00 AM
Course No.
Sectio
n
Day
Time
Student ID
Last
Name
First
Name
Phone No.
333-33-3333
Simpson
Alice
333-3333
ACCT-3603
1 M
9:00 AM
333-33-3333
Simpson
Alice
333-3333
FIN-3213
3 Th
11:00 AM
333-33-3333
Simpson
Alice
333-3333
MGMT-3021
11 TH
12:00 PM
111-11-1111
Sanders
Ned
444-4444
ACCT-3433
2 T
10:00 AM
111-11-1111
Sanders
Ned
444-4444
MGMT-3021
5 W
8:00 AM
111-11-1111
Sanders
Ned
444-4444
ANSI-1422
7 F
9:00 AM
123-45-6789
Moore
Artie
555-5555
ACCT-3433
2 T
10:00 AM
123-45-6789
Moore
Artie
555-5555
FIN-3213
3 Th
11:00 AM
Course No.
Sect.
Day
Time
• Suppose Alice Simpson changes her phone number. You need
to make the change in three places. If you fail to change it in all
three places or change it incorrectly in one place, then the
records for Alice will be inconsistent.
• This problem is referred to as an update anomaly.
Student ID
Last
Name
First
Name
Phone No.
333-33-3333
Simpson
Alice
333-3333
ACCT-3603
1 M
9:00 AM
333-33-3333
Simpson
Alice
333-3333
FIN-3213
3 Th
11:00 AM
333-33-3333
Simpson
Alice
333-3333
MGMT-3021
11 TH
12:00 PM
111-11-1111
Sanders
Ned
444-4444
ACCT-3433
2 T
10:00 AM
111-11-1111
Sanders
Ned
444-4444
MGMT-3021
5 W
8:00 AM
111-11-1111
Sanders
Ned
444-4444
ANSI-1422
7 F
9:00 AM
123-45-6789
Moore
Artie
555-5555
ACCT-3433
2 T
10:00 AM
123-45-6789
Moore
Artie
555-5555
FIN-3213
3 Th
11:00 AM
Course No.
Sect.
Day
Time
• What happens if you have a new student to add, but he hasn’t
signed up for any courses yet?
• Or what if there is a new class to add, but there are no students
enrolled in it yet? In either case, the record will be partially blank.
• This problem is referred to as an insert anomaly.
Student ID
Last
Name
First
Name
Phone No.
333-33-3333
Simpson
Alice
333-3333
ACCT-3603
1 M
9:00 AM
333-33-3333
Simpson
Alice
333-3333
FIN-3213
3 Th
11:00 AM
333-33-3333
Simpson
Alice
333-3333
MGMT-3021
11 TH
12:00 PM
111-11-1111
Sanders
Ned
444-4444
ACCT-3433
2 T
10:00 AM
111-11-1111
Sanders
Ned
444-4444
MGMT-3021
5 W
8:00 AM
111-11-1111
Sanders
Ned
444-4444
ANSI-1422
7 F
9:00 AM
123-45-6789
Moore
Artie
555-5555
ACCT-3433
2 T
10:00 AM
123-45-6789
Moore
Artie
555-5555
FIN-3213
3 Th
11:00 AM
Course No.
Sect.
Day
Time
• If Ned withdraws from all his classes and you eliminate all three of
his rows from the table, then you will no longer have a record of
Ned. If Ned is planning to take classes next semester, then you
probably didn’t really want to delete all records of him.
• This problem is referred to as a delete anomaly.
Design Requirements for DBs
1. Every column must be single valued.
2. Primary keys must contain data (not
null).
3. Foreign keys must contain the same
data as the primary key in another
table.
4. All other attributes must identify a
characteristic of the table identified by
the primary key.
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
4-20
Normalizing Relational Databases
Initially, one table is used for all the data
in a database.
Following rules, the table is decomposed
into multiple tables related by:
Primary key–foreign key integration
Decomposed set of tables are in third
normal form (3NF).
Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall
4-21