Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Outline. We ll learn: Faloutsos/Pavlo CMU /615

Similar documents
Outline. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. We ll learn: We ll learn (cnt d) Faloutsos/Pavlo CMU /615

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications

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

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

Carnegie Mellon Univ. Dept. of Computer Science Database Applications. General Overview - rel. model. Overview - detailed - SQL

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

Administrivia. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Course Topics. Problem

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

Based on handout: Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Goal. Faloutsos & Pavlo CMU SCS /615

CS425 Fall 2016 Boris Glavic Chapter 1: Introduction

Database Management System. Fundamental Database Concepts

Carnegie Mellon Univ. Dept. of Computer Science Database Applications. General Overview - rel. model. Overview - detailed - SQL

DATABASE MANAGEMENT SYSTEMS. UNIT I Introduction to Database Systems

Introduction to Databases

What is Data? ANSI definition: Volatile vs. persistent data. Data. Our concern is primarily with persistent data

What is Data? Volatile vs. persistent data Our concern is primarily with persistent data

Course Logistics & Chapter 1 Introduction

1. Data Model, Categories, Schemas and Instances. Outline

Chapter 1: Introduction

Introduction: Database Concepts Slides by: Ms. Shree Jaswal

Database Systems Introduction

CSE 3241: Database Systems I Databases Introduction (Ch. 1-2) Jeremy Morris

Today's Class. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Example Database. Query Plan Example

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

Copyright 2004 Pearson Education, Inc.

Database System Concepts and Architecture

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

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Today's Party. Example Database. Faloutsos/Pavlo CMU /615

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

Data Modeling using ER Model

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Administrivia. Administrivia. Faloutsos/Pavlo CMU /615

Chapter 1 Introduction

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Overview - detailed. Goal. Faloutsos & Pavlo CMU SCS /615

CS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Final Review

Faloutsos - Pavlo CMU SCS /615

Overview. Carnegie Mellon Univ. School of Computer Science /615 - DB Applications. Concepts - reminder. History

CMU SCS CMU SCS CMU SCS CMU SCS whole nothing but

DBMS (FYCS) Unit - 1. A database management system stores data in such a way that it becomes easier to retrieve, manipulate, and produce information.

General Overview - rel. model. Carnegie Mellon Univ. Dept. of Computer Science Database Applications. Reminder: our Mini-U db

Database Systems. Sven Helmer. Database Systems p. 1/567

Database Management Systems (CPTR 312)

Chapter 1: Introduction

LECTURE1: PRINCIPLES OF DATABASES

Department of Information Technology B.E/B.Tech : CSE/IT Regulation: 2013 Sub. Code / Sub. Name : CS6302 Database Management Systems

ADVANCED DATABASES ; Spring 2015 Prof. Sang-goo Lee (11:00pm: Mon & Wed: Room ) Advanced DB Copyright by S.-g.

Introduction to Data Management. Lecture #2 (Big Picture, Cont.)

DATABASTEKNIK - 1DL116

Administrivia Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications

Introduction to Data Management. Lecture #2 (Big Picture, Cont.) Instructor: Chen Li

Data, Databases, and DBMSs

CSC 355 Database Systems

Administrivia Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications

Chapter 1: Introduction

CISC 3140 (CIS 20.2) Design & Implementation of Software Application II

Database Applications (15-415)

Last Class. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Why do we need to sort? Today's Class

DATABASE MANAGEMENT SYSTEM ARCHITECTURE

DATABASE MANAGEMENT SYSTEM SHORT QUESTIONS. QUESTION 1: What is database?

Chapter 1: Introduction

Chapter 1: Introduction. Chapter 1: Introduction

UNIT I. Introduction

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

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

D.Hemavathi & R.Venkatalakshmi, Assistant Professor, SRM University, Kattankulathur

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

Database System Concepts

The Relational Model. Roadmap. Relational Database: Definitions. Why Study the Relational Model? Relational database: a set of relations

Introduction. Example Databases

Overview of Data Management

Chapter 1 Chapter-1

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

DB Basic Concepts. Rab Nawaz Jadoon DCS. Assistant Professor. Department of Computer Science. COMSATS IIT, Abbottabad Pakistan

