150 likes | 290 Views
Introduction to Database Systems CSE 444. Lecture #1 September, 28 1998. Staff. Instructor: Alon Levy Sieg, Room 310, alon@cs.washington.edu Office hours: Wednesday 3-4pm (or by appointment) TA: Aung Thaung
E N D
Introduction to Database SystemsCSE 444 Lecture #1 September, 28 1998
Staff • Instructor: Alon Levy • Sieg, Room 310, alon@cs.washington.edu • Office hours: Wednesday 3-4pm (or by appointment) • TA: Aung Thaung • Sieg 233, aung@cs.washington.edu • Office hours: TBA
Communications • Web page: http://www.cs.washington.edu/education/courses/cse444/ • Mailing list: send email to majordomo@cs saying: subscribe cse444
Textbook(s) • A First Course in Database Systems • by Jeff Ullman and Jennifer Widom • Other useful textbooks: • 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]
Requirements • Prerequisites: Data structures course (CSE-326 or equivalent). • Work & Grading: • Homework 25% • Project: 30% -- separate dedicated overview. • Midterm: 15% • Final: 30%
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 westore the data? (file organization, etc.) • how do we query the data? (write programs…) • make sure that updates to 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!
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
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.
Conceptual Modeling name category name ssn Takes Course Student quarter Advises Teaches Professor name field address
Schema Design and Implementation • Table Students • Separates the logical view from the physical view of the data.
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.
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.
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...
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
Outline (Continued) • SQL (“intergalactic dataspeak”) • Views and triggers (in SQL) • Recursion • Object Query Language • Concepts of data storage • Concepts of query optimization • Concepts of transaction processing • Advanced topics