CS 4604: Introduc0on to Database Management Systems

Similar documents
CS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #5: En-ty/Rela-onal Models- - - Part 1

Data Management in the Cloud: Limitations and Opportunities. Annies Ductan

CS 525 Advanced Database Organization - Spring 2013 Mon + Wed 3:15-4:30 PM, Room: Wishnick Hall 113

CSE 562 Database Systems

Scope of this Course. Database System Environment. CSC 440 Database Management Systems Section 1

CSE 412/598 Database Management Spring 2012 Semester Syllabus

Carnegie Mellon Univ. Dept. of Computer Science Database Applications. Outline. We ll learn: Faloutsos CMU SCS

CSE 544 Principles of Database Management Systems. Magdalena Balazinska (magda) Winter 2009 Lecture 1 - Class Introduction

Introduction to database management systems

INTRODUCTION DATABASE MANAGEMENT SYSTEMS

Objectives of Lecture 1. Labs and TAs. Class and Office Hours. CMPUT 391: Introduction. Introduction

Chapter 1: Introduction. Database Management System (DBMS) University Database Example

CSE 544 Principles of Database Management Systems. Magdalena Balazinska (magda) Spring 2006 Lecture 1 - Class Introduction

Database System Concepts

Data Modeling and Databases I - Introduction. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich

CSE 132A. Database Systems Principles

Overview of Data Management

Database Systems. Lecture 1: Introduction

City University of Hong Kong. Information on a Course offered by Department of Computer Science with effect from Semester A in 2014 / 2015

Database Design and Programming

Introduction to Database Systems CS4320/CS5320. CS4320/4321: Introduction to Database Systems. CS4320/4321: Introduction to Database Systems

Introduction to Database Systems CS4320. Instructor: Christoph Koch CS

CSE 544 Principles of Database Management Systems. Magdalena Balazinska (magda) Fall 2007 Lecture 1 - Class Introduction

Instructor: Michael J. May Semester 1 of The course meets 9:00am 11:00am on Sundays. The Targil for the course is 12:00pm 2:00pm on Sundays.

Foundations of Information Management

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. Introduction to Databases. Why databases? Why not use XML?

Chapter 1: Introduction

Course: CSC 222 Database Design and Management I (3 credits Compulsory)

Protec'ng Informa'on Assets - Week 8 - Business Continuity and Disaster Recovery Planning. MIS 5206 Protec/ng Informa/on Assets Greg Senko

CSC-570 Introduction to Database Management Systems

THE OPEN UNIVERSITY OF TANZANIA FACULTY OF SCIENCE TECHNOLOGY AND ENVIRONMENTAL STUDIES BACHELOR OF SIENCE IN INFORMATION AND COMMUNICATION TECHNOLOGY

CS 5150 So(ware Engineering System Architecture: Introduc<on

Chapter 3. Database Architectures and the Web Transparencies

IINF 202 Introduction to Data and Databases (Spring 2012)

IST359 - INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

ECS 165A: Introduction to Database Systems

Ubuntu, FEAP, and Virtualiza3on. Jonathan Wong Lab Mee3ng 11/08/10

CS 649 Database Management Systems. Fall 2011

CS 564: DATABASE MANAGEMENT SYSTEMS

Project Por)olio Management

Distributed systems Lecture 6: Elec3ons, consensus, and distributed transac3ons. Dr Robert N. M. Watson

Database Systems Introduction Dr P Sreenivasa Kumar

CISC 432/CMPE 432/CISC 832 Advanced Database Systems

Logistics. Database Management Systems. Chapter 1. Project. Goals for This Course. Any Questions So Far? What This Course Cannot Do.

1 File Processing Systems

Syllabus for Course : Database Systems Engineering at Kinneret College

Data Center Evolu.on and the Cloud. Paul A. Strassmann George Mason University November 5, 2008, 7:20 to 10:00 PM

Geography 676 Web Spatial Database Development and Programming

Data Backup and Recovery. Heng Sovannarith

COMM 437 DATABASE DESIGN AND ADMINISTRATION

