Introduction to CS 4604

Similar documents
CS 4604: Introduction to Database Management Systems. B. Aditya Prakash Lecture #1: Introduction

CS 4604: Introduc0on to Database Management Systems

CS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #1: Introduc/on

Standard stuff. Class webpage: cs.rhodes.edu/db Textbook: get it somewhere; used is fine. Prerequisite: CS 241 Coursework:

The Relational Model

Introduction. Who wants to study databases?

COMP.3090/3100 Database I & II. Textbook

Introduction to Database Systems CSE 444. Lecture 1 Introduction

Introduction. Example Databases

Introduction to Database S ystems Systems CSE 444 Lecture 1 Introduction CSE Summer

Introduction to Data Management CSE 344. Lecture 1: Introduction

CS 5614: (Big) Data Management Systems. B. Aditya Prakash Lecture #1: Introduc/on

Course and Contact Information. Course Description. Course Objectives

Outline. Database Management Systems (DBMS) Database Management and Organization. IT420: Database Management and Organization

CS157a Fall 2018 Sec3 Home Page/Syllabus

Chapter 1 Introduction

CMPSCI 645 Database Design & Implementation

Introduction to Databases Fall-Winter 2010/11. Syllabus

Course: Database Management Systems. Lê Thị Bảo Thu

What s a database anyway?

Chapter 1: Introduction

CMPUT 391 Database Management Systems. Fall Semester 2006, Section A1, Dr. Jörg Sander. Introduction

Introduction to Database S ystems Systems CSE 444 Lecture 1 Introduction CSE Summer

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015

CS425 Fall 2016 Boris Glavic Chapter 1: Introduction

CMPT 354 Database Systems I. Spring 2012 Instructor: Hassan Khosravi

CS 564: DATABASE MANAGEMENT SYSTEMS. Spring 2018

EECS 647: Introduction to Database Systems

CMPT 354: Database System I. Lecture 1. Course Introduction

Can you name one application that does not need any data? Can you name one application that does not need organized data?

CS 4604: Introduction to Database Management Systems. B. Aditya Prakash Lecture #2: The Relational Model and Relational Algebra

CSE 344 JANUARY 3 RD - INTRODUCTION

Course Web Site. 445 Staff and Mailing Lists. Textbook. Databases and DBMS s. Outline. CMPSCI445: Information Systems. Yanlei Diao and Haopeng Zhang

San José State University College of Science / Department of Computer Science Introduction to Database Management Systems, CS157A-3-4, Fall 2017

CMPSCI445: Information Systems

Database Systems Management

INF 315E Introduction to Databases School of Information Fall 2015

Course and Contact Information. Course Description. Course Objectives

Outline. Databases and DBMS s. Recent Database Applications. Earlier Database Applications. CMPSCI445: Information Systems.

CSC 355 Database Systems

Introduc)on to Database Systems CSE 444. Lecture #1 March 29, 2010

745: Advanced Database Systems

Database Management System Implementation. Who am I? Who is the teaching assistant? TR, 10:00am-11:20am NTRP B 140 Instructor: Dr.

Introduction to Databases Fall-Winter 2009/10. Syllabus

CS 405G: Introduction to Database Systems. Lecture 1: Introduction

Database Principle. Zhuo Wang Spring

Course Syllabus. Course Information

Database Management Systems CS Spring 2017

Course and Contact Information. Catalog Description. Course Objectives

CMPS 182: Introduction to Database Management Systems. Instructor: David Martin TA: Avi Kaushik. Syllabus

Databases TDA357/DIT620. Niklas Broberg

Lecture Notes CPSC 321 (Fall 2018) Today... Survey. Course Overview. Homework. HW1 (out) S. Bowers 1 of 8

CAS CS 460/660 Introduction to Database Systems. Fall

TEACHING & ASSESSMENT PLAN

Introduction to Databases

Database Systems (INFR10070) Dr Paolo Guagliardo. University of Edinburgh. Fall 2016

G64DBS Database Systems. G64DBS Module. Recommended Textbook. Assessment. Recommended Textbook. Recommended Textbook.

Data! CS 133: Databases. Goals for Today. So, what is a database? What is a database anyway? From the textbook:

CSC 111 Introduction to Computer Science (Section C)

CSC 261/461 Database Systems. Fall 2017 MW 12:30 pm 1:45 pm CSB 601

Overview of Data Management

Database Systems: Concepts, design, and implementation ISE 382 (3 Units)

Introduction to Data Management (Database Systems) CSE 414

