Chapter 1
Introduction to Database
Systems
Welcome and congratulations on your entry to this course in database systems. The fact
that you are in this course means that you have covered several fundamental topics in
programming, data structures, user interface, and software engineering. Now you want
to learn about databases — their significance, the underlying theoretical principles that
govern them, how they are constructed, and their management. You are at the right place.
This chapter addresses the first issue: the significance of database systems.
Topics covered include the following:
• Definition and Rationale
• Objectives of a Database System
• Advantages of a Database System
• Approaches to Database Design
• Desirable Features of a Database System
• Database Development Life Cycle
• Summary and Concluding Remarks
1.1 Definitions and Rationale
A database system (DBS) is a computerized record keeping system with the overall
purpose of maintaining information and making it available whenever required. The
database typically stores related data in a computer system.
3
Chapter 1 ■ Introduction to Database Systems
A database management system (DBMS) is a set of programs that allow for the
management of a database. Starting in chapter 2 and extending to subsequent chapters,
we will cover several of the critical functions of a DBMS. Some of the more obvious ones
are the following:
• Data definition (relation, dependencies, integrity constraints,
views, etc.)
• Data manipulation (adding, updating, deleting, retrieving,
reorganizing, and aggregating data)
• Data security and integrity checks
• Programming language support
Components of a DBS include:
• Hardware and operating system
• DBMS
• Database
• Related software systems and/or applications
• End users
End users communicate with the software systems/applications, which in turn,
communicate (through the programming interface) with the DBMS. The DBMS
communicates with the operating system (which in turn communicates with the
hardware) to store data in and/or extract data from the database. Figure 1-1 illustrates.
Figure 1-1. Simplified Representation of a DBS
4
Chapter 1 ■ Introduction to Database Systems
Databases are essential to software engineering; many software systems have
underlying databases that are constantly accessed, though in a manner that is transparent
to the end user. Figure 1-2 provides some examples. Companies that compete in the
marketplace need databases to store and manage their mission critical and other
essential data.
Figure 1-2. Illustrations of the Importance of Database
In this course you will learn how to design, implement and manage databases. In so
doing, you will be exposed to various database technologies and methodologies that are
common in the software engineering industry.
1.2 Objectives of a Database System
There are several primary and secondary objectives of a database system that should
concern the computer science (CS) professional. Whether you are planning to design,
construct, develop and implement a DBS, or you are simply shopping around for a DBMS,
5
Chapter 1 ■ Introduction to Database Systems
these objectives help you to develop an early appreciation for the field; they should
also provide useful insight into where the course is heading. As you will soon see, these
objectives are lofty, and it is by no means easy to achieve them all.
The primary objectives of a database system include the following:
• Security and protection — prevention of unauthorized users;
protection from inter-process interference
• Reliability — assurance of stable, predictable performance
• Facilitation of multiple users
• Flexibility — the ability to obtain data and effect action via
various methods
• Ease of data access and data change
• Accuracy and consistency
• Clarity — standardization of data to avoid ambiguity
• Ability to service unanticipated requests
• Protection of intellectual Investment
• Minimization of data proliferation — new application needs may be
met with existing data rather than creating new files and programs
• Availability — data is available to users whenever it is required
Among the significant secondary objectives of a database system are the following:
• Physical data independence — storage hardware and storage
techniques are insulated from application programs
• Logical data independence — data items can be added or
subtracted or the overall logical structure modified without
existing programs being affected
• Control of redundancy
• Integrity controls — range checks and other controls must
prevent invalid data from entering the system
• Clear data definition — a data dictionary is usually kept
• Suitably friendly user interface
• Tunability — easy reorganizing the database to improve
performance without changing the application programs
• Automatic reorganization of migration to improve performance
6
Chapter 1 ■ Introduction to Database Systems
Clarification on Data Independence
Data independence is an important concept that needs further clarification: Data
independence is the immunity of application programs to changes in structure and
access strategy of data. It is necessary for the following reasons:
• Different applications and users will need to have different logical
views (interpretation) of data.
• The tuning of the system should not affect the application programs.
Physical data independence implies that the user's view is independent of physical
file organization, machine or storage medium. Logical data independence implies that
each user (or application program) can have his/her (its) own logical view and does not
need a global view of the database.
1.3 Advantages of a Database System
A database system brings a number of advantages to its end users as well as the company
that owns it. Some of the advantages are mentioned below:
• Redundancy can be reduced.
• Inconsistencies can be avoided.
• Data can be shared.
• Standards can be enforced.
• Security restrictions can be applied.
• Integrity can be maintained.
• Conflicting requirements can be balanced.
• Improved performance due to speed of processing, reduction in
paperwork, etc.
• Maintenance and retrieval of data are very easy — no complicated
application program needed.
• Is not solely dependent on the high level language (HLL)
programming for use.
• Logical views of data stored can be easily created.
• Record structures can change without any adverse effect on data
retrieval (due to data independence).
7
Chapter 1 ■ Introduction to Database Systems
1.4 Approaches to Database Design
Analysis of the management of data via computerized systems reveals five approaches
that have been pursued over the past forty years:
• Instant small system — uses one file
• File processing systems — involve many files
• Other non-relational systems e.g. hierarchical, inverted, and
network approaches
• Relational databases (the focus of this course) — pioneered
by prominent individuals such as Edgar Codd, Ronald Fagin,
Christopher Date, among others
• Object databases — a contemporary approach (also discussed
later in the course)
Since the 1970s, relational databases have dominated the field of database systems.
With the advancement of object databases (notably since the 1990s), relational databases
continue to maintain dominance. Later in the course, you will understand why this
dominance is likely to continue. For now, we assert that relational databases will be
around for a long time in the foreseeable future, and they will be complemented (rather
than challenged) by object databases.
1.5 Desirable Features of a DBS
Contemporary database systems must live up to de facto standards set by the software
engineering industry. Roughly speaking, a well-designed database system must exhibit
the following features (more specific standards will be discussed later in the course):
• Provide most (at least 70%) of the advantages mentioned earlier
• Meet most (at least 70%) of the objectives mentioned earlier
• Provide for easy communication with other systems
• Be platform independent
• Have a friendly user interface
• Be thoroughly documented
1.6 Database Development Life Cycle
You are no doubt familiar with the software development life cycle (SDLC). For the
purpose of review, it is presented in Figure 1-3.
8
Chapter 1 ■ Introduction to Database Systems
Figure 1-3. Software Development Life Cycle
As mentioned earlier (section 1.1), databases do not exist in a vacuum, but are
usually part of a software system. A database development life cycle (DDLC) may therefore
be perceived from two perspectives:
• It may be viewed as being identical and concurrent with the
SDLC. At each phase in the SDLC, consideration is given to the
database as an integral part of the software product.
• If we consider that in many cases, the database has to be
constructed and implemented, and managed as a separate
resource that various software systems can tap into, then we may
construct a similar but different life cycle for the database as
illustrated in Figure 1-4.
Figure 1-4. Database Development Life Cycle
Note:
1. Applying basic investigation skills that you would have
acquired in your software engineering course covers the
database investigation and analysis phase. This course
assumes that you have acquired those skills. The course
therefore concentrates on the other phases.
2. With experience, the database modeling and database
designing phases can be merged into one phase. This will be
further clarified in chapters 3 through 5.
3. Once the database is in implementation phase, management
of it becomes an ongoing experience, until the database
becomes irrelevant to the organization.
9
Chapter 1 ■ Introduction to Database Systems
1.7 Summary and Concluding Remarks
Let us summarize what we have covered in this chapter:
• A database system is a computerized record keeping system with
the overall purpose of maintaining information and making it
available on demand.
• The DBMS is the software that facilitates creation and
administration of the database.
• The DBS is made up of the hardware, the operating system,
the DBMS, the actual database, the application programs and the
end users.
• There are several primary and secondary objectives of a DBS,
which are of importance to the CS professional.
• A DBS brings a number of significant advantages to the business
environment.
• There are five approaches to constructing a DBS. Three of them
are traditional and are no longer used. The two contemporary
approaches are the relational approach and the object-oriented
approach. For various reasons, the relational approach is
fundamental to a course in database systems.
• In striving to acquire a DBS, it is advisable to aspire for a
minimum or 70% of the objectives and advantages. Additionally,
one should strive for platform independence, user-friendliness,
and thorough documentation.
• The database development life cycle outlines the main activities
in the useful life of a DBS.
Interested? We have just begun to touch the surface. There is a lot more to cover.
Most successful software systems are characterized by carefully designed databases. In
fact, it is safe to say that the efficacy of the software system is a function of its underlying
database. So stay tuned: the next chapter provides more clarification on the database
environment.
1.8 Review Questions
1. What is a database system?
2. Why are database systems important?
3. What is a database management system (DBMS)?
4. What are the objectives (primary and secondary) of a DBS?
5. What is data independence, and how important is it?
10
Chapter 1 ■ Introduction to Database Systems
6. What are the advantages of a DBS?
7. What are the possible approaches to acquiring a DBS?
8. How do database systems relate to software engineering?
9. Compare the software development life cycle to the database
development life cycle.
1.9 References and/or Recommended Readings
[Connolly, 2002] Connolly, Thomas and Carolyn Begg. Database Systems: A Practical
Approach to Design, Implementation and Management 3rd ed. New York, NY:
Addison-Wesley, 2002. See chapter 1.
[Date, 2004] Date, Christopher J. Introduction to Database Systems 8th ed. Menlo Park, CA:
Addison-Wesley, 2004. See chapter 1.
[Elmasri, 2007] Elmasri, Ramez and Shamkant B. Navathe. Fundamentals of Database
Systems 5th ed. Reading, MA: Addison-Wesley, 2007. See chapter 1.
[Garcia-Molina, 2002] Garcia-Molina, Hector, Jeffrey Ullman and Jennifer Widom.
Database Systems: The Complete Book. Upper Saddle River, NJ: Prentice Hall, 2002.
See chapter 1.
[Hoffer, 2007] Hoffer, Jeffrey A., Mary B. Prescott and Fred R. McFadden. Modern Database
Management 8th ed. Upper Saddle River, NJ: Prentice Hall, 2007. See chapters 1&2.
[Lewis, 2002] Lewis. Phillip M., Arthur Bernstein and Michael Kifer. Databases and
Transaction Processing: An Application Oriented Approach. New York, NY: Addison-Wesley,
2002. See chapter 1.
[Martin, 1995] Martin, James, and Joe Leben. Client/Server Databases: Enterprise
Computing. Upper Saddle River, NJ: Prentice Hall, 1995. See chapter 1.
[Pratt, 2002] Pratt, Phillip J. and Joseph J. Adamski. Concepts of Database Management
4th ed. Boston, Massachusetts: Course Technology, 2002. See chapter 1.
[Riccardi, 2003] Riccardi, Greg. Database Management With Web Site Development
Applications. Boston, MA: Addison-Wesley, 2003. See chapter 1.
[Rob, 2007] Rob, Peter and Carlos Coronel. Database Systems: Design, Implementation &
Management 7th ed. Boston, MA: Course Technology, 2007.
See chapter 1.
[Ullman, 1997] Ullman, Jeffrey D., and Jennifer Widom. A First Course in Database
Systems. Upper Saddle River, New Jersey: Prentice Hall, 1997. See chapter 1.
11