Effec%ve AX 2012 Upgrade Project Planning and Microso< Sure Step. Arbela Technologies

Modernizing EDI: How to Cut Your Migra6on Costs by Over 50%

INFS2608 ENTERPRISE DATABASE MANAGEMENT

Modern Databases. Database Systems Lecture 18 Natasha Alechina

Database System Architecture & System Catalog Instructor: Mourad Benchikh Text Books: Elmasri & Navathe Chap. 17 Silberschatz & Korth Chap.

SharePoint Capacity Planning Balancing Organiza,onal Requirements with Performance and Cost

OS/Run'me and Execu'on Time Produc'vity

Offensive & Defensive & Forensic Techniques for Determining Web User Iden<ty

Introduction to Databases

Objectives of Lecture 1. Class and Office Hours. Labs and TAs. CMPUT 391: Introduction. Introduction

Interna'onal Standards Ac'vi'es on Cloud Security EVA KUIPER, CISA CISSP HP ENTERPRISE SECURITY SERVICES

Telephone Related Queries (TeRQ) IETF 85 (Atlanta)

An Econocom Group company. Your partner in the transi4on towards Mobile IT

An to Big Data, Apache Hadoop, and Cloudera

Database Management. Chapter Objectives

Chapter 1: Introduction. Database Management System (DBMS)

CONTENTS. Introduc on 2. Undergraduate Program 4. BSC in Informa on Systems 4. Graduate Program 7. MSC in Informa on Science 7

L&I SCI 410: Database Information Retrieval Systems

ISM 4210: DATABASE MANAGEMENT

IST359 INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

CIS Information and Database Systems I. Course Syllabus Spring 2015

International University of Monaco 27/04/ :55 - Page 1. Monday 30/04 Tuesday 01/05 Wednesday 02/05 Thursday 03/05 Friday 04/05 Saturday 05/05

COMP5138 Relational Database Management Systems. Databases are Everywhere!

International University of Monaco 21/05/ :01 - Page 1. Monday 30/04 Tuesday 01/05 Wednesday 02/05 Thursday 03/05 Friday 04/05 Saturday 05/05

Overview of Database Management

COS 480/580: Database Management Systems

AVOIDING SILOED DATA AND SILOED DATA MANAGEMENT

Chapter 1: Introduction

BA 561: Database Design and Applications Acct 565: Advanced Accounting Information Systems Syllabus Spring 2015

Program Model: Muskingum University offers a unique graduate program integra6ng BUSINESS and TECHNOLOGY to develop the 21 st century professional.

Database Management Systems. Chapter 1

IT2305 Database Systems I (Compulsory)

3. Relational Model and Relational Algebra

DATABASE MANAGEMENT SYSTEM

Welcome! Chapter 1. Outline. Book Goals. Database Characteristics. Initial Vocabulary

CSE532 Theory of Database Systems Course Information. CSE 532, Theory of Database Systems Stony Brook University

Introduction to Database Systems

Math 103, College Algebra Fall 2015 Syllabus TTh PM Classes

Tier Architectures. Kathleen Durant CS 3200

Transcription:

CS 4604: Introduc0on to Database Management Systems B. Aditya Prakash Lecture #1: Introduc/on Many slides based on material by Profs. Murali, Ramakrishnan and Faloutsos

Course Informa0on Instructor B. Aditya Prakash, McBryde 122C, badityap@cs.vt.edu Office Hours: 10-11:30am Mondays and Wednesdays Include string CS 4604 in subject Teaching Assistant Qianzhou Du, McBryde 106, qiand12@vt.edu Office Hours: 10am- 12noon Tuesdays and Thursdays Class Mee0ng Time Mondays, Wednesdays, Fridays, 9:05-9:55am, Lavery Hall 330 Keeping in Touch Course web site hwp://courses.cs.vt.edu/~cs4604 updated regularly through the semester Piazza link on the website Prakash 2013 VT CS 4604 2

