0:02 who uses shouldn't be able to book one
0:04 single seed in the name of two different
0:06 users all right this is known as
0:08 concurrency control and this is the
0:10 fourth characteristic of the database
0:20 approach hey guys welcome to a second
0:23 DBMS tutorial in today's tutorial we'll
0:25 be learning what are the characteristics
0:28 of database approach then we'll look at
0:29 in detail explanation of each
0:32 characteristic alright let's it started
0:34 so first thing what are the
0:37 characteristics of database approach now
0:39 there are two approaches file system
0:40 approach and database approach today
0:42 we'll be learning about characteristics
0:43 of database approach so there are total
0:46 four characteristics of database
0:48 approach first characteristic is called
0:50 self-describing nature of database
0:52 system the second one is called
0:54 insulation between programs and data and
0:57 data abstraction third one is called
0:58 support of multiple views of the data
1:00 and the final and the fourth one is called
1:00 called
1:02 sharing of data and multi-user
1:04 transaction processing alright so these
1:05 are the four characteristics that you
1:07 need to understand now we will look at
1:11 them in details one by one so let's look
1:12 at the first characteristic
1:14 self-describing nature okay now what do
1:16 you mean by self describing each other
1:17 what do you think it means
1:19 okay describing nature means the
1:22 database system in DBMS that is it does
1:26 not only contain the database okay the
1:28 database system does not only contain
1:31 the database but also the information
1:32 about the constraints and the structure
1:35 of the database okay so it is describing
1:37 itself like what is the structure of the
1:39 database what are the constraints of the
1:41 database and so on so this is called
1:45 self describing nature of DBMS this is
1:48 the first characteristic now where is
1:50 this information stored and what is this
1:52 information odd so the information about
1:54 constraints and the structure of the
1:57 database is known as the metadata now
1:59 where is this metadata store metadata is
2:01 stored in something called as catalog
2:04 okay so it is stored in catalog now why
2:06 is this information stored in catalog
2:08 now you need to understand that a
2:11 general database system is created not
2:13 for some specific application but for
2:16 uses okay so then you create something
2:19 for a general use the developers of the
2:21 application or the program or the user
2:23 needs to know about the structure and
2:25 the constraints of the database so that
2:27 they can create the program around it
2:29 okay or specifically for it
2:32 so hence to get this information about
2:33 the structure and constraints of the
2:35 database they need to reference the
2:37 metadata hence it is stored in the
2:40 catalog of the database now let's look
2:43 at the second characteristic the second
2:45 characteristics of DBMS approach is
2:47 known as insulation between programs and
2:50 data and data abstraction okay so what
2:52 do you mean by insulation between
2:53 programs and data and data abstraction
2:56 so in a file system what happens is
2:58 suppose you want to make some change in
3:00 the file system database you have to
3:03 make this change in the entire program
3:05 just because you make the change in the
3:06 database it won't be reflected in the program
3:07 program
3:09 okay so what you have to do in the file
3:11 system is you have to change the entire
3:13 program based on the change that you do
3:15 in the database but it's not the same
3:18 case in DBMS in DBMS suppose you want to
3:21 add another piece of data that is data
3:23 type let's say date of birth or
3:25 something like that okay all you have to
3:28 do is go to the catalog and add another
3:30 data type called data world and the
3:32 whole changes will be reflected in the
3:34 entire program you don't have to go and
3:36 edit the entire program so what does
3:39 that mean is by changing the data in the
3:41 database the program does not get
3:44 affected okay so that's why it's called
3:46 insulation between programs and data and
3:48 data abstraction all right now let's
3:51 look at a third characteristic support
3:54 of multiple views of the data so before
3:57 learning the support of what do you mean
3:59 by support of multiple views you need to
4:02 know what our views of the data so a
4:04 database has multiple users of course
4:07 okay each user may need different view
4:09 of the database now what do you mean by
4:10 view of the database suppose there are
4:13 there is a database of students
4:16 information okay now a student can
4:18 access the database that is view the
4:20 database okay and he might get his
4:22 attendance percentage or he might get
4:25 his the schools that he has code in a
4:27 subject whereas a teacher
4:29 also has the access to the same database
4:31 okay now the teacher wants to get the
4:33 information about contact details of the
4:35 parents that are there in the database
4:38 but a student cannot get the same
4:39 information as the teachers that is a
4:41 student does not have that privilege is
4:44 that a teacher should have so there is a
4:45 different view for a student there is a
4:47 different view for the teacher another
4:49 thing that you need to understand that
4:51 you know view the information that is
4:53 there that that is shown is either
4:56 derived from the database or it is
4:58 stored in the database so basically
5:00 let's say there is some information like
5:03 the marks of the students okay now
5:05 suppose a teacher wants to find what are
5:06 the what is the average score of the
5:10 entire class okay out of 100 now she
5:12 will just ask or query the database for
5:15 average score of the students she will
5:17 get the result out okay now the teacher
5:19 does not know whether the information is
5:21 stored in the database or it is derived
5:23 from the database that is the teacher
5:25 does not know whether the average score
5:26 of the class is stored in the database
5:29 or the average score is calculated by
5:32 the database and then displayed so that
5:34 is something known as support of
5:37 multiple views of the data so multiple
5:39 views means different user will have
5:41 different you of the data based on the
5:44 privileges that are there to the user so
5:45 let's look at the third characteristics
5:47 sharing of data and multi-user
5:49 transaction processing all right
5:51 now sharing of data and multi-user
5:53 transaction processing what do you mean
5:56 by that a multi-user DBMS as the name
5:58 suggests has multiple uses it must allow
6:00 multiple users to access and use the
6:02 database at the same time so it should
6:04 allow multiple users to use the data at
6:06 the same time this is a must when
6:08 multiple applications use a single
6:11 database to store and integrate in one
6:14 single database so this is a necessity
6:17 okay sharing and sharing of data and
6:19 multi-user transaction processing this
6:22 is a characteristics that a DBMS must
6:25 have so that it becomes useful for
6:29 multiple users okay now what do you need
6:32 okay to do this to achieve this a
6:34 concurrency control software must be
6:37 equated alright so what do you mean by a
6:39 concurrency control software okay a
6:40 concurrency control soft
6:43 is a software that will allow a user to
6:46 access the data at the same time whereas
6:48 other user will be able to use the
6:51 database but not the same data okay once
6:55 one user commits the changes then only
6:57 the other person can come and add new
6:58 changes or edit it
7:00 okay so this is known as concurrency
7:02 control now for this you have
7:04 concurrency control software's they are
7:07 also known as OLTP okay so why this
7:10 concurrency control software exists they
7:13 exist so that whenever a user uses the
7:16 data it should be correct okay and
7:19 update it they shouldn't be confusion
7:23 like right now this data was X after two
7:25 seconds the data is Y which one to
7:26 choose okay
7:29 hence once a user commits the changes
7:31 then only other person can use it this
7:33 is also known as acid properties that is
7:34 we will talk about acid properties
7:37 afterwards right not right now let's
7:39 look at an example so that you
7:40 understand better suppose you are trying
7:42 to book a ticket on an online ticket
7:45 booking website for a bus okay this is
7:46 the seating arrangement for the bus and
7:49 all seats are available when you go okay
7:50 no you're like okay fine all seats are
7:51 variable I will come after five minutes
7:53 I will books typically after five
7:55 minutes you come you see some seats have
7:56 been booked that are there in the red
7:59 have already been booked now you are
8:01 like okay fine it's okay I'll book seat
8:03 number one okay so you select seat
8:05 number one we will see seat number one
8:08 selected at the same time okay someone
8:10 else also comes online and he wants to
8:13 book seat number one as well but the
8:14 system won't allow it
8:16 the system will show seat one is not
8:18 available kindly select another see to
8:19 that person
8:21 alright you have not yet completed the
8:24 booking you have just select the book
8:27 you just selected the seat okay but
8:30 still the user won't be able to select
8:32 the same seat as you okay this is known
8:34 as concurrency control now if you book
8:35 the ticket
8:37 it's all fine the seating arrangement
8:39 will look the same but suppose if you go
8:41 in to book the ticket okay you're like
8:42 okay fine I'll book the next day's
8:44 ticket I won't select this safe so you
8:46 cancel the booking now the CDs are get
8:49 available so after some time it depends
8:51 on the website maybe 15 is softener the
8:53 seat is going to be made available again
8:53 to users
8:57 for booking now why this exists this
8:59 exists because two users shouldn't be
9:02 able to book one single seed in the name
9:04 of two different users alright this is
9:06 known as concurrency control and this is
9:08 the fourth characteristic of the
9:11 database approach so that's it for today
9:12 guys thank you very much for watching if
9:14 you have any queries feel free to ask
9:16 them in the comment section below if you
9:18 have any suggestions please write them
9:19 in the comment section below if you like
9:21 the video please share it with your
9:23 friends and subscribe to my channel