Department of Accounting & Law, School of Business. State University of New York at Albany. Acc 682 Analysis & Design of Accounting Databases

CSE 544 Principles of Database Management Systems

Outline. Quick Introduction to Database Systems. Data Manipulation Tasks. What do they all have in common? CSE142 Wi03 G-1

Introduction to Database Systems CSE 444. Lecture #1 March 26, 2007

Your New App. Motivation. Data Management is Universal. Staff. Introduction to Data Management (Database Systems) CSE 414. Lecture 1: Introduction

Introduction to Databases

Overview of Data Management

IS 331-Fall 2017 Database Design, Management and Applications

CSE 132A. Database Systems Principles

9/8/2018. Prerequisites. Grading. People & Contact Information. Textbooks. Course Info. CS430/630 Database Management Systems Fall 2018

Chapter 1: Introduction

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 1-1

Course Logistics & Chapter 1 Introduction

CPS352 Database Systems Syllabus Fall 2012

COWLEY COLLEGE & Area Vocational Technical School

Quick Facts about the course. CS 2550 / Spring 2006 Principles of Database Systems. Administrative. What is a Database Management System?

Dr. Angelika Reiser Chair for Database Systems (I3)

CS 245: Database System Principles

Chapter 1. Introduction of Database (from ElMasri&Navathe and my editing)

Database Systems ( 資料庫系統 ) Practicum in Database Systems ( 資料庫系統實驗 ) 9/20 & 9/21, 2006 Lecture #1

Overview of the Class and Introduction to DB schemas and queries. Lois Delcambre

Introduction to Database Systems

CSci 4211: Data Communications and Computer Networks. Time: Monday and Wednesday 1 pm to 2:15 pm Location: Vincent Hall 16 Spring 2016, 3 Credits

Introduction: Databases and. Database Users

COMP-421: Database Systems. Joseph D silva McConnel Engg. 102

Prof. David Yarowsky

CSCE 441 Computer Graphics Fall 2018

DATABASE MANAGEMENT SYSTEMS. UNIT I Introduction to Database Systems

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Fall 2017

CSci 4211: Introduction to Computer Networks. Time: Monday and Wednesday 2:30 to 3:45 pm Location: Smith Hall 231 Fall 2018, 3 Credits

CSCI 201L Syllabus Principles of Software Development Spring 2018

Lecture 0: Overview of cs1106/cs6503

Chapter 1: Introduction. Chapter 1: Introduction

CS430/630 Database Management Systems Spring, Betty O Neil University of Massachusetts at Boston

San José State University Science/Computer Science Database Management System I

Introduction. Random things to do after this course. Course roadmap. CPS 116 Introduction to Database Systems

College Algebra. Cartesian Coordinates and Graphs. Dr. Nguyen August 22, Department of Mathematics UK

Transcription:

Introduction to CS 4604 T. M. Murali August 23, 2010

Course Information Instructor T. M. Murali, 2160B Torgerson, 231-8534, murali@cs.vt.edu Office Hours: 9:30am 11:30am Mondays and Wednesdays Teaching assistant Bireswar Laha, blaha@cs.vt.edu Office Hours: 1pm-3pm, Tuesdays and Thursdays, McBryde 106. Class meeting time 4pm 5:15pm, Mondays and Wednesdays, 307 McBryde Keeping in Touch Course web site http://courses.cs.vt.edu/~cs4604, updated regularly through the semester Listserv: cs4604 91913@listserv.vt.edu Prerequisites: a grade of C or better in CS 2604, senior standing

Textbook Required A First Course in Database Systems, Third edition, Ullman and Widom, Prentice Hall, 2008. Web page for the book http://www-db.stanford.edu/~ullman/fcdb.html Also consult list of errata on this web page.

Course Grading Homeworks 30% 5 6 Midterm exam 15% Wednesday, October 13, in class Final exam 25% Wednesday, December 15, 7:45am-9:45am Course project 30% 7 assignments Projects and homework assignments alternate. Submit hard copies of homeworks and project assignments at the start of class on the due date. Each class has required reading. Please consult the course web page.

Course Project Project overview http: //courses.cs.vt.edu/~cs4604/fall10/project/project.html 1, 2, or 3 persons per project. You can form your own groups. Project runs the entire semester with regular assignments and a final implementation assignment.

Why Study Databases? Academic: Databases involve many aspects of computer science Fertile area of research Three Turing awards in databases

Why Study Databases? Academic: Databases involve many aspects of computer science Fertile area of research Three Turing awards in databases Programmer: a plethora of applications involve using and accessing databases

