* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download CS F212: Database Systems - Computer Science & Information
Microsoft Access wikipedia , lookup
Serializability wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Oracle Database wikipedia , lookup
Ingres (database) wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Functional Database Model wikipedia , lookup
Relational model wikipedia , lookup
Concurrency control wikipedia , lookup
Clusterpoint wikipedia , lookup
CS F212: Database Systems Today’s Class Course operational details Introduction overview of DBMS CS F212 Database Systems 1 Course staff Instructor-in-charge : YASHVARDHAN SHARMA ([email protected]) Lab Instructors : Mohit Sati ([email protected]) Netika Gupta ([email protected]) Rupal Bhargva([email protected]) Group of Professional Assistants CS F212 Database Systems 2 General Info. • Course website: csis/faculty/yash • Email: [email protected] • Office Hrs: Thursday 4pm to 6pm @6120-I • Text Book: Database System Concepts, 6th Ed, A. Silberschatz, H.F. Korth and S. Sudarshan, 2011 http://www.db-book.com http://www.mhhe.com/silberschatz CS F212 Database Systems 3 Reference Books • Ramakrishna R. & Gehrke J. Database Management Systems, 3e, Mc-Graw Hill, 2003. http://www/cs.wisc.edu/~dbbook • Hector G Molina, Jeffrey D.Ullman & Jennifer Widom. Database Systems – The Complete Book, Pearson Education, 2002. Home Page: http://www-db.stanford.edu/~ullman/dscb.html • Elmarsi R, & Navathe S B. Fundamental of Database System, 5e, Pearson Education, 2008. http://www.aw.com/cssupport CS F212 Database Systems 4 Course Salient features • Emphasis on theoretical concepts and implementation details • • • • • • Foundational concepts ER-Modeling+Relational Model + Normalization Query Language – RA, SQL Application Development Database System Implementation Database design and tuning • Structured labs & Programming Assignments • MidSem Test-I[25%-50M]+Assignments[35%-70M]+ Compre[40%-80M] = Total[100% -200M] • Assignments scope: • • • • Project– 10 [Group] Term Paper – 10 [Group] Online Test – 40 [Individual] Lab Attendance – 10 [Individual] • Reading Assignments CS F212 Database Systems 5 Why Study Databases?? ? • Simply fascinating • Commercially very relevant !! • DBMS encompasses most of CS • OS, languages, theory, AI, multimedia, logic • Significance of Databases with Internet • Datasets increasing in diversity and volume. • Numeric and Textual Databases • Multimedia Databases • Geographic Information Systems (GIS) • Data warehousing, Data mining, Business Intelligence, DSS • Digital libraries, interactive video, Human Genome project • ... need for DBMS exploding CS F212 Database Systems 6 Tsunami of Data • Telecom data ( 4.6 bn mobile subscribers) There are 3 Billion Telephone Calls in US each day, 30 Billion emails daily, 1 Billion SMS, IMs. IP Network Traffic: up to 1 Billion packets per hour per router. Each ISP has many (hundreds) routers! • WWW • Weblog data (160 mn websites) • Email data • Satellite imaging data • Social networking sites data • Genome data • CERN’s LHC (15 petabytes/year) Tsunami of Data • No. of pics on Facebook • 15 bn unique photos • 60 bn photos stored (4 sizes) Imageshack (20 bn) • Photobucket (7.2 bn) • Flickr (3.4 bn) • Multiply (3 bn) Biggest OLTP System • SABRE • Sabre is a computer reservations system/global distribution system (GDS) used by airlines, railways, hotels, travel agents and other travel companies • Used by more than 200 airlines What we Study in this course?? ? • Foundations • Data Models: ER, Relational Models • Query languages : RA, SQL • Design & Development • Normalization, Application Development • Efficiency & Scalability • Indexing • Query evaluation • Concurrency & Robustness • Transaction Management – concurrency, recovery • Advanced Database Concepts – XML, Data Warehousing, Data Mining, Big Data CS F212 Database Systems 10 Big Names in Database Systems Company Product Oracle IBM Microsoft Sybase Informix Oracle 8i, 9i, 10g,11g DB2, Universal Server Access, SQL Server-2008 Adaptive Server Dynamic Server CS F212 Database Systems 11 Who Needs Database Systems Typical Applications: Personnel management Inventory and purchase order Insurance policies and customer data …… Corporate databases Web data management Typical Applications: Web page management Personalize web pages …… CS F212 Database Systems 12 Examples of Database Applications • Purchases from the supermarket • Purchases using your credit card • Booking a holiday at the travel agents • Using the local library • Taking out insurance • Using the Internet • Studying at university CS F212 Database Systems 13 What is a Database, DBMS, Database Systems? • A very large, integrated collection of structured data. • Gigabytes (230 or 109), Terabytes, Petabytes • Models real-world enterprise. • • Entities (e.g., students, courses) Relationships (e.g., Mohan is taking ISC332) • A Database Management System (DBMS) is a software package designed to store and manage large databases with complex features. • Goal : Store and Retrieve database information conveniently and efficiently CS F212 Database Systems 14 Basic Definitions • Database System: The DBMS software together with the data itself. Sometimes, the applications are also included. database system database Application DBMS data catalog e.g., the student records database system CS F212 Database Systems 15 Typical DBMS Functionality • Define a database: in terms of data types, structures and constraints • Construct or Load the Database on a secondary storage medium • Manipulating the database: querying, generating reports, insertions, deletions and modifications to its content • Concurrent Processing and Sharing by a set of users and programs – yet, keeping all data valid and consistent • Other features: DBMS • Protection or Security measures to prevent unauthorized access CS F212 Database Systems 16 Relational DBMS • Based on a paper by Ted Codd in 1970 • Queries could be expressed in a very high-level language, which greatly increases the efficiency of DB programmers • accountNo balance type 12345 1000.00 savings 67890 2846.92 checking • SELECT balance FROM Accounts WHERE accountNo=67890; • SELECT accountNo FROM Accounts WHERE type=‘savings’ AND balance<1200; CS F212 Database Systems 17 What is in a Database? • A database contains information about a particular enterprise or a particular application. • E.g., a database for an enterprise may contain everything needed for the planning and operation of the enterprise: customer information, employee information, product information, sales and expenses, etc. • You don’t have to be a company to use a database: you can store your personal information, expenses, phone numbers in a database (e.g., using Access on a PC). • As a matter of fact, you could store all data pertinent to a particular purpose in a database. • This usually means that a database stores data that are related to each other. CS F212 Database Systems 18 Database Design ARC database: students: names, IDNO, PRNo, … courses: course-no, course-names, … classroom: number, location, … SWD database: db designer 1 BITS db designer 2 classroom: number, location, … office: number, location, … faculty-residence: building-no, … student-residence: room-no, … CS F212 Database Systems 19 Is a database the same as a file? • You can store data in a file or a set of files, but … • How do you input data and to get back the data from the files? • A database is managed by a DBMS. CS F212 Database Systems 20 Purpose of Database Management Systems (DBMS) Database management systems were developed to handle the difficulties caused by different people writing different applications independently. CS F212 Database Systems 21 Purposes of Database Systems • A DBMS attempts to resolve the following problems: • Data redundancy and inconsistency by keeping one copy of a data item in the database • Difficulty in accessing data by provided query languages and shared libraries • Data isolation (multiple files and formats) • Integrity problems by enforcing constraints (age > 0) • Atomicity of updates • Concurrent access by multiple users • Security problems CS F212 Database Systems 22 Data Independence • One big problem in application development is the separation of applications from data • Do I have changed my program when I … • replace my hard drive? • store the data in a b-tree instead of a hash file? • partition the data into two physical files (or merge two physical files into one)? • store salary as floating point number instead of integer? • develop other applications that use the same set of data? • add more data fields to support other applications? • …… CS F212 Database Systems 23 Data Abstraction • The answer to the previous questions is to introduce levels of abstraction of indirection. • Consider how do function calls allow you to change a part of your program without affecting other parts? Main Program functio n functio n CS F212 Database Systems data 24