Relational Databases
Chapter 4
Copyright Pearson Education Limited 2015.
4-1
Learning Objectives
Explain the importance and advantages of databases, as well as the
difference between database and file-based 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 properly store data in a
relational database.
Copyright Pearson Education Limited 2015.
4-2
INTRODUCTION
Relational databases underlie most modern
integrated AISs.
They are the most popular type of database used
for transaction processing.
In this chapter, well define the concept of a
database.
Copyright Pearson Education Limited 2015.
What Is a Database?
Efficiently and centrally coordinates information for a
related group of files
A file is a related group of records
A record is a related group of fields
A field is a specific attribute of
interest for the entity (record)
Copyright Pearson Education Limited 2015.
4-3
FILE VS. DATABASES
Lets examine some basic principles about how data are
stored in computer systems.
An entity is anything about which the organization wishes to
store data. At your college or university, one entity would be the
student.
STUDENTS
Student ID
Last Name
First Name
Phone
Number
Birth Date
333-33-3333
Simpson
Alice
333-3333
10/11/84
111-11-1111
Sanders
Ned
444-4444
11/24/86
123-45-6789
Moore
Artie
555-5555
04/20/85
Copyright Pearson Education Limited 2015.
FILE VS. DATABASES
Information about the attributes of an entity (e.g.,
the students ID number and birth date) are stored in
fields.
STUDENTS
Student ID
Last Name
First Name
Phone
Number
Birth Date
333-33-3333
Simpson
Alice
333-3333
10/11/84
111-11-1111
Sanders
Ned
444-4444
11/24/86
123-45-6789
Moore
Artie
555-5555
04/20/85
Copyright Pearson Education Limited 2015.
FILE VS. DATABASES
All the fields containing data about one entity (e.g.,
one student) form a record.
The example below shows the record for Artie Moore.
STUDENTS
Student ID
Last Name
First Name
Phone
Number
Birth Date
333-33-3333
Simpson
Alice
333-3333
10/11/84
111-11-1111
Sanders
Ned
444-4444
11/24/86
123-45-6789
Moore
Artie
555-5555
04/20/85
Copyright Pearson Education Limited 2015.
FILE VS. DATABASES
A set of all related records forms a file (e.g., the
student file).
If this university only had three students and five fields
for each student, then the entire file would be depicted
below.
STUDENTS
Student ID
Last Name
First Name
Phone
Number
Birth Date
333-33-3333
Simpson
Alice
333-3333
10/11/84
111-11-1111
Sanders
Ned
444-4444
11/24/86
123-45-6789
Moore
Artie
555-5555
04/20/85
Copyright Pearson Education Limited 2015.
FILE VS. DATABASES
A set of interrelated, centrally coordinated files forms
a database.
Student
File
Class
File
Advisor
File
Copyright Pearson Education Limited 2015.
FILE VS. DATABASES
Database systems were developed to address the
problems associated with the proliferation of
master files.
For years, each time a new information need
arose, companies created new files and programs.
The result: a significant increase in the number of
master files.
Copyright Pearson Education Limited 2015.
FILE VS. DATABASES
Master File 1
Fact A
Fact B
Fact C
Master File 2
Fact A
Fact D
Fact F
Enrollment
Program
Financial Aid
Program
Master File 1
Grades
Fact A
Program
Fact B
FactFPearson Education Limited 2015.
Copyright
This proliferation of master
files created problems:
Often the same information was
stored in multiple master files.
Made it more difficult to
effectively integrate data and
obtain an organization-wide view
of the data.
Also, the same information may
not have been consistent between
files.
If a student changed his phone
number, it may have been
updated in one master file but
not another.
FILE VS. DATABASES
A database is a set of
inter-related, centrally
coordinated files.
Database
Fact A Fact B
Fact C Fact D
Fact E Fact F
Database
Management
System
Enrollment
Program
Financial Aid
Program
Grades
Program
Copyright Pearson Education Limited 2015.
FILE VS. DATABASES
Database
Fact A Fact B
Fact C Fact D
Fact E Fact F
Database
Management
System
Enrollment
Program
Financial Aid
Program
Grades
Program
Copyright Pearson Education Limited 2015.
The database approach
treats data as an
organizational resource
that should be used by
and managed for the
entire organization, not
just a particular
department.
A database
management system
(DBMS) serves as the
interface between the
database and the various
application programs.
FILE VS. DATABASES
The combination of
the database, the
DBMS, and the
application programs
that access the
database is referred to
as the database
system.
Database
Fact A Fact B
Fact C Fact D
Fact E Fact F
Database
Management
System
Enrollment
Program
Financial Aid
Program
Grades
Program
Copyright Pearson Education Limited 2015.
FILE VS. DATABASES
Database
Fact A Fact B
Fact C Fact D
Fact E Fact F
Database
Management
System
Enrollment
Program
Financial Aid
Program
Grades
Program
Copyright Pearson Education Limited 2015.
The person
responsible for the
database is the
database
administrator.
As technology
improves, many large
companies are
developing very large
databases called data
warehouses.
IMPORTANCE AND ADVANTAGES OF DATABASE
SYSTEMS
Database technology is everywhere.
Most new AISs implement a database approach.
Virtually all mainframe computer sites use
database technology.
Use of databases with PCs is growing also.
Copyright Pearson Education Limited 2015.
IMPORTANCE AND ADVANTAGES OF DATABASE
SYSTEMS
As accountants, you are likely to audit or work
for companies that use database technology to
store, process, and report accounting
transactions.
Many accountants work directly with databases and
will enter, process, and query databases.
Some will develop and evaluate internal controls
necessary to ensure database integrity.
Others will be involved in the design and management
of databases.
Copyright Pearson Education Limited 2015.
IMPORTANCE AND ADVANTAGES OF DATABASE
SYSTEMS
Database technology provides the following
benefits to organizations:
Data integration
Data sharing
Reporting flexibility
Minimal data redundancy and inconsistencies
Data independence
Central management of data
Cross-functional analysis
Copyright Pearson Education Limited 2015.
IMPORTANCE AND ADVANTAGES OF DATABASE
SYSTEMS
The importance of good data:
Bad data leads to:
Bad decisions
Embarrassment
Angry users
Data Warehousing Institute estimates that dirty
data costs $600 billion per year in unnecessary
postage, marketing costs, and lost customer
credibility.
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Logical and physical views of data
In file-oriented systems, programmers must know
the physical location and layout of records used by
a program.
They must reference the location, length, and format
of every field they utilize.
When data is used from several files, this process
becomes more complex.
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Database systems overcome this problem by
separating the storage and use of data elements.
Two separate views of the data are provided:
Logical view
Physical view
Separating these views facilitates
application development, because
programmers can focus on coding the logic
and not be concerned with storage details.
Copyright Pearson Education Limited 2015.
Logical ViewUser B
Logical ViewUser A
Scholarship Distribution
Enrollment by Class
Sr.
33%
Fr.
5%
Soph.
24%
Jr.
38%
DBMS
Operating
System
Database
Copyright Pearson Education Limited 2015.
The DBMS translates
users logical views
into instructions as to
which data should be
retrieved from the
database.
Logical ViewUser B
Logical ViewUser A
Scholarship Distribution
Enrollment by Class
Sr.
33%
Fr.
5%
Soph.
24%
Jr.
38%
DBMS
Operating
System
Database
Copyright Pearson Education Limited 2015.
The operating system
translates DBMS
requests into
instructions to
physically retrieve
data from various
disks.
DATABASE SYSTEMS
The DBMS handles the link between the physical
and logical views of the data.
Allows the user to access, query, and update data
without reference to how or where it is physically
stored.
The user only needs to define the logical data
requirements.
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Separating the logical and physical views of data
also means users can change their
conceptualizations of the data relationships
without making changes in the physical storage.
The database administrator can also change the
physical storage of the data without affecting
users or application programs.
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Schemas
A schema describes the logical and physical
structures of a database.
There are three levels of schema.
Conceptual level
The organization-wide view of the entire
databasei.e., the big picture.
Lists all data elements and the relationships
between them.
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Schemas
A schema describes the logical and physical
structures of a database.
There are three levels of schema.
Conceptual level
External level
A set of individual user views of portions of the
database, i.e., how each user sees the portion of
the system with which he interacts.
These individual views are referred to as
subschema.
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Schemas
A schema describes the logical and physical
structures of a database.
There are three levels of schema.
Conceptual level
A low-level view of the database.
External level
It describes how the data are actually
Internal level
stored and accessed including:
Copyright Pearson Education Limited 2015.
Record layouts
Definitions
Addresses
Indexes
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]
Copyright
Pearson
Education
2015.
SAT Score
--integer
[2],Limited
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
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
Cash
Receipt
Student
The
bidirectional
arrows
represent
mappings
between the
schema.
Mapping conceptual-level items to internal-level descriptions
Student Record
Student No.
--character [9]
Student Name --character [26]
Copyright
Pearson
Education
2015.
SAT Score
--integer
[2],Limited
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
DATABASE SYSTEMS
The DBMS uses the mappings to translate a
request by a user or program for data (expressed
in logical names and relationships) into the
indexes and addresses needed to physically
access the data.
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Accountants are frequently involved in
developing conceptual- and external-level
schema.
An employees access to data should be limited
to the subschema of data that is relevant to the
performance of his job.
Copyright Pearson Education Limited 2015.
Database Users and Designers
Different users of the database information are
at an external level of the database. These users
have logical views of the data.
At an internal level of the database is the
physical view of the data which is how the data
is actually physically stored in the system.
Designers of a database need to understand
users needs and the conceptual level of the
entire database as well as the physical view.
Copyright Pearson Education Limited 2015.
4-5
Database Design
To design a database, you need to have a
conceptual view of the entire database. The
conceptual view illustrates the different files and
relationships between the files.
The data dictionary is a blueprint of the
structure of the database and includes data
elements, field types, programs that use the data
element, outputs, and so on.
Copyright Pearson Education Limited 2015.
4-6
DATABASE SYSTEMS
The data dictionary
A key component of a DBMS is the data
dictionary.
Contains information about the data elements in the
database such as meaning, relationships to other
data, origin, usage, and format.
For each data element, there is a corresponding
record in the data dictionary describing that
element.
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Information provided for each element includes:
A description or explanation of the element.
The records in which it is contained.
Its source.
The length and type of the field in which it is stored.
The programs in which it is used.
The outputs in which it is contained.
The authorized users of the element.
Other names for the element.
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Accountants should participate in the
development of the data dictionary because they
have a good understanding of the data elements
in a business organization, as well as where
those elements originate and how they are used.
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
The DBMS usually maintains the data
dictionary.
It is often one of the first applications of a newly
implemented database system.
Inputs to the dictionary include:
Records of new or deleted data elements.
Changes in names, descriptions, or uses of existing elements.
Outputs include:
Reports that are useful to programmers, database designers,
and IS users in:
Designing and implementing the system.
Documenting the system.
Creating an audit trail.
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
DBMS Languages
Every DBMS must provide a means of
performing the three basic functions of:
Creating a database
Changing a database
Querying a database
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Creating a database:
The set of commands used to create the database
is known as data definition language (DDL).
DDL is used to:
Build the data dictionary
Initialize or create the database
Describe the logical views for each individual user or
programmer
Specify any limitations or constraints on security
imposed on database records or fields
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Changing a database
The set of commands used to change the database
is known as data manipulation language
(DML). DML is used for maintaining the data
including:
Updating data
Inserting data
Deleting portions of the database
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Querying a database:
The set of commands used to query the database is
known as data query language (DQL). DQL is
used to interrogate the database, including:
Retrieving records
Sorting records
Ordering records
Presenting subsets of the database
The DQL usually contains easy-to-use, powerful
commands that enable users to satisfy their own
information needs.
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Report Writer
Many DBMS packages also include a report writer,
a language that simplifies the creation of reports.
Users typically specify:
What elements they want printed
How the report should be formatted
The report writer then:
Searches the database
Extracts specified data
Prints them out according to specified format
Copyright Pearson Education Limited 2015.
DATABASE SYSTEMS
Users typically have access to both DQL and
report writer.
Access to DDL and DML are typically restricted
to employees with administrative and
programming responsibilities.
Copyright Pearson Education Limited 2015.
RELATIONAL DATABASES
A DBMS is characterized by the type of logical
data model on which it is based.
A data model is an abstract representation of
the contents of a database.
Most new DBMSs are called relational
databases because they use the relational model
developed by E. F. Codd in 1970.
Copyright Pearson Education Limited 2015.
RELATIONAL DATABASES
The relational data model represents
everything in the database as being stored in the
forms of tables (aka, relations).
This model only describes how the data appear
in the conceptual- and external-level schemas.
The data are physically stored according to the
description in the internal-level schema.
Copyright Pearson Education Limited 2015.
Each row is
called a tuple,
which rhymes
with couple.
Copyright Pearson Education Limited 2015.
Each row
contains data
about a specific
occurrence of
the type of entity
in the table.
Copyright Pearson Education Limited 2015.
Each column in
a table contains
information
about a specific
attribute of the
entity.
Copyright Pearson Education Limited 2015.
A primary key is the
attribute or combination
of attributes that
uniquely identifies a
specific row in a table.
Copyright Pearson Education Limited 2015.
In some tables, two or more attributes
may be joined to form the primary key.
Copyright Pearson Education Limited 2015.
STUDENTS
Student ID
Last Name
First
Name
Phone No.
Advisor
No.
333-33-3333
Simpson
Alice
333-3333
1418
111-11-1111
Sanders
Ned
444-4444
1418
123-45-6789
Moore
Artie
555-5555
1503
ADVISORS
Advisor No.
Last Name
First Name
Office No.
1418
Howard
Glen
420
1419
Melton
Amy
316
1503
Zhang
Xi
202
1506
Radowski
J.D.
203
A foreign key is an attribute in one table that is a primary key in
another table.
Copyright Pearson Education Limited 2015.
STUDENTS
Student ID
Last Name
First
Name
Phone No.
Advisor
No.
333-33-3333
Simpson
Alice
333-3333
1418
111-11-1111
Sanders
Ned
444-4444
1418
123-45-6789
Moore
Artie
555-5555
1503
ADVISORS
Advisor No.
Last Name
First Name
Office No.
1418
Howard
Glen
420
1419
Melton
Amy
316
1503
Zhang
Xi
202
1506
Radowski
J.D.
203
Foreign keys are used to link tables together.
Copyright Pearson Education Limited 2015.
STUDENTS
Student ID
Last Name
First
Name
Phone No.
Advisor
No.
333-33-3333
Simpson
Alice
333-3333
1418
111-11-1111
Sanders
Ned
444-4444
1418
123-45-6789
Moore
Artie
555-5555
1503
ADVISORS
Advisor No.
Last Name
First Name
Office No.
1418
Howard
Glen
420
1419
Melton
Amy
316
1503
Zhang
Xi
202
1506
Radowski
J.D.
203
Other non-key attributes in each table store important
information about the entity.
Copyright Pearson Education Limited 2015.
RELATIONAL DATABASES
Alternatives for storing data
One possible alternate approach would be to store
all data in one uniform table.
For example, instead of separate tables for
students and classes, we could store all data in one
table and have a separate line for each student x
class combination.
Copyright Pearson Education Limited 2015.
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.
Section
Day
Time
Using the suggested approach, a student taking three classes would
need three rows in the table.
In the above, simplified example, a number of problems arise.
Copyright Pearson Education Limited 2015.
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.
Section
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.
Copyright Pearson Education Limited 2015.
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.
Section
Day
Time
What happens if you have a new student to add, but he hasnt 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.
Copyright Pearson Education Limited 2015.
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.
Section
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 didnt
really want to delete all records of him.
This problem is referred to as a delete anomaly.
Copyright Pearson Education Limited 2015.
RELATIONAL DATABASES
Alternatives for storing data
Another possible approach would be to store each
student in one row of the table and create multiple
columns to accommodate each class that he is
taking.
Copyright Pearson Education Limited 2015.
Student ID
Last
Name
First
Name
Phone
No.
333-33-3333
Simpson
Alice
333-3333
ACCT-3603
FIN-3213
MGMT-3021
111-11-1111
Sanders
Ned
444-4444
ACCT-3433
MGMT-3021
ANSI-1422
123-45-6789
Moore
Artie
555-5555
ACCT-3433
FIN-3213
Class 1
Class 2
Class 3
Class 4
This approach is also fraught with problems:
How many classes should you allow in building the table?
The above table is quite simplified. In reality, you might need to
allow for 20 or more classes (assuming a student could take many 1hour classes). Also, more information than just the course number
would be stored for each class. There would be a great deal of wasted
space for all the students taking fewer than the maximum possible
number of classes.
Also, if you wanted a list of every student taking MGMT-3021, notice
that you would have to search multiple attributes.
Copyright Pearson Education Limited 2015.
Copyright Pearson Education Limited 2015.
The solution to the preceding problems is
to use a set of tables in a relational
database.
Each entity is stored in a separate table,
and separate tables or foreign keys can be
used to link the entities together.
RELATIONAL DATABASES
Basic requirements of a relational database
Every column in a row must be single valued.
In other words, every cell can have one and only one
value.
In the student table, you couldnt have an attribute
named Phone Number if a student could have
multiple phone numbers.
There might be an attribute named local phone
number and an attribute named permanent phone
number.
You could not have an attribute named Class in the
student table, because a student could take multiple
classes.
Copyright Pearson Education Limited 2015.
RELATIONAL DATABASES
Basic requirements of a relational
database
The primary key cannot be null.
The primary key uniquely identifies a specific row in
the table, so it cannot be null, and it must be unique
for every record.
This rule is referred to as the entity integrity
rule.
Copyright Pearson Education Limited 2015.
Note that within each table, there are no
duplicate primary keys and no null primary
keys.
Consistent with the entity integrity rule.
Copyright Pearson Education Limited 2015.
RELATIONAL DATABASES
Basic requirements of a relational
database
A foreign key must either be null or correspond to
the value of a primary key in another table.
This rule is referred to as the referential
integrity rule.
The rule is necessary because foreign keys are used
to link rows in one table to rows in another table.
Copyright Pearson Education Limited 2015.
STUDENTS
Student ID
Last Name
First
Name
Phone No.
Advisor
No.
333-33-3333
Simpson
Alice
333-3333
1418
111-11-1111
Sanders
Ned
444-4444
1418
123-45-6789
Moore
Artie
555-5555
1503
ADVISORS
Advisor No.
Last Name
First Name
Office No.
1418
Howard
Glen
420
1419
Melton
Amy
316
1503
Zhang
Xi
202
1506
Radowski
J.D.
203
Advisor No. is a foreign key in the STUDENTS table. Every
incident of Advisor No. in the STUDENTS table either matches
an instance of the primary key in the ADVISORS table or is null.
Copyright Pearson Education Limited 2015.
RELATIONAL DATABASES
Basic requirements of a relational
database
All non-key attributes in a table should describe a
characteristic of the object identified by the
primary key.
Could nationality be a non-key attribute in the
student table?
Could advisors nationality be a non-key
attribute in the student table?
Copyright Pearson Education Limited 2015.
RELATIONAL DATABASES
The preceding four constraints produce a wellstructured (normalized) database in which:
Data are consistent.
Redundancy is minimized and controlled.
In a normalized database, attributes appear
multiple times only when they function as
foreign keys.
The referential integrity rule ensures there will
be no update anomaly problem with foreign
keys.
Copyright Pearson Education Limited 2015.
RELATIONAL DATABASES
An important feature is that data about various things of
interest (entities) are stored in separate tables.
Makes it easier to add new data to the system.
You add a new student by adding a row to the student
table.
You add a new course by adding a row to the course table.
Means you can add a student even if he hasnt signed up
for any courses.
And you can add a class even if no students are yet
enrolled in it.
Makes it easy to avoid the insert anomaly.
Space is also used more efficiently than in the other
schemes. There should be no blank rows or attributes.
Copyright Pearson Education Limited 2015.
Add a
student
here.
Leaves no
blank
spaces.
Add a course here.
Leaves no blank spaces.
Copyright Pearson Education Limited 2015.
When a particular student enrolls for a
particular course, add that info here.
RELATIONAL DATABASES
Deletion of a class for a student would cause the
elimination of one record in the student x class
table.
The student still exists in the student table.
The class still exists in the class table.
Avoids the delete anomaly.
Copyright Pearson Education Limited 2015.
Ned still
exists in
the student
table.
Even if Ned was the only student in
the class, ACCT-3603 still exists in the
course table.
Copyright Pearson Education Limited 2015.
If Ned Sanders drops ACCT-3603, remove
Neds class from this table.
Relational Data Tables
Copyright Pearson Education Limited 2015.
4-10
Relational Data Tables
Primary Keys
Foreign Key (Customer # is a Foreign
key in
the Sales Table because it is a
Primary key that uniquely
identifies
Customers in the Customer Table).
Because of this, the Sales Table can relate
to the
Customer Table (see red arrow
above).
Copyright Pearson Education Limited 2015.
4-11
Why Have a Set of Related Tables?
Data stored in one large table can be redundant
and inefficient causing the following problems:
Update anomaly
Insert anomaly
Delete anomaly
Copyright Pearson Education Limited 2015.
4-12
Relational Database Design Rules
Every column in a row must be single valued
Primary key cannot be null (empty) also known as entity integrity
IF a foreign key is not null, it must have a value that corresponds to
the value of a primary key in another table (referential integrity)
All other attributes in the table must describe characteristics of the
object identified by the primary key
Following these rules allows databases to be normalized and solves the
update, insert, and delete anomalies.
Copyright Pearson Education Limited 2015.
4-13
Key Terms
Database
Database management system
(DBMS)
Database system
Database administrator (DBA)
Data warehouse
Business intelligence
Online analytical processing
(OLAP)
Data mining
Record layout
Logical view
Physical view
Schema
Conceptual-level schema
Copyright Pearson Education Limited 2015.
External-level schema
Subschema
Internal-level schema
Data dictionary
Data definition language
(DDL)
Data manipulation language
(DML)
Data query language (DQL)
Report writer
Data model
Relational data model
Tuple
Primary key
Foreign key
4-17
Key Terms (continued)
Update anomaly
Insert anomaly
Delete anomaly
Relational database
Entity integrity rule
Referential integrity rule
Normalization
Semantic data modeling
Copyright Pearson Education Limited 2015.
4-18