Database Reference
In-Depth Information
3.4 Relational Database System
A relational database system (RDBS) is a collection of time-varying normalized relation s,
managed through an appropriate user interface, and with desirable constraints and
features that enhance the effective, efficient management of the database. These
desirable features and constraints will be discussed (see chapter 9) as we progress
through the course. The term normalized relations will be fully clarified in chapter 4; for
now, just consider it to mean that the relations are designed to promote efficiency and
accessibility.
The relations are conceptualized as tables and ultimately implemented as files.
Each relation contains one and only one record type. Each relation has a primary key
(chosen from a set of candidate keys). In many cases, the primary key is obvious and can
be identified intuitively. In situations where this is not the case, the database designer,
based on principles to be discussed in the next chapter, typically takes decision about the
primary key.
Each record type is made up of atomic attributes . This means that each attribute is
defined on a single domain, and can only have a value from that domain. Moreover, when
data is loaded into the database, each record from any given table has a unique primary
key value.
Superimposed on the database is a user interface that facilitates access of the
database by end users. The database and the user interface are designed to ensure that
certain objectives are met (section 1.2) and established standards are conformed to.
Steps in Building a Relational Database System
In constructing a RDBS, the following steps may be pursued:
a.
Identify entities
b.
Identify relationships
c.
Eliminate unnecessary relationships
d.
Develop entity-relationship diagram (ERD), object-
relationship diagram (ORD) or some equivalent model
e.
Normalize the database
f.
Revise E-R diagram, O-R diagram, or the equivalent model used
g.
Design the user interface
h.
Proceed to development phase
Note that these steps are to be pursued within the context of a software engineering
project. Accordingly, this course assumes that the reader is familiar with steps a-d, and h.
The rest of this chapter will review steps b-d, while providing some (additional) insights
probably not covered in your (introductory) software engineering course. Chapters 4
and 5 will focus on steps e and f; step g is covered in chapter 6, and step h is covered in
chapters 10-14.
 
Search WWH ::




Custom Search