OVERVIEW OF DATABASE MANAGMENT SYSTEMS
The area of database management systenls is a microcosm of computer science in general. The issues addressed and the techniques used span a wide spectrum, including languages, object-orientation and other progTamming paradigms, compilation, operating systems, concurrent programming, data structures, algorithms, theory, parallel and distributed systems, user interfaces, expert systems and artificial intelligence, statistical techniques, and dynamic programming.
We cannot go into all these &<;jpects of database management in one book, but we hope to give the reader a sense of the excitement in this rich and vibrant discipline.
A database management system, or DBMS, is software designed to assist
in maintaining and utilizing large collections of data. The need for such systems, as well as their use, is growing rapidly. The alternative to using a DBMS is to store the data in files and write application-specific code to manage it.
ADVANTAGES OF A DBMS
Data Independence: Application programs should not, ideally, be exposed to details of data representation and storage, The DBJVIS provides
an abstract view of the data that hides such details.
Efficient Data Access: A DBMS utilizes a variety of sophisticated techniques to store and retrieve data efficiently. This feature is especially impOl’tant if the data is stored on external storage devices.
Data Integrity and Security: If data is always accessed through the
DBMS, the DBMS can enforce integrity constraints. For example, before
inserting salary information for an employee, the DBMS can check that
the department budget is not exceeded. Also, it can enforce access contmls
that govern what data is visible to different classes of users.
Data Administration: When several users share the data, centralizing
the administration of data can offer sig11ificant improvements. Experienced professionals who understand the nature of the data being managed, and how different groups of users use it, can be responsible for organizing the Data representation to minimize redundancy and for fine-tuning the storage of the data to make retrieval efficient.
Concurrent Access and Crash Recovery: A DBMS schedules concurrent accesses to the data in such a manner that users can think of the data
as being accessed by only one user at a time. Further, the DBMS protects
users from the effects of system failures.
Reduced Application Development Time: Clearly, the DBMS supports important functions that are common to many applications accessing
data in the DBMS. This, in conjunction with the high-level interface to the
data, facilitates quick application development. DBMS applications are
also likely to be more robust than similar stand-alone applications because
many important tasks are handled by the DBMS (and do not have to be
debugged and tested in the application).