Users may access the DBMS or indirectly through application programs.
The database is processed by the DBMS.
A database contains four main elements: user data, application programs, metadata, and indexes.
Today, most databases represent user data as trees of data.
In a relation, the columns of the relation contain records for particular entities in the business environment, and the rows of the relation contain fields or attributes.
In a relation, the columns of the relation contain fields or attributes, and the rows of the relation contain records for particular entities in the business environment.
Most DBMS products store the metadata in the form of tables.
System tables contain the user's data.
Developers have a special set of tools for querying metadata that is separate from the query tools for user's data.
Overhead data is a synonym for metadata.
Overhead data is composed primarily of indexes.
Indexes and linked lists are both types of overhead data.
Overhead data contains types of data structures that can improve the performance and accessibility of the database.
Indexes are beneficial for search operations, but at the cost of slowing down sorting operations.
Indexes should be created for every field in a relation, even if they are not currently needed, to support future uses of the data.
Application metadata is used to store the structure of some application components in the database.
Although all DBMS products do not support application components, all DBMS products that do support application components store the structure of those components in application metadata.
While users can not access the application metadata directly, database developers often must directly access application metadata to create database application programs.
The design tool subsystem of the DBMS is responsible for processing the application components.
The design tools subsystem of the DBMS can facilitate the design of a database, but does not have tools to help in actually implementing the design.
If a DBMS includes a programming language or an interface to a programming language, it is considered to be part of the design tool subsystem of the DBMS.
The run-time subsystem of the DBMS processes the application components.
The DBMS engine acts as an intermediary between the other DBMS components and the database data.
The DBMS engine receives requests from the run-time subsystem and the design tools subsystem and translates them into commands for the operating system to read and write data on physical media.
To retrieve data from the database, the run-time subsystem instructs the operating system to read data from the physical media.
The DBMS engine is involved in transaction management.
The run-time subsystem is responsible for locking, and backup and recovery within the database.
The database schema is a component of the DBMS engine.
A database schema defines a database’s structure – its tables, relationships, domains, and business rules.
A database schema is a set of values that a column can have.
A domain includes the physical format of an attribute and its uniqueness.
Business rules are restrictions on the business’s activities that need to be reflected in the database and database applications.
Business rules can always be enforced in the DBMS if the database is properly designed.
Some DBMS products use “stored procedures” to enforce business rules.
Once a database schema has been designed, the next step in creating a database is to define the relationships.
One disadvantage of declaring a relationship between two tables to the DBMS is that whenever those two tables are used in a form, query, or report the relationship must be declared again.
Identifiers that have no meaning to the users but are created only so that each row in a table will be uniquely identifiable to the DBMS are called foreign keys.
While most DBMS products support creating queries, few actually store the query as part of the application.
A criterion query is a query that has been constructed to accept criteria values at run-time.
A report can be used to enter data into the database as well as display data from the database.
Reports usually have a more complex structure than forms.
Menus can be used to control user access to forms, reports, and programs.
Menus can make application components more accessible to users, but at the cost of losing control over the users’ activities.
Database application programs must be written using a language that is specific to the DBMS.
Predefined program interfaces allow database application programs written in standard programming languages to interact with the DBMS.
Top-down development proceeds from the need to develop a specific system.
Studying the strategic goals of the organization and the information requirements necessary to achieve those goals is characteristic of top-down development.
Top-down development tends to produce useful systems more quickly than bottom-up development.
Bottom-up development produces systems with a global perspective requiring fewer modifications as additional systems are built.
Typically, users can clearly express their needs to the database developer.
Typically, database developers will start with the outputs that the users desire and work backward to infer the data model.
Development of multi-user databases, such as workgroup and organizational databases, is simplified because the developer has more potential sources for information.
Development of multi-user databases is especially difficult when the system is so large that no single user has a model of the complete structure.