Вы находитесь на странице: 1из 7

Database Technology

Lecture 1: SYLLABUS--> Objectives of the course: This course aims to provide continuity to where the first course of databases left off, i.e Sem 3 GUI DBMS. Basically, the design aspects of relational databases are covered. Complex data models like OO OR parallel and distributed databases are introduced. The course also provides a good overview of the ideas and the techniques, which are behind recent developments in the fields of data warehousing and Online Analytical Processing (OLAP).

1. Overview Review of relational database systems, ER diagram, SQL. 2. Integrity and Security Domain constraints; referential integrity, assertions; triggers; triggers and Assertions in SQL. Security and Authorization; Authorization in SQL. 3. Relational database Design First normal form; pitfalls in relational database design, functional dependencies; decomposition. Desirable properties of decomposition. BoyceCode normal form; 3rd and 4th normal form. Mention of other formal forms. 4. The ER Model Revisited Motivation for complex data types, User Defined Abstract Data Types And Structured Types, Subclasses, Super classes, Inheritance, Specialization and Generalization, Relationship Types of Degree Higher Than Two.

5. Object-Oriented & Object relational databases Object Identity, Object Structure, and Type Constructors, Encapsulation of Operations, Methods, and Persistence, Type Hierarchies and Inheritance, Type extents and Queries, Database Design For An ORDBMS- Nested Relations and Collections; Storage And Access methods, Overview of SQL 3

6. Parallel and Distributed Databases Parallel Query Evaluation; Parallelizing Individual Operations, Sorting, Joins; Distributed Databases Concepts, Data Fragmentation, Replication, and Allocation technique for Distributed Database Design; Query Processing in Distributed Databases; Concurrency Control and Recovery in Distributed Databases. 7. Enhanced Data Models for Advanced Applications. (Overview and Design issues) Temporal Databases; Spatial Databases & Geographic Information Systems, Mobile Databases. 8. Data Warehousing and OLAP a) Data Warehousing Basics : Data Warehousing (DW) Introduction & Overview; Data Marts, DW components; Data warehouse architecture; ETL Data Transformation-Extracting , Conditioning, cleansing, Scrubbing, Merging, etc. b) OLAP: Multidimensional modeling- Fact table, dimensions, measures, ROLAP, MOLAP, HOLAP; tools. OLAP OperationsRollup, Drill-down, Dice slice, pivot.
Text Books: 1. Elmasri and Navathe, Fundamentals of Database Systems, Pearson Education 2. Raghu Ramakrishnan, Johannes Gerhke, Database Management Systems McGraw Hill 3. Kimball, Ralph; Reeves, Laura et al Data warehouse Lifecycle Toolkit: expert methods for designing, developing, and deploying data warehouses - Wiley publications. References: 1. Korth, Silberchatz, Sudarshan, Database System Concepts McGraw Hill 2. C.J.Date, Longman, Introduction to Database Systems, Pearson Education 3. Paulraj Ponnian, Data Warehousing Fundamentals, John Wiley. I would be majorly referring to Korth, and Navathe, and I expect youll to stick to the same as well. What do u understand by the term Database? .. ideas..

I can confidently say that each one of you sitting here has a database of your own, which youll use quite frequently during the day.. Even before data could be digitized, or even before computer systems came into existence, information was stored in large books and diaries. Such information was usually stored in a haphazard manner. Suppose, lets say a phone directory, and we just keep adding contacts one after the other, on a First come first serve basis. Lets say, some day We want to retrieve the phone no of a person named Smith. What you would have to do is, go through all the records, one after the other,until you come across your desired location. Your phone directory could contain thousands of records, and looking out for 1 among so many would be a tedious and a time consuming job. Suppose, you have to continue looking out for records throughout the day, how exhausting a job it would be. So, we decide to arrange the phone nos in an alphabetical manner now. First the As, then the Bs.and so on uptill Z, with respect to their First names. Now, we find the search has become a lot easier, because we have clubbed similar records together. Suppose your boss wants you to search a contact no. with respect to the Last Name, not with respect to the First names, like we just did. Now, we would either have to go through all the records, or else make another phone directory, having the Last names mentioned first. After that is done, your boss wants you to look out for a particular contact no with respect to their Middle name. Again you will have to repeat the entire procedure, leading to wastage of time and frustration. Suppose, some person changes his phone no, the same will have to be updated at three different places; failing which, it would result in confusion. After computer systems came into existence, the same information was digitized, in the sense, rather than writing in books, we now wrote the information in files. And how do we retrieve information from files? By writing C programs, or rather I call them application programs. Again we would have to maintain 3 different files, for 1st name, last name and middle name respectively. Changes made in one file, should mandatorily be made in the other files as well. Suppose we take example of a student record, in a college database. There will be one file containing his personal details, another file containing his educational details, family details, a separate file for Library card, Sports card, Gym, ACM,CSI, NSS, canteen and so on. One record is placed at so many different locations. Suppose, that particular student leaves the college, this means, his library card, sports card, gym, canteen, etc should be discarded. In order to do this, we will have to manually

