CSE544 Lecture 1: Introduction

Slides:



Advertisements
Similar presentations
Introduction Susan B. Davidson University of Pennsylvania CIS330 – Database & Information Systems Some slide content courtesy of Tova Milo.
Advertisements

Information Systems Chapter 4 Relational Databases Modelling.
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.
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.
Database Management Systems CSE 594 Lecture #1 April 4 th, 2002.
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.
Lecture 9: Conceptual Database Design January 27 th, 2003.
1 Introduction to Database Systems CSE 444 Lecture #1 January 3, 2005.
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.
Database Design April 3, Projects, More Details Goal: build a DB application. (almost) anything goes. Groups of 3-4. End of week 2: groups formed.
Entity / Relationship Diagrams Objects entities Classes entity sets Attributes are like in ODL. Relationships: like in ODL except - not associated with.
CSC2012 Database Technology & CSC2513 Database Systems.
Introduction to Database Systems Fundamental Concepts Irvanizam Zamanhuri, M.Sc Computer Science Study Program Syiah Kuala University Website:
Christoph F. Eick Introduction Data Management Today 1. Introduction to Databases 2. Questionnaire 3. Course Information 4. Grading and Other Things.
CSE544 Introduction Monday, March 29, Staff Instructor: Dan Suciu –CSE 662, –Office hours: Tuesday, 1-2pm. TA: Nilesh Dalvi.
INFS614, Dr. Brodsky, GMU1 Database Management Systems INFS 614 Instructor: Professor Alex Brodsky
Conceptual Database Design. Building an Application with a DBMS Requirements modeling (conceptual, pictures) –Decide what entities should be part of the.
1 Introduction to Database Systems CSE 444 Lecture 07 E/R Diagrams October 10, 2007.
Introduction to Database Management System 電機三 趙上鋒.
Fall CSE330/CIS550: Introduction to Database Management Systems Prof. Susan Davidson Office: 278 Moore Office hours: TTh
Introduction to Database Systems CSE 444 Lecture #1 September,
Introduction to Information Systems
Database Systems Lecture #1.
Database Systems Lecture #1.
Databases and DBMSs Todd S. Bacastow January
CS4222 Principles of Database System
Introduction to Database Systems CSE 444
Lecture 5: Conceptual Database Design
Datab ase Systems Week 1 by Zohaib Jan.
Chapter 1: Introduction
Chapter 1: Introduction
Database Design Oct. 3, 2001.
Database Design Why do we need it? Consider issues such as:
Database Systems Lecture #1.
Conceptual Database Design
Relational Algebra Chapter 4, Part A
Modeling Your Data Chapter 2 cs542
Translation of ER-diagram into Relational Schema
Tools for Memory: Database Management Systems
9/22/2018.
COSC 6340 Projects & Homeworks Spring 2002
Topics Covered in COSC 6340 Data models (ER, Relational, XML (short))
Overview of Database Systems
Chapter 1: Introduction
Cse 344 May 11th – Entities.
Principles of Database Management Systems CSE 544
Relational Algebra Chapter 4, Sections 4.1 – 4.2
Lecture 06 Data Modeling: E/R Diagrams
Topics Covered in COSC 6340 Data models (ER, Relational, XML)
name category name price makes Company Product stockprice buys employs
Introduction to Database Systems CSE 444
Data Model.
Introduction to Database Management Systems
Introduction to Database Systems CSE 444
Introduction to Database Systems CSE 444
Overview of Database Systems
Lecture 9: The E/R Model II
Introduction to Database Systems CSE 444
Lecture 06: SQL Monday, October 11, 2004.
Query Optimization.
Syllabus Introduction Website Management Systems
Overview of Database Systems
Introduction to Database Systems CSE 444
Introduction to Database Systems CSE 444
Presentation transcript:

CSE544 Lecture 1: Introduction Tuesday, January 2, 2001

Staff Instructor: Dan Suciu TAs: Gerome Miklau Sieg, Room 318, suciu@cs.washington.edu Office hours: Tuesday, 12-1. TAs: Gerome Miklau Office hours: Friday, 12:30-1:30. Mailing list: cse544@cs.washington.edu Send mail to majordomo@cs.washington.edu: “subscribe cse544” Web page: (a lot of stuff already there) http://www.cs.washington.edu/544

Course Times In general, Tue-Thu, 10:30-11:50pm Special dates: Thursday, Jan 25

Goals of the Course Purpose: Foundations of database management systems. Issues in building database systems. Introduction to current research issues in databases.

Grading Homeworks: 35% Project: 20% Final: 40% Intangibles: 5% Very little regurgitation. Meant to be challenging (I.e., fun). Project: 20% More later. Final: 40% Intangibles: 5%

Textbook Database Management Systems, Ramakrishnan and Gehrke. Also: Foundations of Databases, Abiteboul, Hull & Vianu

Other Useful Texts Pair of books by Ullman, Widom and Garcia-Molina Parallel and Distributed DBMS (Ozsu and Valduriez) Transaction Processing (Gray and Reuter) Data and Knowledge based Systems (volumes I, II) (Ullman) Data on the Web (Abiteboul, Buneman, Suciu) Readings in Database Systems (Stonebraker and Hellerstein) Proceedings of SIGMOD, VLDB, PODS conferences.

Prerequisites Officially: none Real prerequisites: Programming languages Logic Complexity theory Algorithms and data structures

Traditional Database Application Suppose we are building a system to store the information about: students courses professors who takes what, who teaches what Why use a DBMS ?

