Types of Database Users in DBMS
There are two types of database users, Users, and Administrators. In case you are interested in SQL interview questions for your examinations or interviews then visit this link. SQL Interview Questions
Database users are the ones who really use and take the benefits of the database. There will be different types of users depending on their needs and way of accessing the database.
- Application Programmers – They are the developers who interact with the database by means of DML queries. These DML queries are written in the application programs like C, C++, JAVA, Pascal, etc. These queries are converted into object code to communicate with the database. For example, writing a C program to generate the report of employees who are working in a particular department will involve a query to fetch the data from the database. It will include an embedded SQL query in the C Program.
- Sophisticated Users – They are database developers, who write SQL queries to select/insert/delete/update data. They do not use any application or programs to request the database. They directly interact with the database by means of a query language like SQL. These users will be scientists, engineers, analysts who thoroughly study SQL and DBMS to apply the concepts in their requirements. In short, we can say this category includes designers and developers of DBMS and SQL.
- Specialized Users – These are also sophisticated users, but they write special database application programs. They are the developers who develop the complex programs to the requirement.
- Stand-alone Users – These users will have a stand-alone database for their personal use. These kinds of the database will have readymade database packages which will have menus and graphical interfaces.
- Native Users – these are the users who use the existing application to interact with the database. For example, online library system, ticket booking systems, ATMs etc which has existing application and users use them to interact with the database to fulfill their requests.
The life cycle of a database starts from designing, implementing to the administration of it. A database for any kind of requirement needs to be designed perfectly so that it should work without any issues. Once all the design is complete, it needs to be installed. Once this step is complete, users start using the database. The database grows as the data grows in the database. When the database becomes huge, its performance comes down. Also accessing the data from the database becomes a challenge. There will be unused memory in the database, making the memory inevitably huge. This administration and maintenance of the database are taken care of by the database Administrator – DBA.
A DBA has many responsibilities. A good-performing database is in the hands of DBA.
- Installing and upgrading the DBMS Servers: – DBA is responsible for installing a new DBMS server for the new projects. He is also responsible for upgrading these servers as there are new versions that come into the market or requirement. If there is any failure in the up-gradation of the existing servers, he should be able to revert the new changes back to the older version, thus maintaining the DBMS working. He is also responsible for updating the service packs/ hotfixes/ patches to the DBMS servers.
- Design and implementation: – Designing the database and implementing is also DBA’s responsibility. He should be able to decide on proper memory management, file organizations, error handling, log maintenance, etc for the database.
- Performance tuning: – Since the database is huge and it will have lots of tables, data, constraints, and indices, there will be variations in the performance from time to time. Also, because of some designing issues or data growth, the database will not work as expected. It is the responsibility of the DBA to tune the database performance. He is responsible to make sure all the queries and programs work in a fraction of seconds.
- Migrate database servers: – Sometimes, users using oracle would like to shift to SQL server or Netezza. It is the responsibility of DBA to make sure that migration happens without any failure, and there is no data loss.
- Backup and Recovery: – Proper backup and recovery programs needs to be developed by DBA and has to be maintained him. This is one of the main responsibilities of DBA. Data/objects should be backed up regularly so that if there is any crash, it should be recovered without much effort and data loss.
- Security: – DBA is responsible for creating various database users and roles, and giving them different levels of access rights.
- Documentation: – DBA should be properly documenting all his activities so that if he quits or any new DBA comes in, he should be able to understand the database without any effort. He should basically maintain all his installation, backup, recovery, security methods. He should keep various reports about database performance.
In order to perform his entire task, he should have very good command over DBMS.
Types of DBA
There are different kinds of DBA depending on the responsibility that he owns.
- Administrative DBA – This DBA is mainly concerned with installing, and maintaining DBMS servers. His prime tasks are installing, backups, recovery, security, replications, memory management, configurations, and tuning. He is mainly responsible for all administrative tasks of a database.
- Development DBA – He is responsible for creating queries and procedures for the requirement. Basically, his task is similar to any database developer.
- Database Architect – Database architect is responsible for creating and maintaining the users, roles, access rights, tables, views, constraints, and indexes. He is mainly responsible for designing the structure of the database depending on the requirement. These structures will be used by developers and development DBA to code.
- Data Warehouse DBA –DBA should be able to maintain the data and procedures from various sources in the data warehouse. These sources can be files, COBOL, or any other programs. Here data and programs will be from different sources. A good DBA should be able to keep the performance and function levels from these sources at the same pace to make the data warehouse work.
- Application DBA –He acts like a bridge between the application program and the database. He makes sure all the application program is optimized to interact with the database. He ensures all the activities from installing, upgrading, and patching, maintaining, backup, recovery to executing the records work without any issues.
- OLAP DBA – He is responsible for installing and maintaining the database in OLAP systems. He maintains only OLAP databases.
Question: Which user interacts with the system by forming their request in a database query language?
Answer: Sophisticated Users
Question: Which user interacts with the system by invoking one of the permanent application programs that have been written previously?
Answer: End Users