make changes in all these files. Missing out on making changes in even one file, could lead to serious consequences. For the librarian, the student could still be existing in college, whereas he is not ! Lets take a banking example, every person has an account of his own. Files per person would be, a savings/current account file, withdrawal amount file, pass book entry file and so on. Suppose you deposit some money into your savings account, and the officer forgets to update it in the savings account file, but updates your pass book file, next time that u go to withdraw money, or deposit some money, its going to be a huge chaos. Or lets say, you withdraw some money from one savings account and deposit it into another savings account, and the officer updates your withdraw file, but forgets to update your savings accounts fileYou can very well imagine what would be the repercussions of this mistake. So, Instead of having different files, where changes in one do not get reflected in the other, a central repository was built, where changes in one place would easily be reflected in other places. Such a central repository is called a DATABASE . So, what is a database? A database is a collection of related files, or inter related files, kept together in an ordered manner, usually in the digital form, which gives some meaningful information. In the course of a day, most of us encounter several activities that involve some interaction with a database. For example, if we go to the bank to deposit or withdraw funds; if we make a hotel or airline reservation; if we access a computerized library catalog to search for a bibliographic item; or if we order a magazine subscription from a publisher, chances are that our activities will involve someone accessing a database. Even purchasing items from a supermarket nowadays in many cases involves an automatic update of the database that keeps the inventory of supermarket items. So, what exactly is a database? {.one such possible definition A database is a collection of related files that are usually integrated, linked or crossreferenced to one another. The advantage of a database is that data and records contained in different files can be easily organized and retrieved using specialized database management software called a database management system (DBMS) or database manager.

} Now that we know what a database is, and why we need to use it, we need to learn how to operate the database, or rather, how to feed in information in the database, how to manage the same information. Which means, how to update the same information, update somebodys last name or phone no, of delete a particular record, after a person leaves the company, all records pertaining to him, need to be deleted, his name should be reflected in the X- Employees list and so on. To perform all such operations with the database, we need to operate the database, or rather talk to the database, and to do this, we need a system called the database management system.(DBMS). All operations necessary to be done with the data in a database can be done by a DBMS.

PICK UP DIAGRAM FROM HERE http://db.lcs.mit.edu/6.830/lectures/lecture1/lecture1.pdf

So, a DBMS is a piece of software which helps you to interact with the Database. The primary goal of a DBMS is to provide a way to store and retrieve database information that is both convenient and efficient. Now, that you have understood the meaning of a Database and Database Management System, Here are some representative real life applications of databases: Korth, Pg 15 section 1.1

1. Banking: For customer information, accounts, and loans, and banking transactions. 2. Airlines: For reservations and schedule information. Airlines were among the first to use databases in a geographically distributed mannerterminals situated around the world accessed the central database system through phone lines and other data networks. 3. Universities: For student information, course registrations, and grades. 4. Credit card transactions: For purchases on credit cards and generation of monthly statements. 5. Telecommunication: For keeping records of calls made, generating monthly bills, maintaining balances on prepaid calling cards, and storing information about the communication networks. 6. Finance: For storing information of financial instruments such as stocks and bonds. 7. Sales: For customer, product, and purchase information. 8. Manufacturing: For management of supply chain and for tracking production of items in factories, inventories of items in warehouses/stores, and orders for items. 10. Resources: For information about employees, salaries, payroll taxes and benefits, and for generation of paychecks. As the list illustrates, databases form an essential part of almost all enterprises today. In the past few years, advancement in technology has taken place. We not just store textual data or numeric data anymore; we have multimedia databases which allow us to store pictures, video clips, and sound messages. Geographic information systems (GIS) can store and analyze maps, weather data, and satellite images. Data warehouses and on-line analytical processing (OLAP) systems are used in many companies to extract and analyze useful information from very large databases for decision making. And database search techniques are being applied to the World Wide Web to improve the search for information that is needed by users browsing through the Internet.

Lets just summarize, Ever since data could be digitized or stored, huge amount of it is being stored by the corporates and other organizations, and the storage has increased from a few kilobytes to thousands of tera bytes over a period of time. Managing such huge data using a simple word processing system, or just files was very tedious, and unreliable, not secure, not authentic and so on. In such cases, databases

make our work a lot simpler by behaving as just one single data repository, overcoming all the limitations of a traditional file processing system. We will cover the advantages of using a DBMS over File processing systems in detail in the next lecture. Lets just name a few DBMSs that we know: Microsoft Access, Oracle, Microsoft SQL server, MySQL..etc. Just revise the same for tomorrow. See youll tomorrow. I hope ul have got a brief idea about what we would be studying throughout the course. Thank you.

Till slide no 8.