Preface – Introduction to Database Management Systems

Preface

The traditional mechanism for storing computer data was data files. Data files have been immensely popular since the 1960s. The earlier commercially successful programming languages such as COBOL had extensive features related to file processing. In fact, even today, many major computer applications run on file-based computer systems.

However, all this has also changed in the last few decades. Database Management Systems (DBMS) has become a subject of great significance in the Information Technology industry. Most serious business applications need the presence of DBMS in some form or the other. DBMS is replacing files as the de facto standard for storing data that is medium/long term in nature. This is especially true in the case of most newly developed applications.

DBMS is a fascinating subject. Many people confuse it with Structured Query Language (SQL). However, SQL is just one aspect of DBMS technology. Understanding how DBMS technology really works involves the study of many theoretical concepts, such as database design, modelling, transaction management, security, concurrency, and so on.

I have read a number of books on DBMS. Most of them explain DBMS technology quite well, but there is one aspect that I find quite intimidating, and that is the complexity of these books. I have a strong and sincere belief that without using almost any jargon and mathematics, we can study most aspects of the DBMS technology. It is intimidating to see complex mathematics and cryptic symbols one page after the other when learning DBMS. That is the sole reason why I have attempted to keep the material as simple as it can get. The idea is that even a person with very little background in computers will be able to grasp the main concepts in DBMS, and if he/she is interested, can go ahead and study the more complex features.

Here are the main features of the book.

  • Orientation: An attempt has been made to cover the topics in an appropriate sequence, so that it is sufficient for the managers/professionals/teachers/students to refer to this book alone for learning about DBMS.
  • Contents: The book covers all the major concepts in the DBMS technology that a reader at any level needs to understand.
  • Style: An attempt has been made to keep the language very simple and to make the explanations extremely lucid.
  • Visual approach: The book features a number of illustrations and diagrams (close to 400) to enable an easier grasp of the subject.
  • Pedagogical features: Every chapter contains a list of Key Terms and Concepts, Chapter Summary and self-study questions in the form of True/False questions, Multiple-choice questions and Detailed questions. In addition, Exercises are also provided at the end of every chapter.

The chapter-wise organisation of the book is as follows.

Chapter 1 provides a lot of background material to the subject of DBMS. This chapter covers the basics of storing data. We study the meaning and purpose of file systems with simple examples. We also discuss the various types of data structures used in file systems. The chapter also covers various kinds of file systems/organisations.

Chapter 2 introduces the concept of DBMS. It examines why we need DBMS in the first place. We also study the advantages of DBMS over file-based systems. We then study the basics of SQL. The key concepts in SQL, in the form of Data Definition Language (DDL), Data Manipulation Language (DML), and Data Control Language (DCL) are explained here. We also study dynamic and embedded SQL. The chapter also covers the various DBMS models, namely Hierarchical, Network, and Relational.

Chapter 3 focuses on the most popular of the three DBMS models: the Relational Database Management Systems (RDBMS). After a primer of RDBMS theory, we study relational algebra, and relational calculus. We also take a look at the concepts of database integrity, constraints, keys, and views.

Chapter 4 covers the topic of database design. We take a look at the concepts of functional and transitive dependencies to start with. We then move on to the topic of Normalisation. All the five important Normal Forms are covered in great detail with lots of examples and theory. Then we move on to Entity/Relationship (E/R) modelling.

Chapter 5 explains the beauty of transactions. Transaction management is a very important concept in DBMS. Without transactions, most serious business applications would simply not work. The chapter details what we mean by Transactions, the concept of Recovery, Transaction models, Two phase commit protocol, Concurrency problems, and how Locking can solve them. We also study the idea of Deadlocks and Two phase locking.

Chapter 6 deals with the aspects of Database security. We cover the classification of data and then move on to the kinds of risks we face in computer systems. The chapter moves on to the technical details of Cryptography and Digital signatures. It also covers User and Object privileges. The discussion concludes with an overview of Statistical databases.

Chapter 7 focuses on Query execution and optimisation. We study the impact of using indexes on query performance. There are various ways in which the SELECT queries in SQL can be implemented. We study all the background material related to this. Certain optimisation recommendations are also provided. The chapter also covers the topic of Database statistics.

Chapter 8 explains the idea of Distributed databases. We study the Advantages, Architecture, Issues, Techniques, Query processing, Concurrency control, Recovery, and Deadlocks related to distributed databases. The chapter also covers the idea of Client/Server computing. We end with a small note on C.J. Date's 12 rules related to distributed databases.

Chapter 9 begins with the basic concepts such as data, information, its quality, and value. It then covers the relatively new topics of Decision support systems, Data warehousing, and Data mining. We also discuss the concept of Online Analytical Processing (OLAP).

Chapter 10 deals with the marriage between Object technology and DBMS. We cover the key Object oriented (OO) concepts such as abstraction, encapsulation, and inheritance. We then study their relevance to RDBMS and later on provide a detailed coverage of Object Oriented Database Management Systems (OODBMS).

Chapter 11 covers some modern concepts in DBMS, such as Deductive databases, Internet and DBMS, Multimedia databases, Digital libraries, and Mobile databases.

A number of appendices provide a solid base of Data structures, Case studies, Programming examples, Searching and Sorting techniques, etc.

The following symbols have been used in the book.

  1. Fundamental Concepts
  2. Significant Points

I hope that the book has a significant use for the professionals, teachers and students of DBMS. All the same, I am aware that there may be areas where we can improve. You are most welcome to write to me at akahate@indiatimes.com for any comments or suggestions.

ATUL KAHATE