Date post: | 19-Dec-2015 |
Category: |
Documents |
Upload: | marshall-daniel |
View: | 223 times |
Download: | 0 times |
CS F212 Database Systems 1
CS F212: Database Systems
Today’s Class
Course operational details Introduction
overview of DBMS
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
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
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
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
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
?
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
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
?
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
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… …
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
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
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
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
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;
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.
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, …
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.
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.
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
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?• … …
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