YouTube2Text

Introduction to DBMS/2 — Transcript

by Data Base Management System - IITKGP · 4,473 words · 827 segments · language en · Watch on YouTube

Full transcript

  1. 0:00[Music]
  2. 0:16welcome to module 3
  3. 0:19of
  4. 0:20database management systems course
  5. 0:23we started
  6. 0:25discussions
  7. 0:26introducing the database management
  8. 0:28systems in module 2
  9. 0:31this is the
  10. 0:32second and concluding part of that
  11. 0:34discussion
  12. 0:36so
  13. 0:38this is what these are the aspects that
  14. 0:40we had discussed earlier starting from
  15. 0:42level of abstraction
  16. 0:44to the
  17. 0:46outline of database design
  18. 0:49in the current module we would like to
  19. 0:51understand the models of database
  20. 0:53management systems little bit more
  21. 0:57and we will try to familiarize with the
  22. 1:00concept of
  23. 1:02major components of ah database engine
  24. 1:05we will elaborate on those
  25. 1:07and will familiarize so with
  26. 1:09the basic
  27. 1:12architecture of a database management
  28. 1:14system some of the internal components
  29. 1:16and will present a brief historical
  30. 1:18perspective of the dbmss
  31. 1:22so this is the outline that we will
  32. 1:24follow
  33. 1:26so we have already discussed about the
  34. 1:28database design i would like to raise a
  35. 1:31few
  36. 1:32further issues about
  37. 1:34that so we have seen that
  38. 1:36there is a logical design which is
  39. 1:39driven by the business decisions and
  40. 1:42refined by the computer science
  41. 1:43decisions there is a physical design as
  42. 1:45well
  43. 1:46and based on that
  44. 1:47we had
  45. 1:50presented this particular table asking
  46. 1:53whether this database is
  47. 1:56this is whether this is a good design or
  48. 1:58not
  49. 1:59so let us have a little ah look into
  50. 2:01this for example
  51. 2:04we have introduced the department name
  52. 2:08and the building in which the department
  53. 2:10is housed
  54. 2:12so if we look at there are multiple
  55. 2:14instructors say let us say
  56. 2:16professor einstein
  57. 2:18who teaches in the physics department
  58. 2:20that is housed in the watson building
  59. 2:24and if we look through there is a
  60. 2:26professor gold
  61. 2:28who also teaches in the physics
  62. 2:30department and naturally that is housed
  63. 2:32in the watson building
  64. 2:34now the question is so
  65. 2:37physics department if it is housed in
  66. 2:39the watson building then all the
  67. 2:41instructors in this in this table
  68. 2:44all the instructors who are
  69. 2:46part of the physics department would
  70. 2:48have their department housed in the
  71. 2:50watson building
  72. 2:52so there is a certain issue of between
  73. 2:55these two there are certain issue of
  74. 2:57redundancy
  75. 3:03that is the same information is given
  76. 3:05more than once which is not a very
  77. 3:07desirable thing
  78. 3:09the consequence of this could be suppose
  79. 3:12tomorrow
  80. 3:14the university decides to move this
  81. 3:17physics department from
  82. 3:20watson to the taylor building
  83. 3:23this will mean that
  84. 3:25once this is moved then this watson will
  85. 3:28have to be changed to taylor
  86. 3:30also this watson will also have to be
  87. 3:32changed to taylor all instances of
  88. 3:34watson
  89. 3:36that corresponded to the physics
  90. 3:38department in this table will have to be
  91. 3:40changed to taylor
  92. 3:42and that is not a good scenario so its
  93. 3:44not only that we have redundancy
  94. 3:46we have
  95. 3:47potential
  96. 3:51for anomaly
  97. 3:54that is
  98. 3:56we might the application program the
  99. 3:58application programmer might forget
  100. 4:00to update
  101. 4:03the building say for this entry
  102. 4:06then we will be in an inconsistent
  103. 4:08database so
  104. 4:10to put it
  105. 4:12in simple terms that this is not a good
  106. 4:15design and there are several issues to
  107. 4:17consider
  108. 4:18in terms of whether some design is good
  109. 4:21or some design needs refinement
  110. 4:24so need to come up with a methodology
  111. 4:27to ensure that each of the relations in
  112. 4:30the database is good
  113. 4:33so
  114. 4:34we primarily follow two approaches in
  115. 4:36doing this one is using the entity
  116. 4:39relationship model
  117. 4:41which models the enterprise as a
  118. 4:43collection of entities
  119. 4:45or concepts
  120. 4:47or if you are familiar with the object
  121. 4:49orientation classes
  122. 4:52and the relationships that hold between
  123. 4:54these entities so in an university
  124. 4:56database the entities are students
  125. 4:58courses teachers
  126. 5:01and the relationships are
  127. 5:03a teacher
  128. 5:04teaches a set of courses
  129. 5:06a student attends a set of courses and
  130. 5:09so on the teachers supervise a set of
  131. 5:11students for projects and so on
  132. 5:14and then represent them diagrammatically
  133. 5:16in terms of an er diagram entity
  134. 5:18relationship diagram
  135. 5:20and once that has been done
  136. 5:23then we try to
  137. 5:26follow a certain
  138. 5:27normalization theory
  139. 5:29this normalization theory tries to
  140. 5:31capture that what are the properties
  141. 5:34that must
  142. 5:36hold in this database design that must
  143. 5:38be satisfied on this database design
  144. 5:41in terms of what is known as database
  145. 5:44dependencies there are varied forms of
  146. 5:46dependencies functional dependencies
  147. 5:48multivalued dependencies joint
  148. 5:50dependencies and so on
  149. 5:52and try to formalize and evaluate
  150. 5:56whether a design is good or its bad
  151. 5:59test them for quality and they normalize
  152. 6:02to make them
  153. 6:03better
  154. 6:04make them the best possible that can
  155. 6:06happen so that is this is something
  156. 6:09ah that is
  157. 6:11starting from the entity relationship
  158. 6:13model which captures the real world to
  159. 6:15the actual database schema there is a
  160. 6:18process of
  161. 6:19representation and then
  162. 6:21ah capturing of ground truths
  163. 6:25that hold in the database
  164. 6:27should hold in the database system and
  165. 6:29then normalize the database is a basic
  166. 6:31requirement of the design approach
  167. 6:35we have talked about ah object
  168. 6:37relational data models fewer few more
  169. 6:39points about that
  170. 6:41that in a relational model everything is
  171. 6:43flat every value is atomic in the sense
  172. 6:45that everything if you look back and
  173. 6:48think in terms of c
  174. 6:51then every
  175. 6:52field is a value which can be a simple
  176. 6:56you know built in type like integer like
  177. 7:00fixed length string variable length
  178. 7:02string a floating point number like that
  179. 7:04but
  180. 7:05i cannot have a composite you know ah
  181. 7:08object kind of ah fields
  182. 7:10but in a relational data model we extend
  183. 7:13in the object relational data model we
  184. 7:15extend the relational model by including
  185. 7:18the object orientation and the
  186. 7:19constituent constructs ah to deal with
  187. 7:23added data types higher data types
  188. 7:26ah where attributes are allowed to have
  189. 7:28complex types non atomic values
  190. 7:32that may allow things like nested
  191. 7:34relation that is a value could itself be
  192. 7:37a relation could itself be a table
  193. 7:39and but we try to preserve the
  194. 7:42relational foundation ah and we will see
  195. 7:45what those foundations mean and provide
  196. 7:48upward compatibility to to existing
  197. 7:50relational databases so this is what the
  198. 7:53basic concept of object relational data
  199. 7:56models are and as i said that we will
  200. 7:59just glimpse through it but this is not
  201. 8:01the primary
  202. 8:03objective that we will try to cover
  203. 8:06in contrast xml extensible
  204. 8:08markup language was
  205. 8:11defined by w3c and it was originally
  206. 8:14intended for marking up document
  207. 8:17languages
  208. 8:18not as it is not it was not designed as
  209. 8:20a database language it was designed for
  210. 8:22marking up so it is kind of saying that
  211. 8:25this particular element
  212. 8:28should be put in capital this should be
  213. 8:31in blue color this means a verb this
  214. 8:34means a paragraph there should be a page
  215. 8:36break here those kind of markups but
  216. 8:38subsequently it turned out that
  217. 8:41the way xml deals ah
  218. 8:44with different components
  219. 8:47in terms of tags
  220. 8:48and
  221. 8:49the ability to create nested tags makes
  222. 8:52a
  223. 8:53great
  224. 8:54language for exchange of data as i
  225. 8:57explained in the last module also so it
  226. 9:00is
  227. 9:01become the basis for all kinds of
  228. 9:04new generation data interchange format
  229. 9:07so as i explained that any database
  230. 9:10should be able to convert the data
  231. 9:13instances of the tables in terms of
  232. 9:16corresponding xml format
  233. 9:19and then you take it to some other
  234. 9:21database where you
  235. 9:22with which you are intending to
  236. 9:24interchange the data
  237. 9:26and
  238. 9:27that target database should be able to
  239. 9:29import from that external structure and
  240. 9:32it becomes
  241. 9:33it is become
  242. 9:34widely available that you have different
  243. 9:36tools for parsing browsing
  244. 9:38and querying xml content document data
  245. 9:41and so on so if you are
  246. 9:44familiar with c programming i hope so
  247. 9:46you are ah you can
  248. 9:48look up certain xml parsing and
  249. 9:51try out they are great tools to learn
  250. 9:55moving on let us briefly look at what is
  251. 9:58the core of a database management system
  252. 10:00the database engine
  253. 10:02the database engine primarily
  254. 10:04contains ah three major components ah
  255. 10:08the storage manager the query
  256. 10:10processing engine sub engine and the
  257. 10:13transaction manager
  258. 10:15the storage manager
  259. 10:17is a is a module or collection of
  260. 10:19modules in a database management system
  261. 10:22that provide the interface
  262. 10:24between the low level data
  263. 10:26and the application program so we have
  264. 10:29looked at the storage manager is the one
  265. 10:31which is a bridge between the
  266. 10:33physical level of abstraction and the
  267. 10:36logical level of abstraction then
  268. 10:39finally to the view level of abstraction
  269. 10:41so the storage manager has to deal with
  270. 10:43the
  271. 10:44interactions with the operating system
  272. 10:46on which the dbms is
  273. 10:49kept
  274. 10:50the file manager of the operating system
  275. 10:53it is responsible for efficient storage
  276. 10:56retrieval update of the data it is
  277. 10:58responsible to make sure
  278. 11:00that if there are certain problems in
  279. 11:03the file system then the data is not
  280. 11:05corrupted and so on
  281. 11:07so the issues certainly
  282. 11:09that involve are the access to the
  283. 11:11storage the organization of the files
  284. 11:14and very importantly indexing and
  285. 11:16hashing and we will talk about
  286. 11:19the concept of indexing later in the
  287. 11:22course it primarily says that if i want
  288. 11:24to
  289. 11:25for example you can simply understand
  290. 11:28that
  291. 11:28if you
  292. 11:29are
  293. 11:31if you have a large chunk of data that
  294. 11:33you want to organize
  295. 11:35for efficient search
  296. 11:37then you can use a binary search tree in
  297. 11:40simple algorithm terms the binary search
  298. 11:43tree needs to be organized in terms of
  299. 11:45one data component we say that well
  300. 11:47there is one value based on which you
  301. 11:49can say that comparison is done so that
  302. 11:51at every node if that value is smaller
  303. 11:54you go to the left sub tree if that
  304. 11:56value is larger you go to the right sub
  305. 11:57tree and so on so in a if we want to
  306. 12:00organize the records of a database
  307. 12:03system in terms of such a binary search
  308. 12:05tree then the question certainly is
  309. 12:08which field do i use
  310. 12:10for the search tree comparison
  311. 12:13now whatever field i use for search tree
  312. 12:15comparison on that field the searching
  313. 12:17would be very efficient but if i want to
  314. 12:19search on a value for a different field
  315. 12:22the searching would not remain that
  316. 12:24efficient so indexing is a mechanism by
  317. 12:27which
  318. 12:28you can actually create auxiliary search
  319. 12:31trees on multiple fields
  320. 12:33so that the search on multiple fields
  321. 12:36can be made efficient and we will talk
  322. 12:38about this ah later when that particular
  323. 12:40module comes up but the storage manager
  324. 12:42has to deal with such issues
  325. 12:45moving on ah
  326. 12:46the query processing ah is
  327. 12:49if we have we have already talked about
  328. 12:52the language the ddl the dml the query
  329. 12:54language so its some kind of like the c
  330. 12:57program its some kind of a text based
  331. 13:00programming code so naturally that code
  332. 13:03needs to be parsed and translated as
  333. 13:06we typically do in a c compiler so there
  334. 13:09needs to be a query compiler so it
  335. 13:11passes
  336. 13:13and
  337. 13:14analyzes the code but translated
  338. 13:18unlike the c program which translates
  339. 13:20the c program into an
  340. 13:22intermediate code and then ah into ah
  341. 13:26the binary instructions of the machine
  342. 13:28the assembly binary instructions of the
  343. 13:30machine the query translator
  344. 13:33translates the query into relational
  345. 13:35algebra expressions i said that there
  346. 13:38are two kinds of languages the
  347. 13:39commercial query language and the pure
  348. 13:41language so you translate it in terms of
  349. 13:44a program in the pure language it which
  350. 13:46could be a relational algebra language
  351. 13:49and then it tries to optimize so that's
  352. 13:52that's a that's a that's a critical term
  353. 13:54to be noted that there is an optimizer
  354. 13:57so this optimizer is
  355. 14:00a critical component
  356. 14:01which
  357. 14:02tries to make sure that the query when
  358. 14:04it is run on your data will run with the
  359. 14:08most
  360. 14:09in a least amount of time in an
  361. 14:11effective manner so
  362. 14:12and then an execution plan needs to be
  363. 14:15decided we will you will be able to
  364. 14:18understand this when we go to the actual
  365. 14:20relational algebra
  366. 14:21execution plan basically says that if
  367. 14:24there are multiple operations in that
  368. 14:26query to be performed then how those
  369. 14:29operations in which order they should be
  370. 14:31performed and where should temporary
  371. 14:33tables be used where they should be
  372. 14:34skipped and so on and then once that has
  373. 14:37been done then it passes on to an
  374. 14:39evaluation engine which actually runs
  375. 14:41that query on the data that you have the
  376. 14:44instances of the data that you have and
  377. 14:46that brings out the resultant query
  378. 14:49output which is another table of results
  379. 14:52that we get so this query processing is
  380. 14:55a core part of a database engine which
  381. 14:59actually allows us to write text based
  382. 15:02queries and reactive data efficiently
  383. 15:05change update data efficiently insert
  384. 15:07data efficiently and so on
  385. 15:09so
  386. 15:13so when we do this that we need to look
  387. 15:16at alternative ways of evaluating a
  388. 15:18query
  389. 15:19there could be different ways to write
  390. 15:21the same thing these are called
  391. 15:22equivalence expression equivalent
  392. 15:24expressions and what are the good
  393. 15:26algorithms for doing each and every
  394. 15:28operation
  395. 15:31there is a cost between good and bad way
  396. 15:33of evaluating so this has to be
  397. 15:35understood that
  398. 15:38the same thing you can compute in a you
  399. 15:40have seen this similar concepts in in
  400. 15:43normal programming languages also i mean
  401. 15:45ah we have seen for example for sorting
  402. 15:48there are several ways to sort and some
  403. 15:49are better some are not as efficient so
  404. 15:53ah the similar things in terms of a
  405. 15:55query needs to be evaluated and the cost
  406. 15:58between good and bad ways need to be
  407. 16:00figured out
  408. 16:04so
  409. 16:10then we need to estimate the cost of
  410. 16:13every operation it depends on
  411. 16:15the information of what has happened in
  412. 16:18the past the statistical information
  413. 16:20and need to estimate those statistics
  414. 16:23for intermediate result these are the
  415. 16:25couple of things that the
  416. 16:27query processing
  417. 16:28sub engine in a database will do
  418. 16:32so beyond the storage
  419. 16:34manager and the query processor ah we
  420. 16:36have a transaction management system
  421. 16:38which is very very critical and core of
  422. 16:40the database system
  423. 16:42it is a primarily
  424. 16:44has to deal with two fundamental issues
  425. 16:47of a database one what if a system fails
  426. 16:51see database systems unlike the programs
  427. 16:54that you have written so far a program
  428. 16:56starts
  429. 16:58executes and ends the program always
  430. 17:00deals with transient data the data did
  431. 17:02not exist before your program started
  432. 17:05it ceases to exist after your program
  433. 17:07ends
  434. 17:08so a program however complicated however
  435. 17:11important
  436. 17:12has a
  437. 17:13limited lifetime a database in contrast
  438. 17:17has a much longer lifetime it deals with
  439. 17:20persistent data
  440. 17:22that is very important to understand
  441. 17:24that is
  442. 17:25the each application whether i am doing
  443. 17:28a bank fund transfer whether i am
  444. 17:31making a credit card payment whether i
  445. 17:33am checking the balance
  446. 17:35or i am booking a railway ticket whether
  447. 17:38i am
  448. 17:40purchasing a book from amazon each one
  449. 17:43of the applications are like the normal
  450. 17:45program it has a fixed lifetime i
  451. 17:47started i do certain operations i am
  452. 17:49done with it but the data that is behind
  453. 17:52it the data of my accounts my
  454. 17:55account balance my transactions my
  455. 17:58different bank charges all that
  456. 18:01need to stay on and on and on and beyond
  457. 18:04every
  458. 18:05particular operation that i have done on
  459. 18:08the database
  460. 18:09so which means that
  461. 18:11if
  462. 18:13this database system fails at some stage
  463. 18:16for some reason
  464. 18:18then we have a enormous impact of that
  465. 18:21and that is not something that we can
  466. 18:24absorb that something that we can accept
  467. 18:28so
  468. 18:29a database system has to come with the
  469. 18:31concept of recovery it must be possible
  470. 18:34if the system fails it must be possible
  471. 18:36to recover
  472. 18:38it to a certain earlier point where it
  473. 18:42is consistent
  474. 18:43so transaction management system is
  475. 18:45responsible to guarantee this kind of
  476. 18:48recoverability of databases
  477. 18:51then
  478. 18:53the other question that we have
  479. 18:55discussed about
  480. 18:56earlier also is
  481. 18:59multiple users are you accessing the
  482. 19:02same database the same set of data at
  483. 19:04the same time
  484. 19:05so what how to make sure that more than
  485. 19:08one user can concurrently use and update
  486. 19:11without the data getting inconsistent
  487. 19:13that is
  488. 19:14as i had mentioned there is only one
  489. 19:16seat available one bath available on a
  490. 19:19particular train on a particular date
  491. 19:22and two users at the same time has
  492. 19:24initiated a booking it should not happen
  493. 19:27that both of them get
  494. 19:29the booking so one should get one should
  495. 19:31not get and that needs to be
  496. 19:34the complexity is high for this kind of
  497. 19:38you know decisions because ah in a the
  498. 19:41databases
  499. 19:42applications are significantly
  500. 19:44distributed
  501. 19:45indian railways have no idea of who is
  502. 19:48going to do what booking of which part
  503. 19:50from where at which point of time so
  504. 19:53transaction management system is
  505. 19:56as the name suggests defines something
  506. 19:58called a transaction which always keeps
  507. 20:01the database consistent and operable
  508. 20:05so its a collection of a transaction is
  509. 20:07a collection of operation that performs
  510. 20:09a single logical function in a database
  511. 20:12application this is this is very very
  512. 20:14critical
  513. 20:15its a collection of operations
  514. 20:17and performs a single logical function
  515. 20:20so it does not do anything and
  516. 20:21everything it just does a single
  517. 20:23particular logical operation
  518. 20:25and
  519. 20:26ah
  520. 20:27that's what forms the transaction
  521. 20:31so
  522. 20:36a transaction management system is a
  523. 20:38component that ensures that
  524. 20:41with all these transactions happening
  525. 20:44hundreds and thousands of transactions
  526. 20:46happening every second in a database
  527. 20:47system in a typical database system
  528. 20:50the data
  529. 20:51should still remain consistent
  530. 20:54in a consistent state in spite of
  531. 20:56failures in spite of concurrencies it
  532. 21:00must
  533. 21:01make
  534. 21:02sure that at no point of time
  535. 21:05it should happen that an amount has been
  536. 21:08debited from an account and has not been
  537. 21:09traded to account
  538. 21:11or an amount has been created to an
  539. 21:12account and has not been debited to the
  540. 21:14corresponding account or the same seat
  541. 21:17same birth is booked by two persons at
  542. 21:19the same time and so on so forth
  543. 21:22so
  544. 21:24this also includes concurrency control
  545. 21:26manager which controls the interaction
  546. 21:28among different concurrent transactions
  547. 21:30which ensures the consistency in the
  548. 21:32database and provides the total safety
  549. 21:36so
  550. 21:37in total we have seen the different
  551. 21:39components of the database engine
  552. 21:41comprising the storage manager
  553. 21:43comparison
  554. 21:44the query processor and the transaction
  555. 21:47manager
  556. 21:48now we move on to ah we just have a
  557. 21:50quick look in terms of what the typical
  558. 21:52users
  559. 21:53of a database system
  560. 21:55so if we
  561. 21:57see the grossly the users of a database
  562. 21:59system can be grouped into
  563. 22:02i mean you can group it in multiple
  564. 22:03different ways but this is a typical way
  565. 22:05to group that you have the nav users
  566. 22:08those
  567. 22:09like those the the ah
  568. 22:13secretarial staff who sits at the tailor
  569. 22:15of the bank
  570. 22:16now that person just needs
  571. 22:18ah does not know database management
  572. 22:20system but that person just needs to
  573. 22:22know the particular application he knows
  574. 22:25a few set of screens graphical screens
  575. 22:28what needs to be filled up where which
  576. 22:29button needs to be clicked and so on and
  577. 22:31can use
  578. 22:33this database through an application
  579. 22:35interface so this is a lowest level of
  580. 22:37user
  581. 22:38then you have the set of application
  582. 22:40programmers about whom i talked about in
  583. 22:42my ah
  584. 22:44course overview
  585. 22:45ah presentation that application
  586. 22:47programming is a big chunk of
  587. 22:50you know it services that databases need
  588. 22:53who actually write the application
  589. 22:56programs while the nav user is similarly
  590. 22:59using it application programmers are
  591. 23:01responsible for writing coding this
  592. 23:03application program so they need to
  593. 23:04understand the database designs they
  594. 23:07need to understand
  595. 23:08how to ah write the query language how
  596. 23:11to fit with the application data input
  597. 23:14output all the systems
  598. 23:17the next level are the analysts who are
  599. 23:20called the sophisticated users
  600. 23:22so
  601. 23:23they
  602. 23:25design different kinds of query tools
  603. 23:28they are responsible
  604. 23:30for the design of the database that is a
  605. 23:32schema the ins different
  606. 23:35ah constraints
  607. 23:37the
  608. 23:38authorizations and so on and manages
  609. 23:41that over a period of time when the
  610. 23:44application requirements change they
  611. 23:45might need to redesign the schema
  612. 23:48migrate the data from an old schema to a
  613. 23:50new schema
  614. 23:51so analysts are higher level of
  615. 23:54programmers they have
  616. 23:56ah
  617. 23:57far more solid understanding of the
  618. 23:59database management system to be able to
  619. 24:03design different kind of query tools
  620. 24:05that the application programmer will use
  621. 24:08and and there are database
  622. 24:10administrators so database
  623. 24:12administrators are
  624. 24:15people with
  625. 24:16specialized rights who can do
  626. 24:19a lot of privileged operation on the
  627. 24:22database for example ah taking backups
  628. 24:26of databases for example creating
  629. 24:28different users
  630. 24:30ah for example if there has been a
  631. 24:33failure then ah how to
  632. 24:35do the failure recovery scripts
  633. 24:38recovering the database and so on so
  634. 24:40they do all kinds of administration
  635. 24:42tasks but not the usual day to day data
  636. 24:46maintenance and you know query
  637. 24:48processing and so on
  638. 24:50so
  639. 24:51if we
  640. 24:52if you would like to know your positions
  641. 24:54then i would say that by
  642. 24:57through this course you are going to
  643. 24:59position yourself amongst the
  644. 25:01application programmers and the analyst
  645. 25:03and as i mentioned that the first half
  646. 25:05of the course
  647. 25:07is focused on application programming
  648. 25:09aspect and the second half would be more
  649. 25:11focused on the analysis and some of the
  650. 25:14administrator we will do little bit of
  651. 25:16administration but not really serious
  652. 25:18administration tasks
  653. 25:21now
  654. 25:31we will take a quick look into the
  655. 25:33database ah internals and architecture
  656. 25:35so i will take you to this diagram i am
  657. 25:38sorry this diagram is little
  658. 25:41small in terms of the script size ah so
  659. 25:44please refer to the actual presentation
  660. 25:46so if you if you look at the top ah here
  661. 25:49is the users
  662. 25:51so
  663. 25:52just trying to show what different users
  664. 25:55use this is a query processor that
  665. 25:58we have known
  666. 26:00so the query processor gets a query and
  667. 26:04so that naturally this query comes from
  668. 26:06the application program so the compiler
  669. 26:09link
  670. 26:09these
  671. 26:11these are the basic processing then the
  672. 26:13op
  673. 26:14compiler organization the evaluation
  674. 26:16engine which actually takes care of the
  675. 26:19processing of the whole query and then
  676. 26:22it goes to the storage manager which is
  677. 26:24now taking this
  678. 26:26whatever the evaluation engine needs to
  679. 26:28do has to go through different
  680. 26:31modules in the storage manager which we
  681. 26:34will talk about these modules when we
  682. 26:36now we do have a discussion module on
  683. 26:38the storage management later in this
  684. 26:40course
  685. 26:41and we will then talk about what is a
  686. 26:42file manager and what is authorization
  687. 26:44and so on but these are the sub
  688. 26:46components these are the sub components
  689. 26:48the storage management needs to do
  690. 26:50and then the storage manager is only one
  691. 26:52who deals with the actual data the
  692. 26:54actual disk storage the different files
  693. 26:57and so on so as you can see that the
  694. 26:58whole system is kind of ah layered
  695. 27:02in terms of so this is this is your your
  696. 27:05basic physical layer that you have
  697. 27:09and
  698. 27:10this is
  699. 27:11your final
  700. 27:12view layer that you have and in between
  701. 27:15this
  702. 27:16is a logical layer that you that you
  703. 27:18deal with so you can you can see that
  704. 27:21the abstractions as we had
  705. 27:23talked about are also mapped in terms of
  706. 27:25the
  707. 27:26way the actual database system
  708. 27:28architecture is managed and finally the
  709. 27:31data stays in the disk storage which ah
  710. 27:33ensures that whatever data i have is
  711. 27:36actually persistent in nature it does
  712. 27:38not go away any data that stays within
  713. 27:42here
  714. 27:43or within the application interface is
  715. 27:45transient
  716. 27:46so that data these data are
  717. 27:48transient
  718. 27:52they will disappear as soon as the
  719. 27:53application is over but these data are
  720. 27:56persistent
  721. 27:58they exist
  722. 27:59beyond this and architecture supports
  723. 28:02that whole gamut
  724. 28:03from
  725. 28:04of all applications or transiency of the
  726. 28:07applications based on the persistency of
  727. 28:10the data and the storage so that is a
  728. 28:12basic
  729. 28:13architectural view of a typical database
  730. 28:16systems the actual architecture will be
  731. 28:17far more complex but we just want to
  732. 28:19take a schematic view so that we can
  733. 28:21understand it better
  734. 28:25so it ah the actual architecture may
  735. 28:27again ah vary based on the computer
  736. 28:30system that you are using
  737. 28:32it could be centralized we will talk
  738. 28:34about some of these at later modules ah
  739. 28:37centralized in the sense that there
  740. 28:39could be one database server or you know
  741. 28:42a group of database servers at the same
  742. 28:44physical location connected together
  743. 28:47to which all applications all user will
  744. 28:49connect to
  745. 28:51it could be in terms of a client server
  746. 28:53model which is a very typical client
  747. 28:54server model that the programming
  748. 28:56systems have so that ah typically for
  749. 28:59for example any of the
  750. 29:01net based internet based database
  751. 29:03applications we are looking at are
  752. 29:05necessarily client server in nature what
  753. 29:07you are doing in the browser is a client
  754. 29:09and there is a server back
  755. 29:11far back there the multiple tiers in
  756. 29:13between them
  757. 29:15ah databases could be single processes
  758. 29:19or for performance they could be in
  759. 29:21terms of multiprocessor
  760. 29:23ah parallel databases the data
  761. 29:26sets themselves could be so large that
  762. 29:29it may not be possible to search on them
  763. 29:31through a single processor in a
  764. 29:33reasonable time
  765. 29:34they could be
  766. 29:35distributed the data itself could be
  767. 29:37distributed tables could get so large
  768. 29:40that i may not be able to keep them at a
  769. 29:43single point so these are different
  770. 29:44aspects of you know complex ah real life
  771. 29:48database system that exist
  772. 29:50and
  773. 29:51we will deal with some of those some of
  774. 29:53those aspects over the course of time
  775. 29:55but
  776. 29:56you have to keep in mind that a final
  777. 29:58architecture of a database
  778. 30:00and its associated application will have
  779. 30:03some of these factors that you will need
  780. 30:05to know and maybe decide on
  781. 30:12ah in terms of ah history
  782. 30:14well i mean i will not ah go through
  783. 30:17each and every point here this is
  784. 30:19more for completeness and to give you an
  785. 30:22a sense of how things have been going so
  786. 30:24database system started in the 50s and
  787. 30:26early 60s then major developments of
  788. 30:30these relational models
  789. 30:32and all that started happening
  790. 30:34in the 70s and
  791. 30:37in 80s really it proliferated
  792. 30:40large in terms of prototypes and
  793. 30:41commercial systems parallel distributed
  794. 30:43systems object based systems started
  795. 30:45happening in 80s
  796. 30:4690s ah it really exploded in terms of
  797. 30:50large decision support data mining
  798. 30:52applications ah
  799. 30:54you know applications ah widespread
  800. 30:57use of
  801. 30:59internet-based
  802. 31:00data applications and and systems
  803. 31:04emergence of google and all that
  804. 31:06from twenties uh early to i mean early
  805. 31:08two thousand it has been
  806. 31:10xml and automated database
  807. 31:12administration and now what we are
  808. 31:14facing in are the big data which are
  809. 31:17certainly ah aspects of other courses
  810. 31:20ah but at the back of back of back at
  811. 31:23the last layer there
  812. 31:25often is a strong relational system that
  813. 31:27exists
  814. 31:29so to summarize uh in this module we
  815. 31:32have introduced the models of database
  816. 31:34management system the major components
  817. 31:36of
  818. 31:37a database engine
  819. 31:38and
  820. 31:39discussed about the internals and
  821. 31:41architecture
  822. 31:42and
  823. 31:43this will conclude our discussion on the
  824. 31:46internals of database management systems
  825. 31:49and next we will move on to
  826. 31:52exposing more on the relational model
  827. 32:01you

About this transcript

This page contains the full transcript of Introduction to DBMS/2 by Data Base Management System - IITKGP, generated from the public captions YouTube serves with the video. The transcript has 4,473 words across 827 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.