What we need from a database: store the data for a long period of time large amounts (100s of GB) protect against crashes protect against unauthorized use allow users to query/update: who teaches “CSE142” enroll “Mary” in “CSE444”

allow several (100s, 1000s) users to access the data simultaneously allow administrators to change the schema add information about TAs

Trying Without a DBMS Why Direct Implementation Won’t Work: Storing data: file system is limited size less than 4GB (on 32 bits machines) when system crashes we may loose data password-based authorization insufficient Query/update: need to write a new C++/Java program for every new query need to worry about performance

Concurrency: limited protection need to worry about interfering with other users need to offer different views to different users (e.g. registrar, students, professors) Schema change: need to rewrite virtually all applications

Functionality of a DBMS Storage management Data Definition Language - DDL Data Manipulation Language - DML query language Transaction Management concurrency control recovery

Building an Application with a DBMS Requirements modeling (conceptual, pictures) Decide what entities should be part of the application and how they should be linked. Schema design and implementation Decide on a set of tables, attributes. Define the tables in the database system. Populate database (insert tuples). Write application programs using the DBMS way easier now that the data management is taken care of.

Conceptual Modeling name category name cid ssn Takes Course Student quarter Advises Teaches Professor name field address

Schema Design and Implementation Tables: Separates the logical view from the physical view of the data. Students: Takes: Courses:

Querying a Database Find all courses that “Mary” takes S(tructured) Q(uery) L(anguage) select C.name from Students S, Takes T, Courses C where S.name=“Mary” and S.ssn = T.ssn and T.cid = C.cid Query processor figures out how to answer the query efficiently.

Query Optimization Goal: Declarative SQL query Imperative query execution plan: sname select C.name from Students S, Takes T, Courses C where S.name=“Mary” and S.ssn = T.ssn and T.cid = C.cid cid=cid sid=sid name=“Mary” Students Takes Courses Plan: Tree of Relational Algebra operators, with a choice of algorithm implementation for each operator Ideally: Want to find best plan. Practically: Avoid worst plans!

Database Industry Relational databases are a great success of theoretical ideas. Oracle has a market cap of over $200B Other players: IBM, MS, Sybase, Informix Trends: warehousing and decision support data integration XML, XML, XML.

What is the Field of Databases ? To a theoretical researcher (PODS/ICDT/LICS) Focus on the query languages Query language = logic = complexity classes To an applied researcher (SIGMOD/VLDB/ICDE) Query optimization Query processing (yet-another join algorithm) Transaction processing, recovery Novel applications: data mining, high-dimensional search To a systems programmer at Oracle: Millions lines of code To an application builder: E/R, SQL, ODBC/JDBC

Current and Future Data Management Current Data Management: relational data for enterprise applications storage query processing/optimization transaction processing Future Data Management: XML data for exchange on the Web transport query/data translation information retrieval

XML: Semi-structured Data eXtensible Markup Language: Emerging format for data exchange on the web and between applications.

Course (Rough) Outline The basics: (quickly) E/R, ODL, the relational model Relational algebra, SQL Views, integrity constraints Semistructured data and XML Some theory Theory of conjunctive queries Recursive queries (datalog) Query languages, logic, and complexity classes

Course Outline (cont) Query processing Query optimization Transaction processing

Projects Goal: apply some database principles to a new problem Suggested topics are from XML (see website), but anything goes. Groups of 2-3 Groups assembled end of week 2; Proposals, beginning of week 4 Touch base with me: every two weeks. Start Early.

Today: Database Design E/R - Entity relationship diagrams (Chapter 2)

Database Design Why do we need it? Consider issues such as: Agree on structure of the database before deciding on a particular implementation. Consider issues such as: What entities to model How entities are related What constraints exist in the domain How to achieve good designs

Entity-Relationship (E/R) Model Basic design paradigm in E/R: Model entities and their properties. For abstraction purposes: Group objects into entity sets. What qualifies as a good entity set ? Entities in an entity set should have common properties.

E/R Design Three steps: Design the entity sets Design their attributes Design the relationships

E/R Example: The Entity Sets Company Product Person

Their Attributes name category name price Company Product stockprice Person name ssn address

The Relationships name category name price makes Company Product stockprice buys employs Person name ssn address

Entity / Relationship Diagrams in Summary Entity sets: Product Properties: address buys Relationships:

What is a Relation ? A mathematical definition: if A, B are sets, then a relation R is a subset of A x B A={1,2,3}, B={a,b,c,d}, R = {(1,a), (1,c), (3,b)} - makes is a subset of Product x Company: 1 2 3 a b c d A= B= makes Company Product

Multiplicity of E/R Relations one-one: many-one many-many 1 2 3 a b c d 1 2 3 a b c d 1 2 3 a b c d

Multi-way Relationships How do we model a purchase relationship between buyers, products and stores? Purchase Product Person Store Can still model as a mathematical set (how ?)

Roles in Relationships What if we need an entity set twice in one relationship? Product Purchase Store buyer salesperson Person

Roles in Relationships Note the multiplicity of the relationships: we cannot express all possibilities Product Purchase Store buyer salesperson Person

Attributes on Relationships date Product Purchase Store Person

Converting Multi-way Relationships to Binary ProductOf date Product Purchase StoreOf Store Moral: Find a nice way to say things. BuyerOf Person

Design Principles What’s wrong? Purchase Product Person President Country Person Moral: be faithful!

What’s Wrong? date Product Purchase Store Moral: pick the right kind of elements. personAddr person

What’s Wrong? date Dates Product Purchase Store Moral: don’t complicate life more than it already is. Person