Chapter 2 • Computer Systems 53
is a very complex and often costly software product, ranging
in price from under $500 for a PC product to $200,000 or
more for a DBMS on a large mainframe computer.
Thedatabase architecturerefers to the way in
which the data are structured and stored in the database.
When selecting among database architectures, it is impor-
tant to consider the types of data to be stored and how they
will be processed and used. The five basic architectures are
the following:
- HierarchicalCharacterized by the IBM product
Information Management System (IMS)—data are
arranged in a top-down organization chart fashion. - NetworkA good example is Integrated Database
Management System (IDMS, now called CA IDMS)
from Computer Associates—data are arranged like
the cities on a highway system, often with several
paths from one piece of data to another. - RelationalMany such products exist, including
Microsoft Access and Microsoft SQL Server, IBM
DB2, Oracle, MySQL (owned by Oracle), and
Ingres—data are arranged into simple tables, and
records are related by storing common data in each
of the associated tables. The relational DBMSis the
most common organizational approach to organizing
data. In an interesting development, Ingres (from
Ingres Corporation) and MySQL (from Oracle) are
now open source software products; they can be
downloaded and used for free—the user pays only
for service and consulting. Also, there are special
versions of relational DBMSs that are optimized for
very large databases (data warehouses) that support
various kinds of analytical, not operational, data pro-
cessing. Such systems are available from companies
including Teradata, Oracle, Netezza, and Vertica. - Object-orientedAmong the better known products
are Versant Object Database, Progress ObjectStore,
and Objectivity/DB—data can be graphics, video,
and sound as well as simpler data types; attributes
(data) and methods are encapsulated in object classes,
and relationships between classes can be shown by
nesting one class within another. - Object-relationalThis hybrid approach to organiz-
ing data capitalizes on the capability of object-
oriented databases to handle complex data types and
on the inherent simplicity of the relational data
model. Although object-oriented data modeling
tends to be well-suited for engineering and scientific
applications, the object-relational approach is
more appropriate for business applications. Object-
relational database products include Oracle, IBM’s
DB2 and Cloudscape (which is also an open source
product), and FFE Software’s FirstSQL/J.
DATABASE PROGRAMMINGData processing activity
with a database can be specified in either procedural
programs written in a 3 GL or via special-purpose
languages developed for database processing. In a relatively
new development, languages such as XML and Java allow
access to a database from a Web site. In the case of a 3 GL
program, additional and more powerful instructions are
added to the vocabulary of the programming language. For
example, in a customer and order database the storage of a
new order record not only necessitates storing the order
data themselves but also updating various linkages (indexes)
that tie together a customer record with its associated order
records. In a regular 3 GL program, instructions to write
new data to the customer record, its index, the order
record, and its indexes would have to be provided individ-
ually. With the commands available through the special
enhancements to the language provided by the DBMS,
only one instruction is needed in the program and all the
associated indexes and records are updated automatically,
which makes the programming task more productive and
less error-prone.
A DBMS also frequently provides a 4 GL, nonproce-
dural special-purpose language, called a query language,
for posing queries to the database. For example, the fol-
lowing is a query in the SQL/DS command language:
SELECT ORDER#, CUSTOMER#, CUSTNAME,
ORDER-DATE FROM CUSTOMER, ORDER
WHERE ORDER-DATE > ‘03/12/11’
AND CUSTOMER.CUSTOMER# =
ORDER.CUSTOMER#
This is all that is required to request the display of the
order number and date from each order record, plus the
customer number and name from the associated
customer record, for orders placed after March 12, 2011.
The equivalent COBOL program might require 10 or
more PROCEDURE DIVISION instructions. The popu-
larity of such products as Access, Ingres, and several
SQL-based language products (a standard created by the
American National Standards Institute, orANSI)is
due in great measure to the existence of such easy-to-use
query languages.
MANAGING THE DATA RESOURCE Data are now recog-
nized as a major organizational resource, to be managed
like other assets such as land, labor, and capital. Chapter 4
will be entirely devoted to the data resource. For now, let
us note that a DBMS is an important software tool for
managing the data resource. Another software tool for
managing the data resource is a data dictionary/directory
(DD/D),which is a repository of data definitions that is
shared among all the users. Such a central catalog is used
by the DBMS and system users whenever the meaning,