1 Introduction to Database Systems CSE 444 Lecture #1 September 27, 2006.

Slides:



Advertisements
Similar presentations
1 Introduction to Database Systems CSE 444 Lecture #1 January 6, 2003 Guest Lecturer: Prof. Dan Suciu (Alon will explain when he returns)
Advertisements

Introduction Susan B. Davidson University of Pennsylvania CIS330 – Database & Information Systems Some slide content courtesy of Tova Milo.
Introduction to Database Systems Ch. 1, Ch. 2 Mr. John Ortiz Dept. of Computer Science University of Texas at San Antonio.
1 Introduction to Information Systems SSC, Semester 6 Lecture 01.
1 Introduction to Information Systems SSC, Semester 6 Lecture 01.
Murali Mani CS3431 – Database Systems I Introduction.
1 CENG 302 Introduction to Database Management Systems Nihan Kesim Çiçekli URL:
1 ICS 223: Transaction Processing and Distributed Data Management Winter 2008 Professor Sharad Mehrotra Information and Computer Science University of.
CSE 636 Data Integration Introduction. 2 Staff Instructor: Dr. Michalis Petropoulos Location: 210 Bell Hall Office Hours:
Databases and Database Management System. 2 Goals comprehensive introduction to –the design of databases –database transaction processing –the use of.
Rundensteiner-CS34311 CS3431 – Database Systems I Logistics Instructor: Elke A. Rundensteiner
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1.
1 Introduction to Database Systems CSE 444 Lecture #1 January 5, 2004 Alon Halevy.
1 Database Systems Lecture #1. 2 Staff Lecturer: Yael Amsterdamer – –Schreiber, Databases lab, M-20, –Office.
1 Introduction to Database Systems CSE 444 Lecture #1 March 31, 2008.
1 Introduction to Database Systems CSE 444 Lecture #1 January 3, 2005.
1 Introduction to Database Systems CSE 444 Lecture #1 January 4, 2006.
1 Database Systems Lecture #1. 2 Staff Instructor: Tova Milo – –Schreiber, Room 314, –Office hours: See.
CSE544 Introduction Monday, March 27, Staff Instructor: Dan Suciu –CSE 662, –Office hours: Wednesdays, 12pm-1pm TA: Bhushan.
1 Introduction to Database Systems CSE 444 Lecture #1 September 28, 2005.
CS462: Introduction to Database Systems. ©Silberschatz, Korth and Sudarshan1.2Database System Concepts Course Information Instructor  Kyoung-Don (KD)
CSC2012 Database Technology & CSC2513 Database Systems.
Introduction. 
Course Introduction Introduction to Databases Instructor: Joe Bockhorst University of Wisconsin - Milwaukee.
1 CS 430 Database Theory Winter 2005 Lecture 1: Introduction.
CpSc 462/662: Database Management Systems (DBMS) (TEXNH Approach)
CPS 216: Advanced Database Systems Shivnath Babu Fall 2006.
Transaction Management: Concurrency Control CS634 Class 16, Apr 2, 2014 Slides based on “Database Management Systems” 3 rd ed, Ramakrishnan and Gehrke.
Database Management Systems 1 Ramakrishnan & Gehrke Introduction to Database Systems Chpt 1 Instructor: Xintao Wu.
CpSc 462/662: Database Management Systems (DBMS) (TEXNH Approach) Introduction James Wang.
CS4432Notes 11 CS 4432 Database Systems II Lecture 1: Introduction Professor Elke A. Rundensteiner Today: Tim Sutherland.
DBMS 2001Notes 1: Introduction1 Principles of Database Management Systems (Tietokannanhallintajärjestelmät) Pekka Kilpeläinen Fall 2001.
Introduction to Database Management Systems. Information Instructor: Csilla Farkas Office: Swearingen 3A43 Office Hours: Monday, Wednesday 4:15 pm – 5:30.
CSE544 Introduction Monday, March 29, Staff Instructor: Dan Suciu –CSE 662, –Office hours: Tuesday, 1-2pm. TA: Nilesh Dalvi.
Introduction to Database Management Systems. Information Instructor: Csilla Farkas Office: Swearingen 3A43 Office Hours: M,T,W,Th,F 2:30 pm – 3:30 pm,
INFS614, Dr. Brodsky, GMU1 Database Management Systems INFS 614 Instructor: Professor Alex Brodsky
Introduction to Database Management Systems. Information Instructor: Csilla Farkas Office: Swearingen 3A43 Office Hours: Monday, Wednesday 2:30 pm – 3:30.
1 Principles of Database Systems With Internet and Java Applications Today’s Topic Chapter 15: Reliability and Security in Database Servers Instructor’s.
Rundensteiner-CS34311 CS3431 – Database Systems I Introduction Instructor: Elke A. Rundensteiner
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 21 November 2, 2004.
CS453: Databases and State in Web Applications (Part 2) Prof. Tom Horton.
CS 541 Lecture Slides Sunil Prabhakar CS541 Database Systems.
Introduction.  Administration  Simple DBMS  CMPT 454 Topics John Edgar2.
Fall CSE330/CIS550: Introduction to Database Management Systems Prof. Susan Davidson Office: 278 Moore Office hours: TTh
1 Lecture 14: Transactions in SQL Wednesday, February 8, 2006.
CS3431: C-Term CS3431 – Database Systems I Introduction Instructor: Mohamed Eltabakh
Copyright © 2004 Pearson Education, Inc. Chapter 1 Introduction and Conceptual Modeling.
1 Introduction to Database Systems CSE 444 Lecture #1 September 26, 2007.
Introduction to CSCI 242 Compiled by S. Zhang 1. Syllabus Syllabus has the most updated information! –Use the information on the syllabus for the grading.
CS3431-B111 CS3431 – Database Systems I Logistics Instructor: Mohamed Eltabakh
CS445 Pacific University 1 11/16/2016 CS 445 Introduction to Database Systems TTH 1:00 – 2:15 Chadd Williams Office HoursM 1:00-2:00 Tue 11-noon Thur 3-4.
Introduction to Information Systems
Database Systems Lecture #1.
Database Systems Lecture #1.
Introduction to Database Systems CSE 444
Database Management Systems
CS 245: Database System Principles Notes 01: Introduction
Database What is a database ? Give examples of databases.
Database Systems Lecture #1.
Introduction to Database Systems CSE 444
Introduction to Database Management Systems
Introduction to Database Systems CSE 444
Introduction to Database Systems CSE 444
Introduction to Database Systems CSE 444
Introduction to Database Systems CSE 444
Introduction to Database Systems CSE 444
Lecture 1: Overview of CSCI 485 Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA Shahram Ghandeharizadeh Director.
Presentation transcript:

