1.
1 INTRODUCTION
Databases and database technology are having a major impact on the growing use of computers. It is
fair to say that databases playa critical role in almost all areas where computers are used, including
business, electronic commerce, engineering, medicine, law,
education, and library science, to name a few. The word database is in such common use
that we must begin by defining what a database is. Our initial definition is quite general.
A database is a collection of related data. 1 By data, we mean known facts that can be
recorded and that have implicit meaning. For example, consider the names, telephone
numbers, and addresses of the people you know. You may have recorded this data in an
indexed address book, or you may have stored it on a hard drive, using a personal
computer and software such as Microsoft Access, or Excel. This is a collection of related
data with an implicit meaning and hence is a database.
The preceding definition of database is quite general; for example, we may consider
the collection of words that make up this page of text to be related data and hence to
constitute a database. However, the common use of the term database is usually more
restricted. A database has the following implicit properties:
• A database represents some aspect of the real world, sometimes called the miniworld
or the universe of discourse (DoD). Changes to the miniworld are reflected in the
database.
• A database is a logically coherent collection of data with some inherent meaning. A
random assortment of data cannot correctly be referred to as a database.
• A database is designed, built, and populated with data for a specific purpose. It has an
intended group of users and some preconceived applications in which these users are
interested.
1. We will use the word data as both singular and plural, as is common in database literature; con
2. e contents of the database.
3. A database can be of any size and of varying complexity. For example, the list of
4. names and addresses referred to earlier may consist of only a few hundred records, each
5. with a simple structure. On the other hand, the computerized catalog of a large library
6. may contain half a million entries organized under different categories-by primary
7. author's last name, by subject, by book title-with each category organized in alphabetic
8. order. A database of even greater size and complexity is maintained by the Internal
9. Revenue Service to keep track of the tax forms filed by u.S. taxpayers. If we assume that
10. there are 100 million taxpayers and if each taxpayer files an average of five forms with
11. approximately 400 characters of information per form, we would get a database of 100 X
12. 106 X 400 X 5 characters (bytes) of information. If the IRS keeps the past three returns for
13. each taxpayer in addition to the current return, we would get a database of 8 X 1011 bytes
14. (800 gigabytes). This huge amount of information must be organized and managed so that
15. users can search for, retrieve, and update the data as needed.
16. A database may be generated and maintained manually or it may be computerized.
17. For example, a library card catalog is a database that may be created and maintained
18. manually. A computerized database may be created and maintained either by a group of
19. application programs written specifically for that task or by a database management
20. system. Of course, we are only concerned with computerized databases in this book.
21. A database management system (DBMS) is a collection of programs that enables
22. users to create and maintain a database. The DBMS is hence a general-purpose software
23. system that facilitates the processes of defining, constructing, manipulating, and sharing
24. databases among various users and applications. Defining a database involves specifying
25. the data types, structures, and constraints for the data to be stored in the database.
26. Constructing the database is the process of storing the data itself on some storage
27. medium that is controlled by the DBMS. Manipulating a database includes such functions
28. as querying the database to retrieve specific data, updating the database to reflect changes
29. in the miniworld, and generating reports from the data. Sharing a database allows
30. multiple users and programs to access the database concurrently.
31. Other important functions provided by the DBMS include protecting the database and
32. Other important functions provided by the DBMS include protecting the database and
33. maintaining it over a long period of time. Protection includes both system protection
34. against hardware or software malfunction (or crashes), and security protection against
35. unauthorized or malicious access. A typical large database may have a life cycle of many
36. years, so the DBMS must be able to maintain the database system by allowing the system to
37. evolve as requirements change over time.
38. It is not necessary to use general-purpose DBMS software to implement a
39. computerized database. We could write our own set of programs to create and maintain
40. the database, in effect creating our own special-purpose DBMS software. In either casewhether
we use a general-purpose DBMS or not-we usually have to deploy a considerable
41. amount of complex software. In fact, most DBMSs are very complex software systems.
42. To complete our initial definitions, we will call the database and DBMS software
43. together a database system. Figure I. I illustrates some of the concepts we discussed so far.
44. 1.4.2 Database Designers Database designers are responsible for identifying the data to be
stored in the database and for choosing appropriate structures to represent and store this data.
These tasks are mostly undertaken before the database is actually implemented and populated
with data. It is the responsibility of database designers to communicate with all prospective
database users in order to understand their requirements, and to come up with a design that
meets these requirements. In many cases, the designers are on the staff of the DBA and may be
assigned other staff responsibilities after the database design is completed. Database designers
typically interact with each potential group of users and develop views of the database that
meet the data and processing requirements of these groups. Each view is then analyzed and
integrated with the views of other user groups. The final database design must be capable of
supporting the requirements of all user groups. 1.4.3 End Users End users are the people whose
jobs require access to the database for querying, updating, and generating reports; the database
primarily exists for their use. There are several categories of end users: • Casual end users
occasionally access the database, but they may need different information each time. They use a
sophisticated database query language to specify their requests and are typically middle- or
high-level managers or other occasional browsers. • Naive or parametric end users make up a
sizable portion of database end users. Their main job function revolves around constantly
querying and updating the database, using standard types of queries and updates-called canned
transactions-that have been carefully programmed and tested. The tasks that such users
perform are varied: Bank tellers check account balances and post withdrawals and deposits.
Reservation clerks fur airlines, hotels, and car rental companies check availabili1.4.4 System
Analysts and Application Programmers (Software Engineers) System analysts determine the
requirements of end users, especially naive and parametric end users, and develop
specifications for canned transactions that meet these requirements. Application programmers
implement these specifications as programs; then they test, debug, document, and maintain
these canned transactions. Such analysts and programmers-commonly referred to as software
engineers-should be familiar with the full range of capabilities provided by the DBMS to
accomplish their tasks. 1.5 WORKERS BEHIND THE SCENE In addition to those who design, use,
and administer a database, others are associated with the design, development, and operation
of the DBMS software and system environment. These persons are typically not interested in
the database itself. We call them the "workers behind the scene," and they include the following
categories. • DBMS system designers and implementers are persons who design and implement
the DBMS modules and interfaces as a software package. A DBMS is a very complex software
system that consists of many components, or modules, including modules for implementing the
catalog, processing query language, processing the interface, accessing and buffering data,
controlling concurrency, and handling data recovery and security. The DBMS must interface with
other system software, such as the operating system and compilers for various programming
languages. • Tool developers include persons who design and implement tools-the software
packages that facilitate database system design and use and that help improve performance.
Tools are optional packages th