Student Originated Software Winter Database Systems This part of the program offers an introduction to the design and use of database systems. We cover design using the entity-relationship model, an overview of the relational model, how to convert E/R models to relations, and how one uses a relational database system to create a database. SQL (Structured Query Language), the standard query language for relational databases, will be learned and experienced. We shall also study some other database languages, both concrete and abstract, including relational algebra, ODL/OQL (the object-oriented database standard), JDBC (the Java interface to SQL databases, and XML (the most popular way to create structured data with semantics). While very similar to content of previous courses in DBMS I’ve done in SOS, the course this year is closely modeled after Jeff Ullman’s (and others) database class at Stanford. We are participating in a pilot project to export those materials to other colleges and will use that book, and material from their lectures and exercises. Class Time: Lecture/Workshop: Mon 1-3 LIB 1316; Wed 11 – 12, LH2 lab&help Thu 10-12, ACC Text(s): A First Course in Database Systems, by J. D. Ullman and J. Widom. However, if you are planning to be a database professional, you should get Database Systems: The Complete Book by H. Garcia-Molina, J. D. Ullman, and J. Widom, instead. The former is the first 10 chapters of the latter. We will be using MS SQL Server, and there is ample documentation on line “Books On Line”. If you want a book: SQL Server 7 A Beginners’ Guide is not bad. You will also want to get one of several SQL Server manuals and possibly a manual for the SQL standard. Here are some suggestions: 1. SQL in a Nutshell : A Desktop Quick Reference, Kevin E. Kline, Daniel Kline PhD, O’Reilly. 2. Understanding the New SQL: A Complete Guide J. Melton and A. R. Simon, Morgan-Kaufmann, 1993. 3. A Guide to the SQL Standard C. J. Date and H. Darwen, Addison-Wesley, 1999. It is more succinct but perhaps a more useful summary, than the Melton-Simon book. 4. SQL3 Complete, Really Peter Gulutzan and Trudy Pelzer, CMP Books. This book is really fat, but it is fairly complete. Project: Everyone will write his or her own database application. Some work on the project will be assigned each week, beginning with selecting your application, designing the database, obtaining and loading your data into a real database management system, and finally writing a number of SQL queries, Java programs with embedded SQL queries, and exercising other features of SQL. For the project you may use SQL Server, or the database you are using for your year-long project. Judy Cushing 1 of 3 2/17/16 Student Originated Software Winter Database Systems Written Homework and Lab Assignments: 1) some conventional homework questions will be assigned each week, 2) steps of your database application, 3) small exercises using EU-BID or EU-Lease (from fall quarter) on which we will learn to write SQL queries and Java programs with embedded SQL. There will be midterm and (short) final exams, and a presentation (to the class) of your project. For lab sessions and your project work, we will use MS SQL Server, Java, JDBC. If your year-long project is using another DBMS, you may use that instead of SQL Server for your project. We will spend roughly the first two weeks on design, moving from our fall quarter work with Object Oriented Domain Modeling to Entity Relationship Modeling, which is the basis for relational database design. The second three weeks we will focus on SQL. During the second five weeks of the quarter, we will cover more advanced topics (see below) and in lab (and for your DBMS project) work on exercises with embedded SQL in Java. If time, we will do a lab on making the database accessible from the web (using Enhydra as the bridge between SQL Server and the browser). Date Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Topic Intro, E/R model Weak enitity sets, E/R design Relational model, Functional Dependencies Normal forms, Multivalued dependencies Monday Holiday Relational Algebra, SQL queries More SQL, Subqueries, Grouping/aggregation, Modifications, Schemas, Views Thursday Lab - MS/SQL Constraints and Triggers Midterm More MS/SQL, Embedded SQL Thursday - JDBC Monday Holiday Object-relational Transactions, Authorization ODL, OQL Semistructured data, XML, Xquery Project presentations & demo’s Data warehouses, Data mining final Judy Cushing 2 of 3 Reading 1, 2.1, 2.3 2.2, 2.4 3.1-3.5 3.6-3.7 5 , 6.1, 6.2, 6.3, 6.4, 8.2, 6.5-6.7 or mssql.html 7.1-7.3, 7.4 8.1, 8.3-8.5 jdbc.html, 4.5, 9.4, 9.5, or-objects.html 8.6, 8.7, 10.3, 10.4, 4.1-4.4 ???? 9.1 4.6, 4.7, Notes Notes 2/17/16 Student Originated Software Judy Cushing Winter Database Systems 3 of 3 2/17/16