1.5 Database management systems


A database management system (or DBMS) is essentially nothing more than a computerized data-keeping system. DBMS stands for "Database Management System." In short, a DBMS is a database program. Technically speaking, it is a software system that uses a standard method of cataloging, retrieving, and running queries on data. The DBMS manages incoming data, organizes it, and provides ways for the data to be modified or extracted by users or other programs. Users of the system are given facilities to perform several kinds of operations on such a system for either manipulation of the data in the database or the management of the database structure itself. Database Management Systems (DBMSs) are categorized according to their data structures or types. There are several types of databases that can be used on a mainframe to exploit z/OS: inverted list, hierarchic, network, or relational.



1.5 Database management systems






















Figure 2.3: A screen shot from Microsoft Office Access



1.5 Database management systems


Mainframe sites tend to use a hierarchical model when the data structure (not data values) of the data needed for an application is relatively static. For example, a Bill of Material (BOM) database structure always has a high level assembly part number, and several levels of components with subcomponents. The structure usually has a component forecast, cost, and pricing data, and so on. The structure of the data for a BOM application rarely changes, and new data elements (not values) are rarely identified. An application normally starts at the top with the assembly part number, and goes down to the detail components.

Advantages of using a database system

When computer systems were first developed, the data was stored on individual files that were unique to an application or even a small part of an individual application. But a properly designed and implemented DBMS provides many advantages over a flat file PDS system:
- It reduces the application programming effort.
- It manages more efficiently the creation and modification of, and access to, data than a non-DBMS system. As you   know, if new data elements need to be added to a file, then all applications that use that file must be rewritten, even   those that do not use the new data element. This need not happen when using a DBMS. Although many   programmers have resorted to "tricks" to minimize this application programming rewrite task, it still requires effort.
- It provides a greater level of data security and confidentiality than a flat file system. Specifically, when accessing a   logical record in a flat file, the application can see all data elements--including any confidential or privileged data. To   minimize this, many customers have resorted to putting sensitive data into a separately managed file, and linking the   two as necessary. This may cause data consistency issues.



1.5 Database management systems


With ordinary manual files, user might store the same information is several different places; for example, the details of a customer might be in both the ordering and invoicing application. This causes a number of problems:

- Because the details are stored and processed independently, details that are supposed to be the same (for    example, a customer's name and address), might be inconsistent in the various applications.

- When common data has to be changed, it must be changed in several places, causing a high workload. If any    copies of the data are missed, it results in the problems detailed in the previous point.

- There is no central point of control for the data to ensure that it is secure, both from loss and from unauthorized    access.

- The duplication of the data wastes space on storage media.

A DBMS can help address the above problems. Examples of DBMS include; MySQL, PostgreSQL, Microsoft Access, SQL Server, FileMaker, Oracle, RDBMS, dBASE, Clipper, and FoxPro. Since there are so many database management systems available, it is important for there to be a way for them to communicate with each other. For this reason, most database software comes with an Open Database Connectivity (ODBC) driver that allows the database to integrate with other databases. For example, common SQL statements such as SELECT and INSERT are translated from a program's proprietary syntax into a syntax other databases can understand.