ICS 184 / EECS 116 Summer 2006
Schedule


All assigned readings are from the Silberschatz text. It is a good idea to skim the assigned reading before the lecture for the main ideas, attend lecture, and then to go through the assigned reading again to fill in the details that you missed, both in your initial skim of the reading and in the lecture.

Some lectures have little or no reading corresponding to them. In some cases, this is because a block of reading corresponds to more than one lecture. In other cases, the material covered in that lecture is not discussed in the textbook.

Date Lecture Topics Readings Assignment Due
Week 1
M 6/26
  • Course introduction
  • What are databases?
  • An overview of databases, DBMS's, and applications built around them
  • Ch. 1
W 6/28
  • The relational model
  • Relations, tuples, and attributes
  • Using relational algebra to write queries
  • Ch. 2
Week 2
M 7/3
  • Using relational algebra to write queries (continued)
W 7/5
  • Using relational algebra to write queries (continued)
Week 3
M 7/10
  • The effect of nulls in the relational model
  • Outer joins
  • What is SQL?
  • Data definition vs. data manipulation
  • Data definition in SQL (briefly)
  • Ch. 3.1 - 3.5
W 7/12
  • Writing queries in SQL
Assignment #1 due 11:59pm
Week 4
M 7/17
  • Nested SQL queries
  • The effect of nulls in SQL
  • Data modification in SQL
  • Ch. 3.6 - 3.8
  • Ch. 3.10
W 7/19
  • Modification of data in SQL
  • Integrity constraints
  • PRIMARY KEY, CHECK, UNIQUE, NOT NULL
  • Foreign key relationships
  • Ch. 4.2
Week 5
M 7/24
  • Foreign key relationships (continued)
  • Assertions — the most general kind of constraint
Assignment #2 due 11:59pm
W 7/26
  • Views in SQL
  • Modification of views (briefly)
  • Materialized views (briefly)
  • Transactions
  • Stored procedures and functions in MySQL
  • Ch. 3.9
  • Ch. 15.1 - 15.2
  • Ch. 4.6
Week 6
M 7/31
  • Stored procedures and functions in MySQL (continued)
  • Triggers in MySQL
  • Ch. 8.6
W 8/2
  • Triggers in MySQL (continued)
  • Indexing (briefly)
F 8/4 Assignment #3 due 11:59pm
Week 7
M 8/7
  • MIDTERM: regular lecture time and location
W 8/9
  • The Entity-Relationship (E-R) model
  • Entities and relationships
  • E-R diagrams
  • Ch. 6.1 - 6.8
Week 8
M 8/14
  • Extending the E-R model with additional features
W 8/16
  • Converting E-R diagrams to relational database tables
  • Ch. 6.9 - 6.10
Week 9
M 8/21
  • Assessing the quality of a database design
  • Functional dependency theory
  • First Normal Form (1NF)
  • Boyce-Codd Normal Form (BCNF)
  • Third Normal Form (3NF)
  • Ch. 7.1 - 7.3
Assignment #4 due 2:00pm (in lecture)
W 8/23
  • Using a database as a component in a larger software system
  • Connecting to a database from outside a DBMS
  • Using JDBC to connect to a database from a Java program
Week 10
M 8/28
  • More about JDBC
  • The need for object/relational mapping
  • The Java Persistence API (briefly)
Assignment #5 due 2:00pm
W 8/30
  • XML as a data interchange format
  • A few remaining odds and ends
  • Concluding observations
  • Skim Ch. 10
F 9/1
  • FINAL EXAM: 2:00-4:00pm, IERF 101
Su 9/3 Assignment #6 (extra credit) due 11:59pm