The architecture of a database system is greatly influenced by the underlying computer system on which the database is running:
i. Centralized.
ii. Client-server.
iii. Parallel (multi-processor).
iv. Distributed
Database Users:
Users are differentiated by the way they expect to interact with the system:
Application programmers:
- Application programmers are computer professionals who write application programs. Application programmers can choose from many tools to develop user interfaces.
- Rapid application development (RAD) tools are tools that enable an application programmer to construct forms and reports without writing a program.
Sophisticated users:
- Sophisticated users interact with the system without writing programs. Instead, they form their requests in a database query language.
- They submit each such query to a query processor, whose function is to break down DML statements into instructions that the storage manager understands.
Specialized users :
- Specialized users are sophisticated users who write specialized database applications that do not fit into the traditional data-processing framework.
- Among these applications are computer-aided design systems, knowledge base and expert systems, systems that store data with complex data types (for example, graphics data and audio data), and environment-modeling systems.
Naïve users :
- Naive users are unsophisticated users who interact with the system by invoking one of the application programs that have been written previously.
- For example, a bank teller who needs to transfer $50 from account A to account B invokes a program called transfer. This program asks the teller for the amount of money to be transferred, the account from which the money is to be transferred, and the account to which the money is to be transferred.
Database Administrator:
- Coordinates all the activities of the database system. The database administrator has a good understanding of the enterprise’s information resources and needs.
- Database administrator's duties include:
- Schema definition:
The DBA creates the original database schema by executing a set of data definition statements in the DDL.
- Storage structure and access method definition.
- Schema and physical organization modification:
The DBA carries out changes to the schema and physical organization to reflect the changing needs of the organization, or to alter the physical organization to improve performance.
- Granting user authority to access the database:
By granting different types of authorization, the database administrator can regulate which parts of the database various users can access.
- Specifying integrity constraints.
- Monitoring performance and responding to changes in requirements.
Query Processor:
The query processor will accept query from user and solves it by accessing the database.
Parts of Query processor:
DDL interpreter
This will interprets DDL statements and fetch the definitions in the data dictionary.
DML compiler
a. This will translates DML statements in a query language into low level instructions that the query evaluation engine understands.
b. A query can usually be translated into any of a number of alternative evaluation plans for same query result DML compiler will select best plan for query optimization.
Query evaluation engine
This engine will execute low-level instructions generated by the DML compiler on DBMS.
Storage Manager/Storage Management:
- A storage manager is a program module which acts like interface between the data stored in a database and the application programs and queries submitted to the system.
- Thus, the storage manager is responsible for storing, retrieving and updating data in the database.
- The storage manager components include:
- Authorization and integrity manager: Checks for integrity constraints and authority of users to access data.
- Transaction manager: Ensures that the database remains in a consistent state although there are system failures.
- File manager: Manages the allocation of space on disk storage and the data structures used to represent information stored on disk.
- Buffer manager: It is responsible for retrieving data from disk storage into main memory. It enables the database to handle data sizes that are much larger than the size of main memory.
- Data structures implemented by storage manager.
- Data files: Stored in the database itself.
- Data dictionary: Stores metadata about the structure of the database.
- Indices: Provide fast access to data items.