Introduction to Database Systems CSE 444StaffCommunicationsTextbook(s)RequirementsReal Business: Why use a DBMS?Functionality of a DBMSBuilding an Application with a Database SystemSchema Design and ImplementationQuerying a DatabaseDatabase IndustryThe Study of DBMSCourse (Rough) OutlineOutline (Continued)Introduction to Database SystemsCSE 444Lecture #1September, 28 1998StafInstructor: Alon LevySieg, Room 310, [email protected] Office hours: Wednesday 3-4pm (or by appointment) TA: Aung ThaungSieg 233, [email protected]Office hours: TBACommunicationsWeb page: http://www.cs.washington.edu/education/courses/cse444/Mailing list: send email to majordomo@cs saying: subscribe cse444Textbook(s)A First Course in Database Systemsby Jef Ullman and Jennifer WidomOther 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]RequirementsPrerequisites: 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 we store the data? (file organization, etc.)how do we query the data? (write programs…)make sure that updates to mess things up?Provide diferent views on the data? (registrar versus students)how do we deal with crashes?Way too complicated! Go buy a database system!Functionality of a DBMSStorage managementAbstract data modelHigh level query and data manipulation languageEfficient query processingTransaction processingResiliency: recovery from crashesDiferent views of the data, securityInterface with programming languagesBuilding an Application with a Database SystemRequirements modeling (conceptual, pictures)Decide what entities should be part of the application and how they should be linked.Schema design and implementationDecide on a set of tables, attributesDefine the tables in the database system.Populate database (insert tuples).Write application programs using the DBMSway easier now that the data management is taken care of.addressname fieldProfessorAdvisesTakesTeachesCourseStudentname categoryquarternamessnConceptual ModelingSchema Design and ImplementationTable StudentsSeparates the logical view from the physical view of the data.Student Course QuarterCharles CS 444 Fall, 1997Dan CS 142 Winter,1998… … …Querying a DatabaseFind all the students who have taken CSE444 in Fall, 1997.S(tructured) Q(uery) L(anguage)select E.namefrom Enroll Ewhere E.course=CS444 and E.quarter=“Fall, 1997”Query processor figures out how to answer the query efficiently.Database IndustryRelational 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 industryChallenged by object oriented DBMS.The Study of DBMSSeveral aspects:Modeling and design of databasesDatabase programming: querying and update operationsDatabase implementationDBMS study cuts across many fields of Computer Science: OS, languages, AI, Logic, multimedia, theory...Course (Rough) OutlineDatabase design:Entity Relationship diagramsODL (object-oriented design language)Modeling constraintsThe relational model:Relational algebraTransforming E/R models to relational schemasOutline (Continued)SQL (“intergalactic dataspeak”) Views and triggers (in SQL)RecursionObject Query LanguageConcepts of data storageConcepts of query optimizationConcepts of transaction processingAdvanced
View Full Document