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

Similar documents
CSE 344 JANUARY 3 RD - INTRODUCTION

CMPT 354: Database System I. Lecture 3. SQL Basics

Introduction to Data Management CSE 344. Lecture 1: Introduction

CMPT 354: Database System I. Lecture 7. Basics of Query Optimization

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

Introduction to Data Management (Database Systems) CSE 414

CMPT 354: Database System I. Lecture 4. SQL Advanced

CMPT 354: Database System I. Lecture 11. Transaction Management

CMPT 354: Database System I. Lecture 2. Relational Model

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

Introduction to Database Systems CSE 444. Lecture 1 Introduction

Course Introduction & History of Database Systems

CS 564: DATABASE MANAGEMENT SYSTEMS. Spring 2018

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

CMPT 354: Database System I. Lecture 5. Relational Algebra

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

CS 245: Database System Principles

Database Management Systems CS Spring 2017

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

CAS CS 460/660 Introduction to Database Systems. Fall

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

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

BBM371- Data Management. Lecture 1: Course policies, Introduction to DBMS

CMPSCI 645 Database Design & Implementation

CSE 544 Principles of Database Management Systems

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

CS 564: DATABASE MANAGEMENT SYSTEMS

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

Introduction to Databases Fall-Winter 2010/11. Syllabus

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

745: Advanced Database Systems

CS 245: Principles of Data-Intensive Systems. Instructor: Matei Zaharia cs245.stanford.edu

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

CSE 303: Database. Teaching Staff. Lecture 01. Lectures: 1 st half - from a user s perspective. Lectures: 2 nd half - understanding how it works

CS145: Intro to Databases. Lecture 1: Course Overview

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

Introduction to Databases Fall-Winter 2009/10. Syllabus

CS 525 Advanced Database Organization - Spring 2017 Mon + Wed 1:50-3:05 PM, Room: Stuart Building 111

COMP.3090/3100 Database I & II. Textbook

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

CMPSCI445: Information Systems

Introduction to CS 4604

Fundamentals of Database Systems

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

What s a database anyway?

CS639: Data Management for Data Science. Lecture 1: Intro to Data Science and Course Overview. Theodoros Rekatsinas

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

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

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

CS145: Intro to Databases. Lecture 1: Course Overview

Course and Contact Information. Course Description. Course Objectives

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

Chapter 1 Introduction

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

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

Course and Contact Information. Course Description. Course Objectives

CS157a Fall 2018 Sec3 Home Page/Syllabus

EECS3421 Introduction to Database Management Systems. Thanks to John Mylopoulos and Ryan Johnson for material in these slides

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

EECS 647: Introduction to Database Systems

Why are you here? Introduction. Course roadmap. Course goals. What do you want from a DBMS? What is a database system? Aren t databases just

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

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

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

Introduction to Information Systems SSC, Semester 6

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

CS425 Fall 2016 Boris Glavic Chapter 1: Introduction

Administration Naive DBMS CMPT 454 Topics. John Edgar 2

Database Management Systems MIT Introduction By S. Sabraz Nawaz

Overview of Data Management

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

CS564: Database Management Systems. Lecture 1: Course Overview. Acks: Chris Ré 1

Course Book Academic Year

AAAF (School of CS, Manchester) Advanced DBMSs / 19

Database Principle. Zhuo Wang Spring

Databases 1. Daniel POP

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

Course Introduction. CSC343 - Introduction to Databases Manos Papagelis

Introduction to Data Management. Lecture #1 (The Course Trailer )

CPS352 Database Systems Syllabus Fall 2012

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

Relational Model and Relational Algebra

Who, where, when. Database Management Systems (LIX022B05) Literature. Evaluation. Lab Sessions. About this course. After this course...

Avi Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concept, McGraw- Hill, ISBN , 6th edition.

15-415: Database Applications School of Computer Science Carnegie Mellon University, Qatar Fall 2016

Course and Contact Information. Catalog Description. Course Objectives

Modern Database Systems CS-E4610

Database Management Systems

