Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Database Systems CSE 444

Similar presentations


Presentation on theme: "Introduction to Database Systems CSE 444"— Presentation transcript:

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

2 Staff Instructor: Alon Levy TA: Rachel Pottinger
Sieg, Room 310, Office hours: Wednesday 2:30-3:30 (or by appointment) TA: Rachel Pottinger Sieg 226b, Office hours: Tuesday 2-3, Thursday 1:30 - 2:30 or by appointment

3 Communications Web page: http://www.cs.washington.edu/444/
Mailing list: send to saying: subscribe cse444

4 Textbook(s) A First Course in Database Systems Database Implementation
by Jeff Ullman and Jennifer Widom Database Implementation by Hector Garcia-Molina, Jeff Ullman and Jennifer Widom Available in a shrink-wrapped package at the book store (not available in that form for non-students).

5 Other Texts Database Management Systems (Ramakrishnan) [very comprehensive] Fundamentals of Database Systems (Elmasri and Navathe) [very widely used] Foundations of Databases (Abiteboul, Hull and Vianu) [Mostly theory of databases] Available, on reserve, in the library.

6 Real Business: Why use a DBMS?
Suppose we are building a system to store the information pertaining to the university. Several questions arise: how do we store the data? (file organization, etc.) how do we query the data? (write programs…) make sure that updates don’t mess things up? Provide different views on the data? (registrar versus students) how do we deal with crashes? Way too complicated! Go buy a database system!

7 Functionality of a DBMS
Storage management Abstract data model High level query and data manipulation language Efficient query processing Transaction processing Resiliency: recovery from crashes Different views of the data, security Interface with programming languages

8 Building an Application with a Database System
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.

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

10 Schema Design and Implementation
Table Students Separates the logical view from the physical view of the data.

11 Querying a Database Find all the students who have taken CSE444 in Fall, 1997. S(tructured) Q(uery) L(anguage) select E.name from Enroll E where E.course=CS444 and E.quarter=“Fall, 1997” Query processor figures out how to answer the query efficiently.

12 Query Optimization Goal: Declarative SQL query
Imperative query execution plan: Reserves Sailors sid=sid bid=100 rating > 5 sname (Simple Nested Loops) SELECT S.sname FROM Reserves R, Sailors S WHERE R.sid=S.sid AND R.bid=100 AND S.rating>5 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!

13 Database Industry Relational databases are a great success of theoretical ideas. “Big 3” DBMS companies are among the largest software companies in the world. IBM (with DB2) and Microsoft (SQL Server, Microsoft Access) are also important players. $20B industry. Challenged by object oriented DBMS.

14 The Study of DBMS Several aspects:
Modeling and design of databases Database programming: querying and update operations Database implementation DBMS study cuts across many fields of Computer Science: OS, languages, AI, Logic, multimedia, theory...

15 Course (Rough) Outline
Database design: Entity Relationship diagrams ODL (object-oriented design language) Modeling constraints The relational model: Relational algebra Transforming E/R models to relational schemas

16 Outline (Continued) SQL (“intergalactic dataspeak”)
Views and triggers Recursive queries and datalog Object-oriented features Storage and indexing Query optimization Ttransaction processing and recovery Advanced topics:data integration, XML

17 Structure Prerequisites: Data structures course (CSE-326 or equivalent). Work & Grading: Homework 25%: 6 of them, some light programming. Project: 30% - see below. Midterm: 15% Final: 25% Intangibles: 5%

18 The Project Goal: design end-to-end database application.
Work in groups of 3-4 (start forming now). Choose topic on your own. Some service projects available. Timetable for project milestones. Be creative! Start soon!!


Download ppt "Introduction to Database Systems CSE 444"

Similar presentations


Ads by Google