Why Study Databases? Academic: Databases involve many aspects of computer science Fertile area of research Three Turing awards in databases Programmer: a plethora of applications involve using and accessing databases Businessman: Everybody needs databases lots of money to be made.

Why Study Databases? Academic: Databases involve many aspects of computer science Fertile area of research Three Turing awards in databases Programmer: a plethora of applications involve using and accessing databases Businessman: Everybody needs databases lots of money to be made. Student:

Why Study Databases? Academic: Databases involve many aspects of computer science Fertile area of research Three Turing awards in databases Programmer: a plethora of applications 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 will hire me!! Databases sound cool!???

What Will You Learn in CS4604? Implementation How do you build a system such as ORACLE or MySQL? Programming Design How do you use the capabilities of a DBMS? How do you model your data and structure your information in a database?

What Will You Learn in CS4604? Implementation How do you build a system such as ORACLE or MySQL? Programming Design How do you use the capabilities of a DBMS? How do you model your data and structure your information in a database? CS 4604 achieves a balance between

What Will You Learn in CS4604? Implementation How do you build a system such as ORACLE or MySQL? Programming Design How do you use the capabilities of a DBMS? How do you model your data and structure your information in a database? CS 4604 achieves a balance between creating, querying, and implementing realistic databases and

What Will You Learn in CS4604? Implementation How do you build a system such as ORACLE or MySQL? Programming Design How do you use the capabilities of a DBMS? How do you model your data and structure your information in a database? CS 4604 achieves a balance between creating, querying, and implementing realistic databases and a firm theoretical foundation to designing moderate-sized databases.

Course Goals and Outcomes Take an English language description and convert it into a working database application.

Course Goals and Outcomes Take an English language description and convert it into a working database application. Create E/R models from application descriptions.

Course Goals and Outcomes Take an English language description and convert it into a working database application. Create E/R models from application descriptions. Convert E/R models into relational designs. Identify redundancies in designs and remove them using normalisation techniques.

Course Goals and Outcomes Take an English language description and convert it into a working database application. Create E/R models from application descriptions. Convert E/R models into relational designs. Identify redundancies in designs and remove them using normalisation techniques. Create databases in an RDBMS and enforce data integrity constraints using SQL.

Course Goals and Outcomes Take an English language description and convert it into a working database application. Create E/R models from application descriptions. Convert E/R models into relational designs. Identify redundancies in designs and remove them using normalisation techniques. Create databases in an RDBMS and enforce data integrity constraints using SQL. Write sophisticated database queries using SQL. Understand tradeoffs between different ways of phrasing the same query.

Course Goals and Outcomes Take an English language description and convert it into a working database application. Create E/R models from application descriptions. Convert E/R models into relational designs. Identify redundancies in designs and remove them using normalisation techniques. Create databases in an RDBMS and enforce data integrity constraints using SQL. Write sophisticated database queries using SQL. Understand tradeoffs between different ways of phrasing the same query. Implement a web interface to a database.

Course Outline Weeks 1 5, 13: Query/Manipulation Languages The relational model Relational Algebra SQL Data definition Programming with SQL Weeks 6 8: Data Modelling Entity-Relationship (E/R) approach Specifying Constraints Good E/R design

Course Outline Weeks 1 5, 13: Query/Manipulation Languages The relational model Relational Algebra SQL Data definition Programming with SQL Weeks 6 8: Data Modelling Entity-Relationship (E/R) approach Specifying Constraints Good E/R design Weeks 9 13: Relational Design Converting ER to R Normalisation to avoid redundancy

Course Outline Weeks 1 5, 13: Query/Manipulation Languages The relational model Relational Algebra SQL Data definition Programming with SQL Weeks 6 8: Data Modelling Entity-Relationship (E/R) approach Specifying Constraints Good E/R design Weeks 9 13: Relational Design Converting ER to R Normalisation to avoid redundancy Week 14 15: Students choice XML Query optimisation Data mining

What is a DBMS? Database:

What is a DBMS? Database: collection of data that exists for a long period of time. Database Management System (DBMS) = database + set of programs to access/manipulate it

What is a DBMS? Database: collection of data that exists for a long period of time. Database Management System (DBMS) = database + set of programs to access/manipulate it Features of a DBMS

What is a DBMS? Database: collection of data that exists for a long period of time. Database Management System (DBMS) = database + set of programs to access/manipulate it Features of a DBMS Support massive amounts of data Persistent and durable storage Efficient and convenient access (create and query) Secure, concurrent, and atomic access

