Before considering the normal database application development cycle and the DBA's role within it, the DBA must understand what the user requires from the database. The word "user" in its widest sense embraces user management and personnel, data processing management, computer operations, programming, systems, software support and the DBA's section.
The relationship between the DBA and the user community can be delicate, especially if a particular user actually or apparently must expend more effort or accept a lower level of service than would be the case outside the database environment.
The users should feel that the DBA is an impartial and unbiased authority whose decisions will enhance the welfare (and support the policies) of the organization as a whole.
The DBA must be aware of both corporate long-range plans and long-range user needs. The DBA must reconcile any conflicts that arise between users or between a particular user and any corporate plans that are affected.
Note that during the development of a new application, the DBA should involve the project group in any interaction with the end user.
This document covers the following topics:
Liaison with the user (whether programmer or end user) is the most important and sensitive part of the DBA's job.
In responding to an end-user request (which will normally be made in terms of retrieval requirements), the DBA should check the documentation describing the production database, particularly the logical data structure, to see whether the request can be readily handled.
Four basic outcomes are possible:
The request cannot be fulfilled at present
In this case, the DBA should note the request, and review it at
regular intervals to determine whether the situation (or need) has changed;
Preparing a one-time request
Using Natural, it may be possible to satisfy the request from the
existing database with minimum effort. Irrespective of whether the DBA's
section actually writes the application to fulfill the request-indeed, the user
department may have this capability-or if the application is written by a
programmer, the point is that the DBA should define the solution to this
one-time requirement for database information;
Creating a new application program
Here the application is to be run regularly. The DBA will specify the
program and negotiate with the programming manager for it to be written and
tested;
Changing an existing application
This may, of course, involve negotiation with the "prime owner" of the
application system, if that person is different from the requestor, because any
such change affect the performance or flexibility of the system.
Any end-user request should be fully documented, whatever the outcome. Such requests form one of the most useful information sources of information for the DBA as to whether or not the training supplied to the end user has been effective.
Requests from data processing personnel will normally be for
Training | The DBA should decide with the requestor what training is required and when. The DBA will need to cultivate an awareness in data processing management, that such training cannot be provided at a moment's notice. Such training should be properly planned in advance. |
Information | The DBA will need to be satisfied that the requestor needs to know and is authorized to have the information. If the answer to either of these questions deviates from the normal situation, some temporary or permanent adjustment to existing standards and/or practices may need to be made. |
Problems | The DBA will either know the answer or may need to refer the problem to Software AG. In the latter case, the DBA will need to assemble as much documentation on the problem as possible. |
Assistance | This could take a variety of courses. The DBA should ensure that it is indeed the DBA's responsibility to provide the assistance that has been requested. |
The DBA must have administrative control over any access to and updating of the database. The DBA should establish with the users, the rights of access for each item in the database. Most of these access and update authorities will be evident from the design of the application systems which use the data and the data items will be secured with this in mind. When an unplanned request arises, the user should discuss this with the DBA. The latter, by reference to the database documentation, will be able to advise the user on the best way to satisfy the request. In addition, the very existence of the request is in itself useful input to the DBA's monitoring of the use of the database.
The requirement for access to the database, whether as a part of an application system or as an unplanned requirement, can be thought of as a "user view" or subschema of the database implementation. Its content, security, mode of access and manipulation should all be discussed and recorded.
Occasionally, the access requirement will cross application system boundaries. In this case, the DBA will need to discuss the right to access the data item with the item's "owner".
The documentation standards should define the normal interface for an application program to interact with the DBMS. One of two approaches may be used:
Direct calls to Adabas from a host programming language;
Calls for service to an access module.
Whichever of these two approaches is used, there will be cases where it is not appropriate or even possible to adhere to the standard interface policy. Before deviating from the standard interface technique, however, the DBA should be consulted and approval obtained.
When dealing with unplanned requirements, the DBA should advise the user on the interface approach to be adopted. This may be an application program, with or without an SQL access module; Natural; or something else.
The DBA should carefully explain to the user the benefits which are to be derived from conforming to database standards and control and the problems that can arise if any particular user decides to ignore them.
A feeling of mutual trust between the user and the DBA must be developed. The users should feel that the DBA is an impartial and unbiased authority, whose decisions will enhance the welfare and support the policies of the organization as a whole.
If the user is allowed to access the database using Natural, the DBA should be encouraged to record any unplanned requests and inform the DBA at regular intervals of these requirements. This is a part of the feedback and monitoring information that helps the DBA to ensure the continued effectiveness of the database environment.