Required Textbook A First Course in Database Systems, Ullman and Widom, Pren/ce Hall. (3 rd Ed). Web page for the book (with errata) hwp://www- db.stanford.edu/~ullman/fcdb.html Op?onal: Ramakrishnan and Gehrke, 3 rd Ed. Silberschatz, Korth and Sudarshan, 6 th Ed. Prakash 2013 VT CS 4604 3

Pre- reqs and Force- adds Prerequisites: a grade of C or bewer in CS 3114, senior standing every student must fill out a pre- requisite form, and must return it to me at the end of the class in order to remain enrolled Force- add requests: Please fill out the add form as well, and return to me at the end of the class We (=me or the dept) will let you know hopefully by Friday Prakash 2013 VT CS 4604 4

Course Grading Homework 30% 5 6 Midterm exam 15% (Tenta/ve) March 8, Wed., in class Final exam 25% May 11, Saturday, 1:05pm- 3:05pm Course project 30% 6-7 assignments Project is spread over 6-7 deliverables Projects and homework assignments alternate Submit hard copies of homeworks and project assignments at the start of class on the due date (see late policy on website) Each class has required reading (on course web page) No Pop- Quizzes J Prakash 2013 VT CS 4604 5

Course Project Project overview hwp://courses.cs.vt.edu/~cs4604/spring13/project/project.html 2, or 3 persons per project. Project runs the en/re semester with regular assignments and a final implementa/on assignment. Prakash 2013 VT CS 4604 6

Why Study Databases? Academic Databases involve many aspects of computer science Fer/le area of research Three Turing awards in databases Programmer a plethora of applica/ons involve using and accessing databases Businessman Everybody needs databases => lots of money to be made Student Get those last three credits and I don t have to come back to Blacksburg ever again! Google, Oracle, Microsop, Facebook etc. will hire me! Databases sound cool!??? Prakash 2013 VT CS 4604 7

What Will You Learn in CS 4604? Implementa/on How do you build a system such as ORACLE or MySQL? Design How do you model your data and structure your informa/on in a database? Programming How do you use the capabili/es of a DBMS? CS 4604 achieves a balance between a firm theore/cal founda/on to designing moderate- sized databases crea/ng, querying, and implemen/ng realis/c databases and connec/ng them to applica/ons Prakash 2013 VT CS 4604 8

Course Goals and Outcomes Take an English language descrip/on and convert it into a working database applica/on. Create E/R models from applica/on descrip/ons. Convert E/R models into rela/onal designs. Iden/fy redundancies in designs and remove them using normaliza/on techniques. Create databases in an RDBMS and enforce data integrity constraints using SQL. Write sophis/cated database queries using SQL. Understand tradeoffs between different ways of phrasing the same query. Implement a web interface to a database. Prakash 2013 VT CS 4604 9

Course Outline Weeks 1 5, 13: Query/ Manipula/on Languages Rela/onal Algebra Data defini/on Programming with SQL Weeks 6 8: Data Modeling En/ty- Rela/onship (E/R) approach Specifying Constraints Good E/R design Weeks 9 13: Rela/onal Design The rela/onal model Conver/ng ER to R Normaliza/on to avoid redundancy Week 14 15: Students choice Prac/ce Problems XML Query op/miza/on Data mining Prakash 2013 VT CS 4604 10