What is a DBMS? Database: collection of data that exists for a long period of time. Database Management System (DBMS) = database + set of programs to access/manipulate it Features of a DBMS Examples? Support massive amounts of data Persistent and durable storage Efficient and convenient access (create and query) Secure, concurrent, and atomic access

What is a DBMS? Database: collection of data that exists for a long period of time. Database Management System (DBMS) = database + set of programs to access/manipulate it Features of a DBMS Examples? Support massive amounts of data Persistent and durable storage Efficient and convenient access (create and query) Secure, concurrent, and atomic access Search engines, banking systems, airline reservations, corporate records, payrolls, sales inventories. New applications: Wikis, biological/multimedia/scientific/geographic data, heterogeneous data.

Features of a DBMS Support massive amounts of data Giga/tera/petabytes Far too big for main memory

Features of a DBMS Support massive amounts of data Giga/tera/petabytes Far too big for main memory Recent trend: databases run on single computers.

Features of a DBMS Support massive amounts of data Giga/tera/petabytes Far too big for main memory Recent trend: databases run on single computers. Persistent storage Programmes update, query, manipulate data. Data continues to live long after programme finishes.

Features of a DBMS Support massive amounts of data Giga/tera/petabytes Far too big for main memory Recent trend: databases run on single computers. Persistent storage Programmes update, query, manipulate data. Data continues to live long after programme finishes. Efficient and convenient access Efficient: do not search entire database to answer a query. Convenient: allow users to create and query the data as easily as possible.

Features of a DBMS Support massive amounts of data Giga/tera/petabytes Far too big for main memory Recent trend: databases run on single computers. Persistent storage Programmes update, query, manipulate data. Data continues to live long after programme finishes. Efficient and convenient access Efficient: do not search entire database to answer a query. Convenient: allow users to create and query the data as easily as possible. Secure, concurrent, and atomic access Allow multiple users to access database simultaneously. Allow a user access to only to authorised data. Provide some guarantee of reliability against system failures.

A Brief History of DBMS File systems

A Brief History of DBMS File systems The earliest databases (1960s) evolved from file systems Navigational and hierarchical User programmed the queries by walking from node to node in the DBMS.

A Brief History of DBMS File systems The earliest databases (1960s) evolved from file systems Navigational and hierarchical User programmed the queries by walking from node to node in the DBMS. Relational DBMS (1970s to now) View database in terms of relations or tables High-level query and definition languages such as SQL Allow user to specify what she wants, not how to get what she wants

A Brief History of DBMS File systems The earliest databases (1960s) evolved from file systems Navigational and hierarchical User programmed the queries by walking from node to node in the DBMS. Relational DBMS (1970s to now) View database in terms of relations or tables High-level query and definition languages such as SQL Allow user to specify what she wants, not how to get what she wants Object-oriented DBMS (1980s) inspired by object-oriented languages object-relational DBMs

A Brief History of DBMS File systems The earliest databases (1960s) evolved from file systems Navigational and hierarchical User programmed the queries by walking from node to node in the DBMS. Relational DBMS (1970s to now) View database in terms of relations or tables High-level query and definition languages such as SQL Allow user to specify what she wants, not how to get what she wants Object-oriented DBMS (1980s) inspired by object-oriented languages object-relational DBMs New types of data: Semi-structured data (XML) Images, sounds, videos Data streams

The DBMS Industry A DBMS is a software system. Major DBMS vendors: IBM, Microsoft, Oracle, Sybase Free/Open-source DBMS: MySQL, PostgreSQL, Firebird. Used by companies such as Google, Yahoo, Lycos, BASF. All are relational (or object-relational ) DBMS.

Example Scenario RDBMS Relational DBMS The relational model uses relations or tables to structure data

Example Scenario RDBMS Relational DBMS The relational model uses relations or tables to structure data ClassList relation: Student Course Grade Hermione Grainger Potions A- Draco Malfoy Potions B Harry Potter Potions A Ron Weasley Potions C Relation separates the logical view (externals) from the physical view (internals)

Example Scenario RDBMS Relational DBMS The relational model uses relations or tables to structure data ClassList relation: Student Course Grade Hermione Grainger Potions A- Draco Malfoy Potions B Harry Potter Potions A Ron Weasley Potions C Relation separates the logical view (externals) from the physical view (internals) Simple query languages (SQL) for accessing/modifying data Find all students whose grades are better than B. SELECT Student FROM ClassList WHERE Grade > B

DBMS Architecture