CS F212: Database Systems - Computer Science & Information

Download Report

Transcript CS F212: Database Systems - Computer Science & Information

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