24
CS F212: Database Systems Today’s Class Course operational details Introduction overview of DBMS CS F212 Database Systems 1

CS F212: Database Systems Today’s Class Course operational details Introduction overview of DBMS CS F212 Database Systems1

Embed Size (px)

Citation preview

Page 1: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 1

CS F212: Database Systems

Today’s Class

Course operational details Introduction

overview of DBMS

Page 2: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 2

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

Page 3: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 3

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

Page 4: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 4

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

Page 5: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 5

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

Page 6: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 6

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

?

Page 7: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

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)

Page 8: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

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)

Page 9: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

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

Page 10: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 10

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

?

Page 11: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 11

Company ProductOracle Oracle 8i, 9i, 10g,11gIBM DB2, Universal ServerMicrosoft Access, SQL Server-2008Sybase Adaptive ServerInformix Dynamic Server

Big Names in Database SystemsBig Names in Database Systems

Page 12: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 12

Who Needs Database SystemsWho Needs Database Systems

Corporate databases

Web data management

Typical Applications:Personnel managementInventory and purchase orderInsurance policies and customer data… …

Typical Applications:Web page managementPersonalize web pages… …

Page 13: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 13

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

Page 14: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 14

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

Page 15: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 15

Basic Definitions

• Database System: The DBMS software together with the data itself. Sometimes, the applications are also included.

e.g., the student records database system

database system

ApplicationApplicationDBMSDBMS data

catalog

database

Page 16: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 16

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:

• Protection or Security measures to prevent unauthorized access

DBMSDBMS

Page 17: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 17

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;

Page 18: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 18

What is in a Database?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.

Page 19: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 19

Database DesignDatabase Design

BITS

db designer 2

db designer 1

ARC database:

students: names, IDNO, PRNo, …courses: course-no, course-names, …classroom: number, location, …

SWD database:

classroom: number, location, …office: number, location, …faculty-residence: building-no, … student-residence: room-no, …

Page 20: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 20

Is a database the same as a file?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.

Page 21: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 21

Purpose of Database Management Systems (DBMS)

Purpose of Database Management Systems (DBMS)

Database management systems were developed to handle the difficulties caused by different people writing different applications independently.

Page 22: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 22

• 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

Purposes of Database SystemsPurposes of Database Systems

Page 23: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 23

Data IndependenceData 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?• … …

Page 24: CS F212: Database Systems Today’s Class  Course operational details  Introduction  overview of DBMS CS F212 Database Systems1

CS F212 Database Systems 24

Data AbstractionData 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

function

function data