1 Introduction to Database Systems CSE 444 Lecture #1 September 27, 2006

2 About Me Dan Suciu: Joined the department in 2000 Before that: Bell Labs, AT&T Labs Research: Past: XML and semi-structured data: –Query language: XML-QL (later XQuery) –Compressor: XMill –Theory: XPath containment, XML typechecking Present: Probabilistic databases: MystiQ

3 Staff Instructor: Dan Suciu –Allen, Room 662, Office hours: Wednesdays 11:30 (appointment strongly TAs: –Jue Wang, Office hours: Fridays 1:00-2:00, Room

4 Communications Web page: –Lectures will be available here –Homeworks will be posted here (HW1 is posted) –The project description will be here Mailing list: –Announcements, group discussions –Please subscribe

5 Textbook(s) Main textbook, available at the bookstore: Database Systems: The Complete Book, Hector Garcia-Molina, Jeffrey Ullman, Jennifer Widom Most chapters are good. Some are not (functional dependecies). COME TO CLASS ! ASK QUESTIONS ! READ SLIDES !

6 Other Texts Available at the Engineering Library (not on reserve): Database Management Systems, Ramakrishnan XQuery from the Experts, Katz, Ed. Fundamentals of Database Systems, Elmasri, Navathe Foundations of Databases, Abiteboul, Hull, Vianu Data on the Web, Abiteboul, Buneman, Suciu

7 Outline of Today’s Lecture 1.Overview of DBMS 2.DBMS through an example 3.Course outline 4.Assignment 1, Homework 1

8 Database What is a database ? Give examples of databases

9 Database What is a database ? A collection of files storing related data Give examples of databases Accounts database; payroll database; UW’s students database; Amazon’s products database; airline reservation database

10 Database Management System What is a DBMS ? Give examples of DBMS

11 Database Management System What is a DBMS ? A big C program written by someone else that allows us to manage efficiently a large database and allows it to persist over long periods of time Give examples of DBMS DB2 (IBM), SQL Server (MS), Oracle, Sybase MySQL, Postgres, …

12 Market Shares From IMB: 35% market with $2.5BN in sales Oracle: 33% market with $2.3BN in sales Microsoft: 19% market with $1.3BN in sales

13 An Example The Internet Movie Database Entities: Actors (800k), Movies (400k), Directors, … Relationships: who played where, who directed what, … Want to store and process locally; what functions do we need ?

14 What the Database Systems Does 1.Create/store large datasets 2.Search/query/update 3.Change the structure 4.Concurrent access to many user 5.Recover from crashes 6.Security (not here, but in other apps)

15 Possible Organizations Files Spreadsheets DBMS

16 1. Create/store Large Datasets Files Spreadsheets DBMS Yes, but… Not really… Yes

17 2. Search/Query/Update Simple query: –In what year was ‘Rain man’ produced ? Multi-table query: –Find all movies by ‘Coppola’ Complex query: –For each actor, count her/his movies Updating –Insert a new movie; add an actor to a movie; etc

18 2. Search/Query/Update Files Spreadsheets DBMS Simple queries Multi-table queries (maybe) All Updates: generally OK

19 3. Change the Structure Add Address to each Actor Files Spreadsheets DBMS Very hard Yes

20 4. Concurrent Access Multiple users access/update the data concurrently What can go wrong ? How do we protect against that in OS ? This is insufficient in databases; why ?

21 4. Concurrent Access Multiple users access/update the data concurrently What can go wrong ? –Lost update; resulting in inconsistent data How do we protect against that in OS ? –Locks This is insufficient in databases; why ? –A logical action consists of multiple updates

22 5. Recover from crashes Transfer $100 from account #4662 to #7199: X = Read(Account, #4662); X.amount = X.amount - 100; Write(Account, #4662, X); Y = Read(Account, #7199); Y.amount = Y.amount + 100; Write(Account, #7199, Y); X = Read(Account, #4662); X.amount = X.amount - 100; Write(Account, #4662, X); Y = Read(Account, #7199); Y.amount = Y.amount + 100; Write(Account, #7199, Y); CRASH ! What is the problem ?

23 Enters a DMBS Data files Database server (someone else’s C program) Applications connection (ODBC, JDBC) “Two tier system” or “client-server”

24 DBMS = Collection of Tables Still implemented as files, but behind the scenes can be quite complex Directors:Movie_Directors: Movies: “data independence” idfNamelName 15901Francis FordCoppola... midTitleYear The Godfather idmid

25 1. Create/store Large Datasets Use SQL to create and populate tables: CREATE TABLE Actors ( Name CHAR(30) DateOfBirth CHAR(20) )... CREATE TABLE Actors ( Name CHAR(30) DateOfBirth CHAR(20) )... INSERT INTO Actors VALUES(‘Tom Hanks’,...) INSERT INTO Actors VALUES(‘Tom Hanks’,...) Size and physical organization is handled by DBMS We focus on modeling the database Will study data modeling in this course

26 2. Searching/Querying/Updating Find all movies by ‘Coppola’ What happens behind the scene ? SELECT title FROM Movies, Directors, Movie_Directors WHERE Directors.lname = ‘Coppola’ and Movies.mid = Movie_Directors.mid and Movie_Directors.id = Directors.id We will study SQL in gory details in this course We will discuss the query optimizer in class.

27 3. Changing the Structure Add Address to each Actor ALTER TABLE Actor ADD address CHAR(50) DEFAULT ‘unknown’ Lots of cleverness goes on behind the scenes

28 3&4 Concurrency&Recovery: Transactions A transaction = sequence of statements that either all succeed, or all fail E.g. Transfer $100 BEGIN TRANSACTION; UPDATE Accounts SET amount = amount WHERE number = 4662 UPDATE Accounts SET amount = amount WHERE number = 7199 COMMIT BEGIN TRANSACTION; UPDATE Accounts SET amount = amount WHERE number = 4662 UPDATE Accounts SET amount = amount WHERE number = 7199 COMMIT

29 Transactions Transactions have the ACID properties: A = atomicity C = consistency I = isolation D = durability

30 4. Concurrent Access Serializable execution of transactions –The I (=isolation) in ACID We study three techniques in this course Locks Timestamps Validation

31 5. Recovery from crashes Every transaction either executes completely, or doesn’t execute at all –The A (=atomicity) in ACID We study three types of log files in this course Undo log file Redo log file Undo/Redo log file

32 Course Outline Part I SQL, Relational model, database design XML, XPath, Xquery Midterm: Friday, October 27 (in class) Part II Database security, Transactions Concurrency control and recovery Query execution and optimization Final: Monday, December 11, 8:30-10:20(this room)

33 Grading Homework: 30% Project: 25% Midterm: 15% Final: 25% Intangibles: 5%

34 The Project Models data management needs of a company Will have four phases We use SQL Server, C#,.NET First phase: handed out next week

35 Assignment 1, Homework 1 Reading assignment for Friday: –Introduction from SQL for Web Nerds, by Philip Greenspun, Login SQL Server –User name = your U address –Password = "studentID" + "!A" Homework 1: due Wednesday, October 11 CurrentQtr/hw/index.htm CurrentQtr/hw/index.htm

36 Accessing SQL Server SQL Server Management Studio Server Type = Database Engine Server Name = IISQLSRV Authentication = SQL Server Authentication –Login = your address –Password = Change your password !! Then play with IMDB