Database Technology Introduction. Heiko Paulheim

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 8: Database effektivitet. 31. marts Forelæser: Rasmus Pagh

The functions performed by a typical DBMS are the following:

Course Outline Faculty of Computing and Information Technology

Database systems. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Introduction to Data Management. Lecture #2 Intro II & Data Models I

CMU SCS CMU SCS Who: What: When: Where: Why: CMU SCS

The Relational Model. Relational Data Model Relational Query Language (DDL + DML) Integrity Constraints (IC)

DATABASE MANAGEMENT SYSTEM SUBJECT CODE: CE 305

CAS CS 460/660 Introduction to Database Systems. Fall

Database Applications (15-415)

Databases and Database Management Systems

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

DBMS and its Architecture

COSC 304 Introduction to Database Systems. Database Introduction. Dr. Ramon Lawrence University of British Columbia Okanagan

Database Systems: Learning Outcomes. Examples of Database Application. Introduction

Last Class Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications

Overview of Data Management

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

U1. Data Base Management System (DBMS) Unit -1. MCA 203, Data Base Management System

Database Applications (15-415)

Database System Concepts and Architecture

Chapter 1 Database System Concepts and Architecture. Nguyen Thi Ai Thao

Database Principle. Zhuo Wang Spring

Databases 1. Daniel POP

Database Systems Overview. Truong Tuan Anh CSE-HCMUT

Transcription:

Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos A. Pavlo Lecture#1: Introduction Outline Introduction to DBMSs The Entity Relationship model The Relational Model SQL: the commercial query language DB design: FD, 3NF, BCNF indexing, q-opt concurrency control & recovery advanced topics (data mining, multimedia) Faloutsos/Pavlo 15-415/615 2 What are RDBMS when to use them We ll learn: how to model data with them how to store and retrieve information how to search quickly for information Internals of an RDBMS: indexing, transactions Faloutsos/Pavlo 15-415/615 3 1

We ll learn (cnt d) Advanced topics multimedia indexing (how to find similar, eg., images) data mining (how to find patterns in data) Faloutsos/Pavlo 15-415/615 4 Administrivia Weights: as announced Sum= 100% ASGN Course grade 30% 30% 40% 5% 5% ASGN1 ASGN8 MT Final exam Faloutsos/Pavlo 15-415/615 5 Administrivia - II FYI: ASGN3 and ASGN7 are heavy Late policy: 4 slip days Exams: no aids allowed, except 1 page with your notes (both sides) for MT 2 such pages for Final Faloutsos/Pavlo 15-415/615 6 2

