Database Management Systems are the heart of Information for any application and there are many applications used in the real world that do not use this System. Everyone Accesses the Database in different ways, it can be using a simple app to interact with the machines. So, several database users interact with the database to perform various tasks such as accessing and even modifying the database. We are going to see the types of users that operate on the database.
End users are those which access the database using the frontend of the application. They mainly interact with applications that are developed by the programmer and they do not possess any knowledge about the design and working of the database. The main aim of the end-users to get their task in hand done and this task can be non-technical, unlike other users.
For example, when you want to view your result on the website you have to simply put down your name and other required credentials but you may not have specific knowledge of how the database is designed.
Naïve Users also do not have any specific knowledge about the database design and its working. They are simply involved with what application has to offer. They aim to get the task done like the end users but they are more involved in storing, accessing, and modifying the information with the help of pre-developed applications by programmers. These developed applications can be the Bank Management System, Library Management System.
For example, the owner of the bookstore who enters the information about the books in his shop in the database with the help of an appropriate application program. He can record the information of the books such as the quantity, price, edition, etc. and later on he can check how many books have been sold, or which are not selling, or what are the books that he requires. He does not have a detailed knowledge of how the database works, his requirement of searching for the books, and storing the details of the books are his main aim and not developing the application.
Sophisticated users have in-depth knowledge of how to use the query language to interact with the database. The sophisticated users use the query language to access the information from the database and to meet their complicated requirements for the task.
For example, People such as business analysts, scientists, etc. are interacting with the database for their requirements without any pre-developed application program such as the naïve users used. The only difference between the naïve users and the sophisticated users is that naïve users use the database with help of a pre-developed application by the programmer and the sophisticated users use the database with the help of query language or database’s language without any front end of the application.
Application Programmer or Specialized Users
Both the Application programmer and the specialized user are involved in developing the application for the end-user such as the naïve users and sophisticated users.
Application programmers develop applications that use the database. And the programming language that is used by the application programmer to develop the application is high-level languages such as Java, .Net, PHP, Python, etc. The application programmer makes the application for meeting the end-user which revolves around creating, reading, updating, and deleting of the information in the database and this is so commonly used in the development by the programmer that they call by the CRUD operations. For example, the applications that are developed by the application programmer are the data processing applications like payroll management, banking, etc.
Specialized users are more specialized in using the Database then the application programmer and they know how to interact with the database with the help of data manipulation language. For example, specialized users create applications such as computer-aided design, expert systems, and knowledge bases that can store more complicated data types than any simple application program.
A system analyst is a person who is responsible for determining the properties and design and structure of the database. The system analyst is more focused on meeting the requirements of the end-users and developing business solutions that can help organizations to produce applications for the end-users. He meets the end-users and listens to the requirements of the users and then designs the database that can help to fulfill the needs of the end-users. The specifications that are provided by the system analyst are given to the programmer who is responsible for developing the application for the end-users.
A database administrator can be an individual or group of people. He is in complete charge of the database and has control over both the application and the database. The DBA is responsible for everything related to the database. He can make policy and strategy and provide technical support when required.