A relational database management system (RDBMS) is a software program you use to create, maintain, modify, and manipulate a relational database. Many RDBMS programs also provide the tools you need to create end-user applications that interact with the data stored in the database. Of course, the quality of an RDBMS is a direct function of the extent to which it supports the relational database model. Even among "true" RDBMSs, support for the relational database varies among vendors, and there is yet to be a full implementation of the relational model's potential. Despite this, all RDBMS programs continue to evolve and become more full-featured and powerful than ever before.
Since the early 1970s, a number of RDBMS programs have been produced by a variety of software vendors, encompassing various types of computer hardware, operating systems, and programming environments. As we continue our voyage into the beginning of the twenty-first century, it's safe to say that RDBMS programs are as ubiquitous and integrated into our daily lives as cellular phones.
In the earliest days of the relational database, RDBMSs were written for use on mainframe computers. (Didn't everything start on a mainframe?) Two RDBMS programs prevalent in the early 1970s were System R, developed by IBM at its San Jose Research Laboratory in California, and Interactive Graphics Retrieval System (INGRES), developed at the University of California at Berkeley. These two programs contributed greatly to the general appreciation of the relational model.
As the benefits of the relational database became more widely known, many companies decided to make a slow move from hierarchical and network database models to the relational database model, thus creating a need for more and better mainframe RDBMS programs. The 1980s saw the development of various commercial RDBMSs for mainframe computers, such as Oracle, developed by Oracle Corporation, and IBM's DB2.
The early to mid-1980s saw the rise of the personal computer, and with it the development of PC-based RDBMS programs. Some of the early entries in this category, such as dBase by Ashton-Tate and FoxPro from Fox Software, were nothing more than elementary file-based database-management systems. True PC-based RDBMS programs began to emerge with the introduction of R:BASE, originally developed by Microrim, and Paradox, originally developed by Ansa Software. Each of these products helped to spread the idea and potential of database management from the mainframe-dominated domain of information systems departments to the desktop of the common end user.
The need to share data became apparent as more and more users worked with databases throughout the late 1980s and early 1990s. The concept of a centrally located database that could be made available to multiple users seemed a very promising idea. This would certainly make data management and database security much easier to implement. Database vendors responded to this need by developing client/server RDBMS programs.
As Figure 1.7 illustrates, the data in this type of system resides on a computer acting as a database server, and users interact with the data through applications residing on their own computer, or database client. The database developer uses the client/server RDBMS program to create and maintain the database and attendant end-user application programs. She implements data integrity and data security on the database server, giving her the ability to base a variety of user applications on the same set of data without affecting the data's integrity or security.
Client/server RDBMS programs have been widely used for quite some time to manage large volumes of shared data. Some of the more recent entries in the client/server RDBMS category are Microsoft SQL Server 2000 from Microsoft Corporation and Oracle9i Application Server, from Oracle Corporation.