0% found this document useful (0 votes)
9 views

Overall Database System Structure

Overall dbms structure

Uploaded by

Rounak Saha
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Overall Database System Structure

Overall dbms structure

Uploaded by

Rounak Saha
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Overall Database System Structure

Naive / Parametric End Users Parametric End Users are the unsophisticated who don’t have any DBMS
knowledge, but they frequently use the database applications in their daily life to get the desired results.
For example, Railway’s ticket booking users are naive users. Clerks in any bank is a naive user because
they don’t have any DBMS knowledge, but they still use the database and perform their given task.

Application Programmers Application Programmers also referred as System Analysts or simply Software
Engineers, are the back-end programmers who have deep deep knowledge of DBMS and writes the code
for the application programs. They are the computer professionals. These programs could be written in
Programming languages such as Visual Basic, Developer, C, FORTRAN, COBOL etc. Application
programmers design, debug, test, and maintain set of programs called “canned transactions” for the Naive
(parametric) users in order to interact with database.

Sophisticated Users Sophisticated users can be engineers, scientists, business analyst, who are familiar
with the database. They can develop their own database applications according to their requirement.
They don’t write the program code but they interact the database by writing SQL queries directly through
the query processor.

Database Administrator (DBA)

• Database Administrators (DBA) are the most important type of database users in DBMS.
Database Administrator is an individual or a team of users who defines the database schema and
takes charge of controlling various levels of the database within the organization.
• Database Administrators (DBAs) have full control of the database and they are sometimes known
as the super-users of the database. They work alongside developers in order to discuss and design
the overall structure of the database including layouts, functionalities, workflow, etc.
• Database Administrators (DBAs) can grant or revoke authorization permission to all other users
at any point of time. In order to access the database, DBAs have to provide login credentials
(account ID and password) to all other users when required. Database Administrators (DBAs) are
solely responsible for providing security to the database by restricting unauthorized users from
accessing the database.
• Database Administrators (DBAs) have all the privileges allowed by the DBMS. They have to update
the database timely in terms of technology, functionality, and workflow in order to meet future
requirements and in making the database ready for future scope.
• Database Administrators are also responsible to keep a check on data integrity, data consistency,
data redundancy, hardware and software installation requirements, and routine maintenance of
the databases. They are also responsible for handling data loss, which can be caused due to any
error or even due to system failures.
• Also, Database Administrators (DBAs) monitor the backup & recovery of the database records
and provide technical support as well. If the technical team raises any concern, DBAs have to
resolve it.

Query Processor

The query processing is handled by the query processor, as the name implies. It executes the user's query,
to put it simply. In this way, the query processor aids the database system in making data access simple
and easy. The query processor's primary duty is to successfully execute the query. The Query Processor
transforms (or interprets) the user's application program-provided requests into instructions that a
computer can understand. The Query Processor converts (or interprets) the queries given by the user
through the application program into machine-readable instructions. It is also responsible for executing
the user requests that are received from the DML compiler.

Components of Query Processor


• DDL Interpreter DDL expands to Data Definition Language. DDL Interpreter as the name suggests
interprets the DDL statements such as schema definition statements like create, delete, etc. The
result of this interpretation is a set of a table that contains the meta-data which is stored in the
data dictionary. The data dictionary can store the meta-data.
• DML Compiler DML expands to Data Manipulation Language in DBMS. DML Compiler again as the
name suggests compiles (or translates) the DML statements such as select, update, and delete
statements into low-level instructions which is nothing but the machine-readable object code to
make it executable.
• The DML compiler is also responsible for query optimization. Usually, there are several evaluation
plans in which a single query is translatable. Hence, some optimization is required to pick the
lowest cost evaluation plan from all the available plans. This is called query optimization in DBMS
which is performed by the DML compiler only. In simple words, the most efficient way of
executing a query is determined by Query optimization.
• Embedded DML Pre-compiler The DML statements in the application program which are
embedded (such as SELECT, FROM, etc. in SQL) needs to be pre-compiled into normal procedural
calls (program statements that the host language can understand) before the query evaluation.
So, an Embedded DML Pre-compiler is responsible for processing the DML statements that are
embedded in an application program into procedural calls.
• Query Evaluation Engine The Query Evaluation Engine is also referred to as the "Query execution
engine". First, it takes the query evaluation plan, then executes it, and returns the answer back to
the query. In simple words, the Query Evaluation Engine first interprets the SQL commands to
access the data from the database and then it returns the answer to that query. In short, it is
responsible for evaluating the queries and executing the object code that was generated by DML
Compiler.

The term embedded SQL refers to SQL statements placed within an application program. Because the
application program houses the SQL statements, it is called a host program, and the language in which
it is written is called the host language. For example, with Pro*COBOL you can embed SQL statements
in a COBOL host program. SQL statements can be included in a source program that will be submitted
to the precompile.

Storage Manager

The storage manager is important because databases typically require a large amount of storage space.
Some Big organizations Database ranges from Giga bytes to Tera bytes. So, the main memory of
computers cannot store this much information, the information is stored on disks. Data are moved
between disk storage and main memory as needed. Let's assume, there is the data stored in the database
and there are some queries received from the end-user. But how these two things would interact with
each other? here comes the term "Storage Manager". It is nothing but a program that acts as an interface
between the data which is stored in the database and the end-user queries.

Components of Storage Manager.


• Authorization and Integrity Manager There can be some data in the database that needs to be
accessed by authorized individuals only and should be hidden from the public users and
sometimes integrity constraints are needed to be checked at the time of database modification.
This is where Authorization and Integrity Manager come into play. The Authorization and Integrity
Manager verifies the authority of the user trying to access the data and it also checks the integrity
constraints when the database is modified. The data can be modified only if the result of the
constraint comes out to be True, else the data remains unmodified. Hence, integrity constraints
are very helpful in preventing any accidental damage to the database.
• Transaction Manager A transaction in DBMS is nothing but a very small unit of the program. The
Transaction Manager as the name suggests manages all the transaction (program) execution. To
be precise, it ensures the consistent state of the database despite system failures. It is also
responsible for ensuring that the concurrent execution of transactions happens without any
conflicts which results in flawless transactions.
• File Manager The task of the file manager is to manage the space allocation in the disk for storing
the information and the data structures used for representing that information.
• Buffer Manager The Buffer Manager allocates the space to the buffer to store data in it. It also
fetches the data from the disk storage to the main memory and is responsible for deciding what
data to cache in memory. By doing so, Buffer Manager manages the space allocation for buffer
using various methods such as Buffer Replacement Strategy (with LRU).

Disk Storage Components

• Data Files It is responsible for storing the database.


• Data Dictionary The Data Dictionary stores the information (or meta-data) about the definition
of a database. In simple words, it stores the database structure information (the schema of the
database).
• Indices (plural of an index) help in retrieving the data items in a much faster way.
• Statistical Data Statistical Data as the word suggests stores the statistical information regarding
the data stored in the database. Query processor utilizes this statistical information for selecting
a much more efficient way to execute a query.

You might also like