Introduction Motivating example Detailed outline How do DBMSs work? DDL, DML, views. Fundamental concepts DBMS users Overall system architecture Conclusions Faloutsos/Pavlo 15-415/615 7 What is the goal of rel. DBMSs (eg., you have 50 friends + phone#; Or a dentist has 100 customers, addresses, visit-info, treatment-info) How can RDBMSs help? Faloutsos/Pavlo 15-415/615 8 What is the goal of rel. DBMSs Electronic record-keeping: Fast and convenient access to information. Faloutsos/Pavlo 15-415/615 9 3

Definitions DBMS = Data Base Management System : the (commercial) system, like: DB2, Oracle, MS SQL-server,... Database system : DBMS + data + application programs Faloutsos/Pavlo 15-415/615 10 Motivating example Eg.: students, taking classes, obtaining grades; find my gpa <and other ad-hoc queries> Faloutsos/Pavlo 15-415/615 11 Obvious solution: paper-based advantages? disadvantages? eg., student folders, alpha sorted Faloutsos/Pavlo 15-415/615 12 4

Obvious solution: paper-based advantages? cheap; easy to use disadvantages? eg., student folders, alpha sorted Faloutsos/Pavlo 15-415/615 13 Obvious solution: paper-based advantages? cheap; easy to use disadvantages? no ad hoc queries no sharing large physical foot-print Faloutsos/Pavlo 15-415/615 14 Next obvious solution computer-based (flat) files + C (Java,...) programs to access them e.g., one (or more) UNIX/DOS files, with student records and their courses Faloutsos/Pavlo 15-415/615 15 5

Next obvious solution your layout for the student records? Faloutsos/Pavlo 15-415/615 16 Next obvious solution your layout for the student records? (eg., comma-separated values csv Smith,John,123,db,A,os,B Tompson,Peter,234 Atkinson,Mary,345,os,B,graphics,A Faloutsos/Pavlo 15-415/615 17 Next obvious solution your layout for the student records? (many other layouts are fine, eg.: Smith,John,123 Tompson,Peter,234 Atkinson,Mary,345 123,db,A 123,os,B 345,os,B 345,graphics,A Faloutsos/Pavlo 15-415/615 18 6

Problems? Faloutsos/Pavlo 15-415/615 19 Problems? inconvenient access to data (need C++ expertize, plus knowledge of file-layout) data isolation data redundancy (and inconcistencies) integrity problems atomicity problems Faloutsos/Pavlo 15-415/615 20 Problems? (cont d)... concurrent-access anomalies security problems Faloutsos/Pavlo 15-415/615 21 7

Problems? (cont d) [ why? because of two main reasons: file-layout description is buried within the C programs and Transactions: there is no support for them (concurrency and recovery) ] DBMSs handle exactly these two problems Faloutsos/Pavlo 15-415/615 22 DBMS solution commercial/freeware DBMS & application programs Faloutsos/Pavlo 15-415/615 23 Commercial Oracle IBM/DB2 Main vendors/products MS SQL-server Sybase (MS Access,...) Open source Postgres (UCB) mysql/mariadb sqlite (sqlite.org) minibase (Wisc) Predator (Cornell) (www.acm.org/sigmod) Faloutsos/Pavlo 15-415/615 24 8

<Demo with sqlite3> Insert student and takes records Find the os class roster Find the GPA of Smith www.cs.cmu.edu/~christos/courses/dbms.s14/files/sqldemo.zip Faloutsos/Pavlo 15-415/615 25 Introduction Motivating example Detailed outline How do DBMSs work? DDL, DML, views. Fundamental concepts DBMS users Overall system architecture Conclusions Faloutsos/Pavlo 15-415/615 26 How do DBs work? Pictorially: select * from student DBMS data and meta-data = catalog = data dictionary Faloutsos/Pavlo 15-415/615 27 9

How do DBs work? % sqlite3 miniu.sql sqlite>create table student ( ssn fixed; name char(20) ); Smith,John, 123,db,A,os,B Tompson,Peter,234 Atkinson,Mary,345,os,B,graphics,A Faloutsos/Pavlo 15-415/615 28 How do DBs work? % sqlite3 miniu.sql sqlite>create table student ( ssn fixed; name char(20) ); Smith, 123,db,A,os,B Tompson, 234 Atkinson, 345,os,B,graphics,A Faloutsos/Pavlo 15-415/615 29 How do DBs work? sqlite>insert into student values (123, Smith ); sqlite>select * from student; Faloutsos/Pavlo 15-415/615 30 10

create table student (ssn fixed, name char(20)); insert into student values(123, "Smith"); insert into student values(234, "Tompson"); insert into student values(345, "Atkinson"); -- see what we have inserted select * from student; ssn name ---------- ---------- 123 Smith 234 Tompson 345 Atkinson Faloutsos/Pavlo 15-415/615 31 How do DBs work? sqlite>create table takes ( ssn fixed, cid char(10), grade fixed)); Faloutsos/Pavlo 15-415/615 32 -- register students in classes and give them grades drop table if exists takes; create table takes (ssn fixed, cid char(10), grade fixed); insert into takes values( 123, "db", 4); insert into takes values( 123, "os", 3); insert into takes values( 345, "os", 3); insert into takes values( 345, "graphics", 4); Smith,John,123,db,A,os,B Tompson,Peter,234 Atkinson,Mary,345,os,B,graphics,A Faloutsos/Pavlo 15-415/615 33 11

-- see what we inserted select * from takes; ssn cid grade ---------- ---------- ---------- 123 db 4 123 os 3 345 os 3 345 graphics 4 Smith,John,123,db,A,os,B Tompson,Peter,234 Atkinson,Mary,345,os,B,graphics,A Faloutsos/Pavlo 15-415/615 34 How do DBs work - cont d More than one tables - joins Eg., roster (names only) for os Faloutsos/Pavlo 15-415/615 35 How do DBs work - cont d sqlite> select name from student, takes where student.ssn = takes.ssn and takes.c-id = os Faloutsos/Pavlo 15-415/615 36 12

-- find the os class roster select name from student, takes where student.ssn = takes.ssn and cid="os"; name ---------- Smith Atkinson Smith,John,123,db,A,os,B Tompson,Peter,234 Atkinson,Mary,345,os,B,graphics,A Faloutsos/Pavlo 15-415/615 37 Views - a powerful tool! what and why? suppose secy is allowed to see only ssn s and GPAs, but not individual grades -> VIEWS! Faloutsos/Pavlo 15-415/615 38 Views sqlite> create view fellowship as ( select ssn, avg(grade) from takes group by ssn); takes ssn cid grade 123 db 4 123 os 3 345 os 3 345 graphics 4 Faloutsos/Pavlo 15-415/615 39 13

Views Views = virtual tables Faloutsos/Pavlo 15-415/615 40 Views sqlite> select * from fellowship; takes ssn cid grade 123 db 4 123 os 3 345 os 3 345 graphics 4 Faloutsos/Pavlo 15-415/615 41 Views sql> grant select on fellowship to secy; ( grant not supported in sqlite) takes ssn cid grade 123 db 4 123 os 3 345 os 3 345 graphics 4 Faloutsos/Pavlo 15-415/615 42 14

Iterating: advantages over (flat) files logical and physical data independence, because data layout, security etc info: stored explicitly on the disk concurrent access and transaction support Faloutsos/Pavlo 15-415/615 43 Disadvantages over (flat) files? Faloutsos/Pavlo 15-415/615 44 Disadvantages over (flat) files Price additional expertise (SQL/DBA) hence: over-kill for small, single-user data sets But: mobile phones (eg., android) use sqlite; some versions of firefox do, too:./mozilla/ / cookies.sqlite etc Faloutsos/Pavlo 15-415/615 45 15

Introduction Motivating example Detailed outline How do DBMSs work? DDL, DML, views. Fundamental concepts DBMS users Overall system architecture Conclusions Faloutsos/Pavlo 15-415/615 46 Fundamental concepts 3-level architecture logical data independence physical data independence Faloutsos/Pavlo 15-415/615 47 view level logical level physical level 3-level architecture v1 v2 v3 Faloutsos/Pavlo 15-415/615 48 16

3-level architecture view level logical level: eg., tables STUDENT(ssn, name) TAKES (ssn, cid, grade) physical level: how are these tables stored, how many bytes / attribute etc Faloutsos/Pavlo 15-415/615 49 3-level architecture view level, eg: v1: select ssn from student v2: select ssn, c-id from takes logical level physical level Faloutsos/Pavlo 15-415/615 50 3-level architecture v1 view level -> fellowship logical level -> student takes physical level -> indices, hash, v2 v3 Faloutsos/Pavlo 15-415/615 51 17

3-level architecture -> hence, physical and logical data independence: logical D.I.:??? physical D.I.:??? Faloutsos/Pavlo 15-415/615 52 3-level architecture -> hence, physical and logical data independence: logical D.I.: can add (drop) column; add/drop table physical D.I.: can add index; change record order Faloutsos/Pavlo 15-415/615 53 Introduction Motivating example Detailed outline How do DBMSs work? DDL, DML, views. Fundamental concepts DBMS users Overall system architecture Conclusions Faloutsos/Pavlo 15-415/615 54 18

Database users naive users casual users application programmers [ DBA (Data base administrator)] Faloutsos/Pavlo 15-415/615 55 select * from student Casual users DBMS data and meta-data = catalog Faloutsos/Pavlo 15-415/615 56 ``Naive users Pictorially: app. (eg., report generator) DBMS data and meta-data = catalog Faloutsos/Pavlo 15-415/615 57 19

Authors of applications (like the report generator ) App. programmers DBMS app. (eg., report generator) data and meta-data = catalog Faloutsos/Pavlo 15-415/615 58 DB Administrator (DBA) Duties? app. (eg., report generator) DBMS data and meta-data = catalog Faloutsos/Pavlo 15-415/615 59 DB Administrator (DBA) Duties? app. (eg., report generator) DBMS data and meta-data = catalog Faloutsos/Pavlo 15-415/615 60 20

DB Administrator (DBA) schema definition ( logical level) physical schema (storage structure, access methods schema modifications granting authorizations integrity constraint specification Faloutsos/Pavlo 15-415/615 61 Introduction Motivating example Detailed outline How do DBMSs work? DDL, DML, views. Fundamental concepts DBMS users Overall system architecture Conclusions Faloutsos/Pavlo 15-415/615 62 Overall system architecture [Users] DBMS query processor storage manager [Files] Faloutsos/Pavlo 15-415/615 63 21

naive app. pgmr casual DBA users app. pgm(o) emb. DML DML proc. query eval. DDL int. query proc. trans. mgr buff. mgr file mgr storage mgr. data meta-data Faloutsos/Pavlo 15-415/615 64 Overall system architecture query processor DML compiler embedded DML pre-compiler DDL interpreter Query evaluation engine Faloutsos/Pavlo 15-415/615 65 Overall system architecture (cont d) storage manager authorization and integrity manager transaction manager buffer manager file manager Faloutsos/Pavlo 15-415/615 66 22

Overall system architecture (cont d) Files data files data dictionary = catalog (= meta-data) indices statistical data Faloutsos/Pavlo 15-415/615 67 Some examples: DBA doing a DDL (data definition language) operation, eg., create table student... Faloutsos/Pavlo 15-415/615 68 naive app. pgmr casual DBA users app. pgm(o) emb. DML DML proc. query eval. DDL int. query proc. trans. mgr buff. mgr file mgr storage mgr. data meta-data Faloutsos/Pavlo 15-415/615 69 23

Some examples: casual user, asking for an update, eg.: update student set name to smith where ssn = 345 Faloutsos/Pavlo 15-415/615 70 naive app. pgmr casual DBA users app. pgm(o) emb. DML DML proc. query eval. DDL int. query proc. trans. mgr buff. mgr file mgr storage mgr. data meta-data Faloutsos/Pavlo 15-415/615 71 naive app. pgmr casual DBA users app. pgm(o) emb. DML DML proc. query eval. DDL int. query proc. trans. mgr buff. mgr file mgr storage mgr. data meta-data Faloutsos/Pavlo 15-415/615 72 24

naive app. pgmr casual DBA users app. pgm(o) emb. DML DML proc. query eval. DDL int. query proc. trans. mgr buff. mgr file mgr storage mgr. data meta-data Faloutsos/Pavlo 15-415/615 73 Some examples: app. programmer, creating a report, eg main(){... exec sql select * from student... } Faloutsos/Pavlo 15-415/615 74 naive app. pgmr casual DBA users pgm (src) app. pgm(o) emb. DML DML proc. query eval. DDL int. query proc. trans. mgr buff. mgr file mgr storage mgr. data meta-data Faloutsos/Pavlo 15-415/615 75 25

Some examples: naive user, running the previous app. Faloutsos/Pavlo 15-415/615 76 naive app. pgmr casual DBA users pgm (src) app. pgm(o) emb. DML DML proc. query eval. DDL int. query proc. trans. mgr buff. mgr file mgr storage mgr. data meta-data Faloutsos/Pavlo 15-415/615 77 Introduction Motivating example Detailed outline How do DBMSs work? DDL, DML, views. Fundamental concepts DBMS users Overall system architecture Conclusions Faloutsos/Pavlo 15-415/615 78 26

Conclusions (relational) DBMSs: electronic record keepers customize them with create table commands ask SQL queries to retrieve info Faloutsos/Pavlo 15-415/615 79 Conclusions cont d main advantages over (flat) files & scripts: logical + physical data independence (ie., flexibility of adding new attributes, new tables and indices) concurrency control and recovery Faloutsos/Pavlo 15-415/615 80 27