Introduction. A few words about myself (and databases) Trend: Moore s Law reversed. CPS 116 Introduction to Database Systems

CS634 Architecture of Database Systems Spring Elizabeth (Betty) O Neil University of Massachusetts at Boston

Databases TDA357/DIT620. Niklas Broberg

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

CSCB20. Introduction to Database and Web Application Programming. Anna Bretscher Winter 2017

Textbook(s) and other required material: Raghu Ramakrishnan & Johannes Gehrke, Database Management Systems, Third edition, McGraw Hill, 2003.

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

TEACHING & ASSESSMENT PLAN

Chapter 1: Introduction

Announcements. Using Electronics in Class. Review. Staff Instructor: Alvin Cheung Office hour on Wednesdays, 1-2pm. Class Overview

15-415: Database Applications School of Computer Science Carnegie Mellon University, Qatar Spring 2014

BIS Database Management Systems.

Transcription:

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

Outline Motivation for studying this course Course admin and set up Overview of course topics 2

Trend 1: Data grows exponentially 1 ZB = 1, 000, 000, 000, 000 GB 3

Why Trend 1? Human Generated Data Social Media Camera/Microphones Activity Trackers Machine Generated Data Software Logs Smart Home Self-driving Car 4

Trend 2: Data skills are in increasingly high demand 5

Why Trend 2? everything Data is at the center of many things 6

Database What is a database? A collection of files that store related data We will mainly focus on relational databases (i.e., datais stored in tables) Name Gender GPA Mike Male 4.0 Bob Male 3.6 Alice Female 3.8 Text Data Photos & Videos 7

Databases in Real Life Examples Amazon: Online Bookstore SFU: Course Management System RBC: Banking System Air Canada: Airline Reservation System Answer two questions What data do they need? What applications do they need to build? 8

Amazon: Online Bookstore Database Data about books, customers, orders, etc. Data about sessions (clicks, pages, searches) Applications Book Search System Recommender System Payment System Order System. 9

Database Management Systems (DBMSs) What is a DBMS? A piece of software designed to store and manage databases Examples Commercial: Oracle, IBM DB2, Microsoft SQL Server Open source: MySQL (Sun/Oracle), PostgreSQL, SQLite 10

Data Storage without DBMS Data would be collected in many different files and Used by many application programs File 1 Application Program 1 File 2... File n Application Program 2... Application Program m 11

What happens if Several programs need to access and modify the same record at the same time? An attribute is added to one of the files? We need to repeatedly access a single record out of millions of records? We need to retrieve data stored in multiple files? The system crashes while one of the application programs is running? 12

Data Storage with DBMS File 1 Application Program 1 File 2... File n DBMS Application Program 2 Application Program m 13

DBMS Functions All access to data is centralized and managed by the DBMS Use advantages Efficient access Data integrity and security Concurrent access and concurrency control Crash recovery Design and implementation advantages Logical data independence Physical data independence Reduced application development time 14

Current Market Relational databasestill anchor the softwareindustry Elephants:Oracle, IBM, Microsoft, Teradata, EMC, Open source: MySQL, PostgreSQL Emerging variants: In-memory, Column-oriented Open source NoSQL is growing Analytics: Hadoop MapReduce, Spark Key-value Stores: Mongo, Cassandra, Couch Cloud services are expanding quickly Amazon Redshift/Aurora, Microsoft Cosmos DB 15

Course Objectives 1. Master skills to query a database 2. Master skills to design a database 3. Understand how a DBMS works 16

Who needs this course? DB designer: establishes schema DB applicationdeveloper: writes programs that query and modify a database DB administrator: tunes systems and keeps whole things running Data scientist: manipulates datato extract insights Data engineer: builds a data-processing pipeline 17

Outline Motivation for studying DBs Course admin and set up Overview of course topics 18

Staff Instructor: Jiannan Wang (jnwang@sfu.ca) Faculty (joined SFU in 2016) Office hours: Wednesday 10:30-12:00 (noon), TASC 1 9237 TA: Changbo Qu (changboq@sfu.ca) PhD student (joined SFU in 2017) Office hours: Tuesday 10:30-12:00 (noon), TASC 1 9217 19