What is the goal of a DBMS? Electronic record- keeping Fast and convenient access to informa/on DBMS == database management system `Rela/onal in this class data + set of instruc/ons to access/manipulate data Prakash 2013 VT CS 4604 11

What is a DBMS? Features of a DBMS Support massive amounts of data Persistent storage Efficient and convenient access Secure, concurrent, and atomic access Examples? Search engines, banking systems, airline reserva/ons, corporate records, payrolls, sales inventories. New applica/ons: Wikis, social/biological/mul/media/ scien/fic/geographic data, heterogeneous data. Prakash 2013 VT CS 4604 12

Features of a DBMS Support massive amounts of data Giga/tera/petabytes Far too big for main memory Persistent storage Programs update, query, manipulate data. Data con/nues to live long aper program finishes. Efficient and convenient access Efficient: do not search en/re database to answer a query. Convenient: allow users to query the data as easily as possible. Secure, concurrent, and atomic access Allow mul/ple users to access database simultaneously. Allow a user access to only to authorized data. Provide some guarantee of reliability against system failures. Prakash 2013 VT CS 4604 13

Example Scenario Students, taking classes, obtaining grades Find my GPA <and other ad- hoc queries> Prakash 2013 VT CS 4604 14

Obvious solu0on 1: Folders Advantages? Cheap; Easy- to- use Disadvantages? No ad- hoc queries No sharing Large Physical foot- print Prakash 2013 VT CS 4604 15

Obvious Solu0on++ Flat files and C (C++, Java ) programs E.g. one (or more) UNIX/DOS files, with student records and their courses Prakash 2013 VT CS 4604 16

Obvious Solu0on++ Layout for student records? CSV ( comma- separated- values ) Hermione Grainger,123,Potions,A Draco Malfoy,111,Potions,B Harry Potter,234,Potions,A Ron Weasley,345,Potions,C Prakash 2013 VT CS 4604 17

Obvious Solu0on++ Layout for student records? Other possibili/es like Hermione Grainger,123 123,Potions,A Draco Malfoy,111 111,Potions,B Harry Potter,234 234,Potions,A Ron Weasley,345 345,Potions,C Prakash 2013 VT CS 4604 18

Problems? inconvenient access to data (need C++ exper/ze, plus knowledge of file- layout) data isola/on data redundancy (and inconsistencies) integrity problems atomicity problems concurrent- access problems security problems. Prakash 2013 VT CS 4604 19

Problems- Why? Two main reasons: file- layout descrip/on is buried within the C programs and there is no support for transac/ons (concurrency and recovery) DBMSs handle exactly these two problems Prakash 2013 VT CS 4604 20

Example Scenario RDBMS = Rela/onal DBMS The rela/onal model uses rela/ons or tables to structure data ClassList rela/on: Student Course Grade Hermione Grainger Po/ons A Draco Malfoy Po/ons B Harry PoWer Po/ons A Ron Weasley Po/ons C Rela/on separates the logical view (externals) from the physical view (internals) Simple query languages (SQL) for accessing/modifying data Find all students whose grades are bewer than B. SELECT Student FROM ClassList WHERE Grade > B Prakash 2013 VT CS 4604 21

A Brief History of DBMS The earliest databases (1960s) evolved from file systems File systems Allow storage of large amounts of data over a long period of /me File systems do not support: Efficient access of data items whose loca/on in a par/cular file is not known Logical structure of data is limited to crea/on of directory structures Concurrent access: Mul/ple users modifying a single file generate non- uniform results Naviga/onal and hierarchical User programmed the queries by walking from node to node in the DBMS. Rela/onal DBMS (1970s to now) View database in terms of rela/ons or tables High- level query and defini/on languages such as SQL Allow user to specify what (s)he wants, not how to get what (s)he wants Object- oriented DBMS (1980s) Inspired by object- oriented languages Object- rela/onal DBMS Prakash 2013 VT CS 4604 22

The DBMS Industry A DBMS is a sopware system. Major DBMS vendors: Oracle, Microsop, IBM, Sybase Free/Open- source DBMS: MySQL, PostgreSQL, Firebird. Used by companies such as Google, Yahoo, Lycos, BASF. All are rela/onal (or object- rela/onal ) DBMS. A mul0- billion dollar industry Prakash 2013 VT CS 4604 23

DBMS Architecture Prakash 2013 VT CS 4604 24

Transac0on Processing One or more database opera/ons are grouped into a transac/on Transac/ons should meet the ACID test Atomicity: All- or- nothing execu/on of transac/ons. Consistency: Databases have consistency rules (e.g. what data is valid). A transac/on should NOT violate the database s consistency. If it does, it needs to be rolled back. Isola/on: Each transac/on must appear to be executed as if no other transac/on is execu/ng at the same /me. Durability: Any change a transac/on makes to the database should persist and not be lost. Prakash 2013 VT CS 4604 25