Data Flow Analysis - Databases: Design

Analyzing Data Flows

To build a database, it is necessary to understand the processes that occur with data during their processing and transformation. Such processes are represented by models of data flows. Previously, there were


some representations of models of data streams are looked, but the question connected with data representation and their transfer for processing was not considered at all. Data in information systems is transmitted by electronic messages, the structure of which is determined by the data needs to perform the corresponding operation.

Some of the information in electronic messages is generated by the user, based on the information contained in the incoming documents. As a result of data processing, if further processing is not provided, the electronic message is converted into an output document, which can be submitted in electronic or paper form. It is this transformation of data and work with documents that reflect data flow models.

Along with understanding what data is processed and in what sequence this processing takes place, the developer also describes the data flow model and determines a lot of information needs of users in the data where the user is treated not only by people using the information system for working with data , but also the information system itself, or rather, its modules and subsystems that access the database for additional auxiliary information.

Simulation of data flows requires instructions from the developer not only the tasks performed on the data, used storages in the form of a database, but also incoming and outgoing messages that will be represented by paper or electronic documents, forming an additional data stream necessary for the correct execution of tasks . Along with this, the developer divides the tasks into two types: manual and automated, - defining in the data stream of the task, when the user must perform data processing without using an automated system. Typically, such tasks are associated with the formation of initial data, which the automated task will then use to obtain the resulting information, presented in the form of electronic document forms.

The model of data flows can be represented in two versions: a data flow diagram (DPD/ODP), which specifies the tasks of the participant in the process of converting the initial information into the resulting data, and a diagram of data operations, when data processing operations that conduct in an automated system including storing them in the database or deleting existing information.

In the first case, when creating a data flow diagram in the context of a business process or an auxiliary process, the appearance of the elements "Storage" and the reflection of data processing tasks leads to the need to reflect them in the function tree, defining the necessary data structures to perform the corresponding process.

In the second case, when creating the work diagram, the tree of functions is not replenished with new tasks, but a function binding tree is created that reflects the sequence of using the select, add, modify and delete operations in the application of the main and auxiliary functions reflected in the function tree. This model (a tree of function links) allows the developer to single out a large-scale data transformation algorithm and define functions whose implementation allows performing the corresponding operations.

Forming the tree of functions' links is conditioned by the possibilities of implementing many data processing processes within the database, without transferring them to the application layer, thus separating the tasks of working with data from the tasks of the interface organization. In fact, a modern software application for working with a database can be implemented on the basis of three conditionally independent program modules (Figure 2.27).

Fig. 2.21. The technology of interaction of components of the software application


When working with a database, the user does not directly interact with it, but sends messages through the application interface (server processing) about the need to perform some action and transmit the response to the screen. This allows you to clearly separate the individual stages of data processing and explicitly specify the modules of the software application that are responsible for the corresponding tasks:

• User Interface:

- representation of the screen forms for input of initial data,

- representation of the result of data processing in a user-friendly form,

- visualization of the user interface;

• Application interface:

the formation of the structure and filling of the user's screen forms,

- transfer of information from the user to the processing at the DBMS level,

- transferring the result of processing to the user in the DBMS,

- specific data processing using mechanisms not implemented in the DBMS;

• working with the database:

- modification of the data in the database,

- sample of data for information needs of users,

- algorithmic processing of data in the database using programming tools.

For such a clear separation of functions between software application modules, an agreement of message formats must be defined that de facto was formed at the level of communication standards that define:

• At the DBMS level:

- getting the database of messages in the form of commands in the SQL language but executing program procedures or executing individual requests,

- return the result of processing in the form of a message of a simple data type or a set of data in the form of an array that can be easily converted into a flat (two-dimensional) table;

• at the user interface level:

- getting the generated message for visualization in the form of the screen form code, data for the individual control elements of the screen form, the report form code, etc.,

- sending an array of data entered by the user into the controls of the form screen.

At the interface level of the application, appropriate processing of the received and transmitted information takes place for subsequent use in the DBMS or user interface. Especially this approach is obvious for the implementation of the wEb application, where these application modules are explicitly separated from each other. If you are considering a console application that works as a client and server application, then this partitioning is not always obvious, since it is possible to implement processing operations both at the server and client level. Nevertheless, this approach to the separation of modules into three conditionally independent components is also acceptable, and it can be implemented.

It is this approach to the operation of the software application that allows developers to explicitly highlight the processing of data in the DBMS, without thinking about the options for implementing server processing and the user interface. It is enough to know what messages should be moved between the modules of the software application. Their structure and content are determined by those controls that are used in the screen forms. This is often the basis for deciding whether to use a particular classifier in the database.

The process of data processing, which is represented by the function links tree, makes it possible to distinguish between different levels of operation: internal (database operation level), external (user interface level), intermediate (server processing level). At the same time, it should be understood that the user interface defines the rules for visualizing data on the user's screen, and the application interface is the rules for communicating the user to the database and does not contain any visualization elements.

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)