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

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

Transcript of Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

Page 1: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

Introduction to Database Systems

CSE 444

Lecture #1September, 27 1999

Page 2: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

Staff

Instructor: Alon Levy Sieg, Room 310, [email protected] Office hours: Wednesday 2:30-3:30 (or by appointment)

TA: Rachel Pottinger Sieg 226b, [email protected] Office hours: Tuesday 2-3, Thursday 1:30 - 2:30

or by appointment

Page 3: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

Communications

Web page: http://www.cs.washington.edu/444/

Mailing list: send email to majordomo@cs

saying: subscribe cse444

Page 4: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

Textbook(s)

A First Course in Database Systemsby Jeff Ullman and Jennifer Widom

Database Implementationby 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).

Page 5: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

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.

Page 6: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

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!

Page 7: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

Functionality of a DBMSStorage managementAbstract data modelHigh level query and data manipulation

languageEfficient query processingTransaction processingResiliency: recovery from crashesDifferent views of the data, securityInterface with programming languages

Page 8: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

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.

Page 9: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

address name field

Professor

Advises

Takes

Teaches

CourseStudent

name category

quarter

name

ssn

Conceptual Modeling

Page 10: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

Schema Design and Implementation

Table Students

Separates the logical view from the physical view of the data.

Student Course Quarter

Charles CS 444 Fall, 1997

Dan CS 142 Winter,1998

… … …

Page 11: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

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.

Page 12: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

Query Optimization

Reserves Sailors

sid=sid

bid=100 rating > 5

sname

(Simple Nested Loops)

Imperative query execution plan:

SELECT S.snameFROM Reserves R, Sailors SWHERE R.sid=S.sid AND R.bid=100 AND S.rating>5

Declarative SQL query

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!

Goal:

Page 13: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

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.

Page 14: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

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...

Page 15: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

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

Page 16: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

Outline (Continued)

SQL (“intergalactic dataspeak”) Views and triggers

Recursive queries and datalogObject-oriented featuresStorage and indexingQuery optimizationTtransaction processing and recoveryAdvanced topics:data integration, XML

Page 17: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

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%

Page 18: Introduction to Database Systems CSE 444 Lecture #1 September, 27 1999.

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!!