People who work with a database can be categorized as database users or database administrators.
Different Types of Users:
Depending on the way of interaction with the system, the user may be differentiated into the following categories-
Naive Users
# Are unsophisticated users
# Interacts with the system by invoking already written application programs.
# User Interface used: Forms interface. Ex, A person who wishes to see his/her balance over World Wide Web, may access a form and gives an account number. An Application program on the webserver retrieves the balance and gives it back to the user.
Application Programmers
# Computer Professionals who write Application Programs.
# Rapid Application Development (RAD) are tools that facilitate an Application Programmer to construct forms and generate reports without writing a program.
# Imperative control structures (such as for loop, while loop, etc) can be combined with DML [This combination is also known as Fourth Generation Language] in order to generate forms and display data on the screen.
Unsophisticated users
# Interact with the system without writing programs.
# They submit each query to a query processor that breaks DML statements into instructions.
# They are also known as Analysts.
Specialized Users
# Are sophisticated users.
# They write specialized database applications that do not fit into the traditional data-processing framework
Database Administrators:
To have central control over data and programs in the DBMS system, a person called Database Administrator (DBA) is allocated.
The functions of a DBA include:
a) Schema definition is created using a set of DDL statements by DBA.
b) Storage structure and access-method definition is carried by the DBA to improve performance.
c) Granting of authorization for data access
# The authorization grants given to different users are kept in a separate special system structure, that is consulted at the time of data access.
d) Routine maintenance
# Periodically backup the database either onto tape or onto remote servers.
# Monitoring jobs running in the database to ensure better performance
# Ensuring that enough free disk space is available for normal operations, and upgrading disk space as required.