Database Reference
In-Depth Information
of this metadata in system tables, but this metadata is inadequate to answer the ques-
tions posed by senior management. The DBA needs additional metadata about COM and
ActiveX objects, script procedures and functions, Active Server Pages (ASPs), style sheets,
document type definitions, and the like. Furthermore, although DBMS security mecha-
nisms document users, groups, and privileges, they do so in a highly structured, and often
inconvenient, form.
For all of these reasons, many organizations develop and maintain data repositories ,
which are collections of metadata about databases, database applications, Web pages, users,
and other application components. The repository may be virtual in that it is composed of
metadata from many different sources: the DBMS, version-control software, code libraries,
Web page generation and editing tools, and so forth. Or the data repository may be an inte-
grated product from a CASE tool vendor or from a company such as Microsoft or Oracle.
Either way, the time for the DBA to think about constructing such a facility is long before
senior management asks questions. In fact, the repository should be constructed as the system
is developed and should be considered an important part of the system deliverables. If such
a facility is not constructed, the DBA will always be playing catch-up—trying to maintain
the existing applications, adapting them to new needs, and somehow gathering together the
metadata to form a repository.
The best repositories are active repositories —they are part of the systems development
process in that metadata is created automatically as the system components are created. Less
desirable, but still effective, are passive repositories , which are filled only when someone
takes the time to generate the needed metadata and place it in the repository.
The Internet has created enormous opportunities for businesses to expand their cus-
tomer bases and increase their sales and profitability. The databases and database applica-
tions that support these companies are an essential element of that success. Unfortunately, the
growth of some organizations will be stymied by their inability to grow their applications or
adapt them to changing needs. Often, building a new system is easier than adapting an exist-
ing one. Building a new system that integrates with an old one while it replaces that old one
can be very difficult.
Summary
Multiuser databases pose difficult problems for the organiza-
tions that create and use them, and most organizations have
created an office of database administration to ensure that
such problems are solved. In this text, the term database
administrator refers to the person or office that is concerned
with a single database. The term data administrator is used
to describe a management function that is concerned with
the organization's data policy and security. Major functions
of the database administrator are listed in Figure 9-1.
The database administrator (DBA) participates in the
initial development of database structures and in provid-
ing configuration control when requests for changes arise.
Keeping accurate documentation of the structure and
changes to it is an important DBA function.
The goal of concurrency control is to ensure that one
user's work does not inappropriately influence another us-
er's work. No single concurrency control technique is ideal
for all circumstances. Trade-offs need to be made between
the level of protection and throughput. A transaction, or
logical unit of work (LUW), is a series of actions taken
against the database that occurs as an atomic unit; either all
of them occur or none of them does. The activity of concur-
rent transactions is interleaved on the database server. In
some cases, updates can be lost if concurrent transactions
are not controlled. Another concurrency problem concerns
inconsistent reads.
To avoid concurrency problems, database elements are
locked. Implicit locks are placed by the DBMS; explicit locks
are issued by the application program. The size of the locked
resource is called lock granularity. An exclusive lock prohib-
its other users from reading the locked resource; a shared
lock allows other users to read the locked resource but not
update it. Two transactions that run concurrently and gen-
erate results that are consistent with the results that would
have occurred if they had run separately are referred to as
serializable transactions. Two-phase locking, in which locks
are acquired in a growing phase and released in a shrink-
ing phase, is one scheme for serializability. A special case
 
 
 
Search WWH ::




Custom Search