DATABASE MANAGEMENT SYSTEMS

Databases are used within a medical context for many purposes. For example, they are used to hold patient details so they can be accessed from anywhere within a hospital or network of hospitals. With the recent improvements in image compression techniques, X-rays and scan output can also be held in databases and accessed in the same way.

These multi-user databases are managed by a piece of software called a database management system (DBMS). It is this which differentiates a database from an ordinary computer file. Between the physical database itself (i.e. the data as actually stored) and the users of the system is the DBMS. All requests for access to data from users - whether people at terminals or other programs running in batch - are handled by the DBMS.

One general function of the DBMS is the shielding of database users from machine code (in much the same way that COBOL shields programmers from machine code). In other words, the DBMS provides a view of the data that is elevated above the hardware level, and supports user-requests such as 'Get the PATIENT record for patient Smith', written in a higher-level language.

The DBMS also determines the amount and type of information that each user can access from a database. For example, a surgeon and a hospital administrator will require different views of a database.

When a user wishes to access a database, he makes an access request using a particular data-manipulation language understood by the DBMS. The DBMS receives the request, and checks it for syntax errors. The DBMS then inspects, in turn, the external schema, the conceptual schema, and the mapping between the conceptual schema and the internal schema. It then performs the necessary operations on the stored data.

In general, fields may be required from several logical tables of data held in the database. Each logical record occurrence may, in turn, require data from more than one physical record held in the actual database. The DBMS must retrieve each of the required physical records and construct the logical view of the data requested by the user. In this way, users are protected from having to know anything about the physical layout of the database, which may be altered, say, for performance reasons, without the users having their logical view of the data structures altered.