The history of database research over the past 30 years is one of exceptional
productivity that has led to the database system becoming arguably the most impor
tant development in the field of software engineering- The database is now the
underlying framework of the information system, and has fundamentally changed
the way many organizations operate. In particular, the developments in this tech
nology over the last few years have produced systems that are more powerful and
more intuitive to use. This has resulted in database systems becoming increasingly
available to a wider variety of users. Unfortunately, the apparent simplicity of these
systems has led to users creating databases and applications without the necessary
knowledge to produce an effective and efficient system. And so the 'software
crisis' or, as it is sometimes referred to, the 'software depression' continues.
The original stimulus for this book came from the authors' work in industry,
providing consultancy on database design for new software systems or, as often as
not, resolving inadequacies with existing systems. Added to this, the authors' move
to academia brought similar problems from different users - students. The objec
tives of this book, therefore, are to provide a textbook that introduces the theory
behind databases as clearly as possible and, in particular, to provide a methodology
for database design that can be used by both technical and non-technical readers.
The methodology presented in this book for relational Database Manage
ment Systems (DBMSs) - the predominant system for business applications at
present - has been tried and tested over the years in both industrial and academic
environments. It consists of three main phases: conceptual, logical, and physical
database design. The first phase starts with the production of a conceptual data
model that is independent of all physical considerations. This model is then refined
in the second phase into a logical data model by removing constructs that cannot
be represented in relational systems. In the third phase, the logical data model is
translated into a physical design for the target DBMS. The physical design phase
considers the storage structures and access methods required for efficient access to
the database on secondary storage.