Database Reference
In-Depth Information
of the Input/Output module to work with the operating system to actually fetch the
data from secondary storage.
To run a program for updating quantities for Product A, the database engine has
to invoke the services of other modules for transaction management, concurrency
control, and logging and recovery management. As we have seen, the database
engine exercises control and coordination for every data storage, retrieval, and
update operation.
Business Rules Business rules ensure data integrity and data validity. Can you
have negative numbers in the field for product cost or product price? In the
employee record, can the days worked in a year plus the vacation days exceed 366?
In a bank loan system, can the minimum interest rate be more than the maximum
rate for a variable loan? All such discrepancies are resolved by enforcing of busi-
ness rules by the database engine component.
Edit and business rules are stored in the data dictionary along with the structure
definitions. The database engine component enforces the rules while storing or
updating data. Some rules other than the ones mentioned above may be more
involved.
For example, consider a program used for assigning employees for special
projects. When an employee is assigned to a project and an authorization report is
printed by the program, the employee can start on the project. Only employees who
have undergone extensive training programs may be assigned to special projects.
When an employee is assigned to a special project before he or she completes the
required training programs, the system must provide warnings. This is not just a
matter of having a few edit rules. Here you require a more complex software module
to check whether the employee has completed the training. Such modules are stored
in the database itself and are triggered when someone tries to print an authoriza-
tion report for an employee lacking training.
Database Performance The database engine component is also responsible for
the speed of database operations. When a database request arrives, the database
engine component is able to determine the needs of each database request, to figure
out which modules must be brought into action, to specify the efficient order of the
actions, and to coordinate the actions rapidly. The efficiency and the pace of data-
base operations rest on the makeup of the database engine.
Now turn your attention to the volumes of data accessed by individual transac-
tions. A request for the name and address of a customer produces a small result set.
If you want the names of all customers in San Francisco, you are looking for more
data in the result set. If you require the names of all customers in the whole of the
western region, now the data volume of the result set is even larger. The database
engine must be able to scale up to accommodate data requests producing large
result sets.
Data Dictionary
In an earlier section, we considered the data dictionary as one of the components
in the overall architecture of a database environment. In that discussion, data
Search WWH ::




Custom Search