Among the key programming services that can be provided by a professional to a client in the business world is database design. This process is performed by creating a detailed model, expressed in terms of data, of all of the requirements and necessary measures for implementing them incurred by the need to create a design. Though the programming service of database design can involve the wide range of functions used in constructing and maintaining a database, the most important element of this design is the structure it expresses for storing all of the disparate pieces of information. Information is thus expressed both in discrete units and in relation of different pieces to each other. This will then determine how the database can operate within itself and how it can be accessed.
Database design serves as a particularly apt example of the challenges and skills demanded in the field of programming services in its essential balance between technical expertise and practical function. Often an aspect of this programming service is the division in function between the individual with expertise in the construction of databases and the individual with expertise in the subject the database is designed to encompass. In order to formulate a clear idea of how the database should function, the person with expertise in programming services must be able to determine from the other how the information involved behaves and how it can be contained in a structure. Thus, skill in rendering a programming service includes facility in eliciting knowledge from other people as well in mastering technical approaches to data. Ultimately the success of this programming service lies in the successful interplay between the general mastery of database technology and the specific mastery of an area of knowledge.
In implementing this aspect of programming services, the specific consideration to be made is classed under the title of “conceptual schema,” which determines how pieces of data rely on each other. Thus alterations to information stored within the database can be clearly registered. In this method for conceptualizing information, one piece of information depends on the other, but the reverse is not true. The final stage of the programming service then takes place with the structuring of the information according to the dependencies and relationships that have been determined within it.
This programming service can be approached from the slightly different approach conceiving of the database in Object terms. Whereas the other method for organizing databases is referred to as relational, this approach takes a hierarchical approach, defining “objects” of a class of information in terms of their “inheritance” or place above each other. The objects are accessed directly by the techniques designed for the programming service, while the relationships they bear to each other are less directly involved, understood rather as features which are listed as belong to the objects. In a relational database, on the other hand, the information stored as objects in the structure are data tables, taking the form in physical terms of rows and columns.


