 Hello, everyone. I am Shruti Urta. I am assistant professor from the Department of Electronics from Walton Institute of Technology, Solapur. Today, we are going to have a session on characteristics of database management system. After the end of this session, student will be able to type characteristics of database management system. There are number of characteristics that distinguish the database approach from the much older approach of programming with files. In traditional file processing system, each user defines and implements the files needed for specific software application as a part of programming the application. For example, one user, the grade reporting officer may keep the files on the students and grades programs to print the student's transcript and to enter new records are implemented as a part of application. A second user, the accounting officer may keep the track of the students' fees and their payments. Although both the users are interested in data about the students, each user maintains different files and the programs to manipulate these. In database approach, a single repository maintains the data that is defined once and then accessed by the various users. The main characteristic feature of the database approach versus the file processing system are, first, self-describing nature of the database system, second, insulation between the programs and data and the data abstraction, support of multiple views of the data and sharing of data and multi-user transaction processing. Let's see all the characteristics one by one. First is self-describing nature of database system. A fundable characteristics of database approach is that database system contains not only the database itself, but a complete definition of the description of database structure and constraints. This definition is stored in the database catalog which contains the information such as structure of file, the type and the storage format of each data item. The information stored in the catalog is called as metadata and it describes the structure of the primary database. So metadata is nothing but the data about the data. So whatever is the metadata or you can say the data about the data is stored in the dbms catalog. So what is the dbms catalog? It contains all the structure of files, type of files, storage formats you can say and all the different you can say different constraints and all everything is stored in the database catalog. This is an view or you can say the example of database catalog for the database. So you can see there are two tables. First is the relation and second is the columns. So relation name and number of columns. So you can see in this is a complete catalog view. So there is a student table which is having four columns, there is a course table which is having four columns, there is a section table which is having five columns, grade report which is having three columns and prerequisite table is having two columns. And this is all of the metadata you can say. So whatever data is stored in the particular you can say in these tables is been described over here. So metadata is about the name which belongs to the student table and it is having data type as character of size 30. Student number you can say it is belong to the student table which is having data type as character of size 4. Class column name belongs to the student table having data type as integer of size 1 and so on. Okay so this is the view of the metadata or the data how it is stored in the database catalog. So any changes to the structure of file may require changing all the programs that is going to access that file. In database management system structure of file is stored in the DBMS catalog separately from these program access. We call this property as program data independence. In say programming if you want to change the any data or you can change the structure of the file then you need to change all the program which is going to access that file. But in DBMS this is not the case because whatever data is there it has been stored in the database catalog and you need not to change the structure of files that is going to access it. You have to just make the changes in the database catalog and the changes will get reflected into the database. For example a file access program may be written in such a way that it can access only student record of the structure. If you want to add another piece of data to the each student records like date of birth in C program you need to change the program which is going to access that file. But this is not case in the database approach because whatever data is there it is in the database catalog and you need to just make the changes in the catalog. By extract in a DBMS environment we only need to change the description of the student record in the catalog. Next is data abstraction. Data abstraction refers to providing only essential information to the outside world and hiding the background details. User application programs can operate on the data by invoking the operations through their names and arguments regardless how the operations are implemented. This term is called as a program operation independence. So data abstraction is nothing but you are hiding all the details. The characteristics that allow program data independence and program operation independence is called as a data abstraction. Next is support of multiple views of data. A database typically has many users each of which may require a different perception of the view of the database. For example, one user of the database may be interested only in accessing and printing the transcript of each student. The view of that user can be as follows. So this is the view of the transcript required to access only and printing the transcript of the student. Whereas the second user who is interested only in checking that student has taken all the prerequisites of each course. So following is the view of the course prerequisites. In short, DBMS allows multiple such views from the same database without letting the user know whether the information is stored is just derived. For example, a teacher wants to call the parents of the students for meeting. So she will have the different view which will display the contact details of the parents. Whereas student wants to check the database for attendance percentage. Here she will only see the names and percentage but not the contact details of the parents in his view. Next is sharing of data and multi user transaction processing. A multi user database management system as its name implies must allow the multiple users to access the database at the same time. This is essential if the data for multiple application is to be integrated and maintained in a single database. Database management system must include concurrency control software to ensure that several users trying to update the database at the same time do in a control manner so that result of the update is correct. For example, when several reservation agents trying to assign a seat on the Paytm bus should ensure that each seat can be accessed only by one agent at a time for assignment to the passenger. These type of applications are generally called online transaction processing OLTP applications. A fundamental role of multi user DBMS software is to ensure that concurrent transaction operate correctly and efficiently. So this figure in the right side says the bus seat arrangement. You can say for example, there are two user who is going to book seat number one, which is available for both of them at a time. But the seat one is allocated only to that person who completes the transaction. Okay. By the time the seat will be available for both the users, but the person who is going to book or who is going to make the payment will be available for him only. If he fails to make the payment after some time, the seat is been released for the another user. So, so application users are being programmed with some predefined timer. After that the seat will be open for the other users. So this will make sure that no two users are allowed to book the same seat at a particular time, which will lead to concurrency control. References are from fundamentals of database system by Ramay's Ilmasi and Shamkan B Naute. Thank you.