(DBMS) A suite of programs which typically manage large structured sets of persistent data, offering ad hoc query facilities to many users. They are widely used in business applications.
A database management system (DBMS) can be an extremely complex set of software programs that controls the organisation, storage and retrieval of data (fields, records and files) in a database. It also controls the security and integrity of the database. The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.
When a DBMS is used, information systems can be changed much more easily as the organisation's information requirements change. New categories of data can be added to the database without disruption to the existing system.
Data security prevents unauthorised users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of the database, called subschemas (pronounced "sub-skeema"). For example, an employee database can contain all the data about an individual employee, but one group of users may be authorised to view only payroll data, while others are allowed access to only work history and medical data.
The DBMS can maintain the integrity of the database by not allowing more than one user to update the same record at the same time. The DBMS can keep duplicate records out of the database; for example, no two customers with the same customer numbers (key fields) can be entered into the database.
Query languages and report writers allow users to interactively interrogate the database and analyse its data.
If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases. However, it may not leave an audit trail of actions or provide the kinds of controls necessary in a multi-user organisation. These controls are only available when a set of application programs are customised for each data entry and updating function.
A business information system is made up of subjects (customers, employees, vendors, etc.) and activities (orders, payments, purchases, etc.). Database design is the process of deciding how to organize this data into record types and how the record types will relate to each other. The DBMS should mirror the organisation's data structure and process transactions efficiently.
Organisations may use one kind of DBMS for daily transaction processing and then move the detail onto another computer that uses another DBMS better suited for random inquiries and analysis. Overall systems design decisions are performed by data administrators and systems analysts. Detailed database design is performed by database administrators.
The three most common organisations are the hierarchical database, network database and relational database. A database management system may provide one, two or all three methods. Inverted lists and other methods are also used. The most suitable structure depends on the application and on the transaction rate and the number of inquiries that will be made.
Database machines are specially designed computers that hold the actual databases and run only the DBMS and related software. Connected to one or more mainframes via a high-speed channel, database machines are used in large volume transaction processing environments. Database machines have a large number of DBMS functions built into the hardware and also provide special techniques for accessing the disks containing the databases, such as using multiple processors concurrently for high-speed searches.
The world of information is made up of data, text, pictures and voice. Many DBMSs manage text as well as data, but very few manage both with equal proficiency. Throughout the 1990s, as storage capacities continue to increase, DBMSs will begin to integrate all forms of information. Eventually, it will be common for a database to handle data, text, graphics, voice and video with the same ease as today's systems handle data.
See also: intelligent database.