Course Format Lectures Location: AQ3149 PLEASE ATTEND! Five homework assignments Midterm and final 20

Grading Homework: 5 * 6% = 30% Midterm: 30% Final: 40% This is all subject to change 21

Communications Web page Link: https://sfu-db.github.io/cmpt354 Course information, lecture notes, and assignments Piazza Sign up: https://piazza.com/sfu.ca/fall2018/cmpt354 THE place to ask course-related questions Log in today and enable notifications Class mailing list You are automatically subscribed Low traffic, only important announcements Google form Link: https://goo.gl/forms/uh0nvxkgafnmkctr1 Provide anonymous feedback to improve courses 22

Textbooks [GUW] Database Systems: The Complete Book (2nd Edition) Hector Garcia-Molina, Jeffrey Ullman, Jennifer Widom [RG] Database Management Systems (optional) Raghu Ramakrishnan Johannes Gehrke 23

Five Assignments A1. Basic SQL Queries A2. Advanced SQL Queries A3. Relational Algebra & Indexing A4. Schema Design A5. Transactional Application 24

Policy Don t be late You have up to 4 late days No more than 2 on any one assignment Once it is used up, 20% per day for each late day Don t Cheat We will do plagiarism check at the end of semester If you got caught, your final mark would be deducted by 30% 25

Outline Motivation for studying DBs Course admin and set up Overview of course topics 26

CMPT 354 Topics Week 1. Introduction Week 2. Relational Data Model Week 3-4. SQL Week 5. Relational Algebra Week 6. Data Storage and Indexing Week 7. Midterm Week 8. Query Processing Week 9-11. Database Design Week 12. Transaction Processing Week 13. NoSQL & SQL over Hadoop Week 15. Final Exam 27

CMPT 354 and 454 CMPT 354 How to query a database How to design a database How DBMSs work (basics) CMPT 454 How DBMSs work (advance) How to implement DBMSs 28

Why should you care? Week 2. Relational Model Ted Codd won a Turing Award by proposing the relational model 5 out of 6 top database engines are relational databases 29

Why should you care? Week 3-4. Structured Query Language (SQL) Enable you to communicate with a DBMS Declarative language (i.e., say what you want not how to do it) Sorry, I can only understand SQL Find names of all students with GPA > 3.5 DBMS SELECT name FROM Student WHERE GPA > 3.5 30

Why should you care? Week 5. Relational Algebra SQL: What you want Relational Algebra: How to get it Find names of all students with GPA > 3.5 SELECT name FROM Student WHERE gpa > 3.5 Π "#$% (' ()#*+.- (./0123/4)) 31

Why should you care? Week 6. Storage and Indexing My database application is too slow Why? One of the queries is very slow Why? 32

Why should you care? Week 8. Query Optimization and Execution Understand howansql queryisprocessed How to execute a query plan? SQL à Relational Algebra à???????? Query Optimization à Execution à Result What is the best query plan? 33

Why should you care? Week 9-11. Database Design How to design a database for an application (e.g. an iphone APP) 34

Why should you care? Week 12. Transaction Processing What if multiple users access the same data What if your computer crashes 35

Why should you care? Week 13. NoSQL & SQL over Hadoop 36

What to do next? Decide whether this is the right course for you Sign up Piazza and enable notifications https://piazza.com/sfu.ca/fall2018/cmpt354 Check out the course website https://sfu-db.github.io/cmpt354/ 37

Acknowledge Some lecture slides were copied from or inspired by the following course materials W4111:Introduction to databases by Eugene Wu at Columbia University CSE344: Introduction to Data Management by Dan Suciu at University of Washington CMPT354: Database System I by John Edgar at Simon Fraser University CS186: Introduction to Database Systems by Joe Hellerstein at UC Berkeley CS145: Introduction to Databases by Peter Bailis at Stanford CS 348: Introduction to Database Management by Grant Weddell at University of Waterloo 38