Overall Database System Structure
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 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.
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.