System Concepts and
The architecture of DBMS packages has evolved from the early
monolithic systems, where
the whole DBMS software package
was one tightly integrated system, to the modern DBMS packages that are modular
in design, with a client/server system architecture. This evolution mirrors the
trends in computing, where large centralized mainframe computers are being
replaced by hundreds of distributed workstations and personal computers
connected via communications networks to various types of server machines—Web
servers, database servers, file servers, application servers, and so on.
In a basic client/server DBMS architecture, the system functionality is
distributed between two types of modules. A client module is typically
designed so that it will run on a user workstation or personal computer.
Typically, application programs and user interfaces that access the database
run in the client module. Hence, the client module handles user interaction and
provides the user-friendly interfaces such as forms- or menu-based GUIs
(graphical user interfaces). The other kind of module, called a server module, typically handles data
storage, access, search, and other functions. We discuss client/server
architectures in more detail in Section 2.5. First, we must study more basic
concepts that will give us a better understanding of modern database
In this chapter we present the terminology and basic concepts that will
be used throughout the book. Section 2.1 discusses data models and defines the
concepts of schemas and instances, which are fundamental to the study of
database systems. Then, we discuss the three-schema DBMS architecture and data
independence in Section 2.2; this provides a user’s perspective on what a DBMS
is supposed to do. In Section 2.3 we describe the types of interfaces and
languages that are typically provided by a DBMS. Section 2.4 discusses the
database system software environment.
Section 2.5 gives an overview of various types of client/server
architectures. Finally, Section 2.6 presents a classification of the types of
DBMS packages. Section 2.7 summarizes the chapter.
The material in Sections 2.4 through 2.6 provides more detailed concepts
that may be considered as supplementary to the basic introductory material.