Database Design Methodology - Databases: Designing

Database design methodology

In the process of developing a database as an integral part of an information system, developers need to go through a number of steps, many of which are described in the previous sections and will be considered further. These steps form the methodology for developing a database, forming the most complete description of the technologies for the representation, storage and processing of data by computer systems.

By the methodology of design is understood the process of describing the system being developed, regulated by a finite number of certain stages, laws and rules for the development of individual components, and notations that determine the formats for representing the elements being developed.

For the development of databases, there is also a design methodology that involves a number of steps, from the analysis of the subject area and documents to the description of procedures for processing and reporting data. The development of the database is based on a preliminary analysis of the subject area, on the allocated basic and auxiliary functions, as well as the description of the environment of each function. The use of this information gives the developer a rationale for using the necessary entities when modeling the necessary attributes and presenting the necessary attributes in them, organizing the correct connections between entities.

Approaches in the development of databases: classical (from documents) and functionally-objective (from functions and objects), implement a unified database design methodology, determining, depending on the chosen approach, the key element of analysis - document or object, respectively .

The development of the classical approach in the design of a relational database is based on the fact that the main element of the user's work in the domain is a document containing the necessary information that it is expedient to store in a database with subsequent submission in electronic and paper documents. This approach practically does not take into account the peculiarities of working with data within the individual functions of the user of the information system for which the database is developed. The developers recalled the functional utility of the database only at the time of the development of data processing procedures and the implementation of the software application.

Thus, the classical approach allows to create an indivisible information system, which was good for functional systems, including closely related tasks, which are solved by the user. The creation of complex multifunctional systems led to duplication of information, excessive complexity of the database structure, large time responses of the system to the user's needs.

As a result of solving these problems, a functional-object approach to database development was formulated, which, to a greater extent, is supported by object-oriented database management systems, but can also be implemented within the framework of classical relational DBMSs.

The basis of the functional-object approach to database development is the awareness of the needs of system users in the performance of individual functional tasks, which, as from bricks, constitute a complex functional environment for the user's activities. This approach, singling out separate functions of the domain and dividing them into main and auxiliary ones, enables the developer to approach the design process by viewing functions in the form of separate blocks (black box) and combining them into the "building", called the "information system". As a result of using this approach, the process of designing an information system is represented by the sequence shown in Fig. 2.36.

Fig. 2.36. The process of developing an information system


Turning to the process of modeling a database, the developer should consider functional data structures that actually represent database models that are focused on the work of one particular domain function. Naturally, there is no sense in creating for a single information system a number of separate database models for each function, unless this is provided for by special requirements for the implementation of the information system.

If we consider this process using database development tools (for example, IBM InfoSphere Data Architect), then one domain is created for modeling the logical model of the database and within the framework of this model a separate diagram will be created for each function. As a result, it turns out that all entities created within the same diagram will be available for other diagrams of the same logical database model. Similarly, this process is represented in other database modeling tools with the possible change of the names of individual elements, for example: in the ERWin Data Modeler, function elements are used to construct function diagrams, called the "work area".

The further process of data modeling involves the use of domain objects as elements for creating entities, and the attributes describing the selected objects are attributes of the corresponding entities. As a result of the process of modeling data structures for functions, the developer obtains a database model that can later be implemented in the DBMS (Figure 2.37).

Fig. 2.37. Database Modeling Process with Functional-Object Approach


In this process, unlike the classical approach, the basis is the key entity that corresponds to the main object of the chosen domain function, the information about which should be stored in the database. As a result of consideration of the attributive composition of the key entity, object attributes can be formed, which in the domain are represented as independent objects. Such attributes should be represented in the database model as separate entities related to the entity from which they are allocated. This process of parsing attributes and allocating new entities continues until there are only simple attributes left in newly allocated entities.

However, regardless of the chosen approach to database development, the implementation of database models will be identical, and all the differences in approaches are represented by the features of defining the elements of database models and rules in the processes of creating such models. So, with the classical approach, the developer initially knows about all the entities that should appear in the database model, and applies normalization methods to get an efficient database structure. In the functional-object approach, the developer has knowledge of the functions that are implemented in the domain and the objects that are the main (key) for each function. Applying the methods of object analysis, it forms the necessary entities and database models for each individual function, combining them within the framework of a unified database model of the domain.

If you look at these two approaches, it's easy to see that the database development processes are practically the same. This allows us to say that the methodology of development has not changed much when the approach is changed and, after the analysis of the domain, when the developer approaches the consideration of data structures, the step-by-step methodology of the design requires the analysis of data models, the definition of relationships and the application of appropriate notations to represent data structures. >

Notations for the representation of database models are large enough, and they are aimed at presenting data structures, oriented to further use in DBMS and corresponding implementations of information systems. It is especially important to choose the database modeling notation correctly when it comes to choosing an approach to implementing a software application: a procedural (transactional) or object-oriented application. There are no special differences in modeling approaches here, but the representation of database models will be different, given the need to link elements and data structures to the object elements of the software application.

Also We Can Offer!

Other services that we offer

If you don’t see the necessary subject, paper type, or topic in our list of available services and examples, don’t worry! We have a number of other academic disciplines to suit the needs of anyone who visits this website looking for help.

How to ...

We made your life easier with putting together a big number of articles and guidelines on how to plan and write different types of assignments (Essay, Research Paper, Dissertation etc)