CPSC 343 Database Theory and Practice Fall 2018

CPSC 343 Schedule

Reading and class prep exercises are to be done for the class period where they are listed. "Additional Reading" is optional and is provided if you want greater depth. "Elmasri and Navathe" refers to Fundamentals of Database Systems, 5th edition; this book has been placed on reserve in the library.

Dates for things in light gray are for planning purposes and may be adjusted slightly.

 Assignments

Week 1: 8/27-8/31

Topics: course introduction; introduction to data modeling and database design; conceptual models (ER)

   

Mon Materials: Additional Reading:
  • Elmasri and Navathe, chapters 1 and 2
   

Wed Reading:

Class Prep: available on Canvas

Materials:

Additional Reading:

  • Elmasri and Navathe, sections 3.1-3.5
introductory survey

due Fri Aug 31

Fri Reading:

Materials:

Additional Reading:
  • Elmasri and Navathe, sections 3.7.2-3.7.3 and 3.9

Week 2: 9/3-9/7

Topics: the entity-relationship model; the relational model

 

Mon Materials:    

Wed Reading:

Class Prep: available on Canvas

Materials:

Additional Reading:

  • Elmasri and Navathe, chapter 4 through section 4.5.2
 

Fri Reading:

Class Prep: available on Canvas

Materials:

Additional Reading:

  • Elmasri and Navathe, sections 5.1-5.2
  • chapters 20, 21, 22 of Elsmasri and Navathe deal with the object-oriented databases - chapter 21 is the best place to start if you are interested in alternatives to the relational model
homework 1
ER modeling

due Fri Sep 14

solutions: #1, #3, other comments

Week 3: 9/10-9/14

Topics: ER-to-relational mapping; relational design principles, decomposition and normalization

 

Mon Reading:

Materials:

Additional Reading:

  • Elmasri and Navathe, chapter 7
 

Wed Reading:

Materials:

Additional Reading:

  • Elmasri and Navathe, section 10.1
project topic proposal
due Wed Sep 19

Fri Reading:

Class Prep: available on Canvas

Materials:

Additional Reading:

  • Elmasri and Navathe, sections 10.2-10.6 (also chapter 11 for more advanced material that is beyond what we'll do in class)

Week 4: 9/17-9/21

Topics: decomposition and normalization; SQL - data definition, basic queries

 

Mon Materials: homework 2
ER-to-relational mapping and normalization

due Mon Sep 24

partial solutions and comments: #1, #3, #4, #5

Wed Reading:

Class Prep: available on Canvas (MySQL Workbench installation - optional)

Materials:

Additional Reading:

  • Elmasri and Navathe, sections 8.1-8.3
 

Fri Reading:

Class Prep: available on Canvas

Materials:

Additional Reading:

  • Elmasri and Navathe, sections 8.4-8.5.1
 

Week 5: 9/24-9/28

Topics: SQL - set operations and subqueries

 

Mon Reading:

Class Prep: available on Canvas

Materials:

Additional Reading:

  • Elmasri and Navathe, sections 8.5.2-8.5.6
  project specifications
due Fri Oct 5

Wed
exam 1 (in class)
Rosenberg 009
 

Fri Materials:  

Week 6: 10/1-10/5

Topics: SQL - aggregation and grouping

 

Mon Reading:

Materials:

Additional Reading:

  • Elmasri and Navathe, sections 8.5.7-8.5.8
 

Wed
exam 2 (in class)
Rosenberg 009
 

Fri Materials:  

Week 7: 10/8-10/12

Topics: SQL - data modification; data integrity - triggers

   

Mon fall break (no class)

Wed Reading:

Materials:

Additional Reading:

  • Elmasri and Navathe, section 8.6
project conceptual model
due Wed Oct 24

Fri Reading:

Materials:

homework 3
SQL

due Fri Oct 19

solutions and comments

Week 8: 10/15-10/19

Topics: data integrity - transactions; views; stored routines


Mon Reading:

Materials:


Wed Reading:

Materials:

Additional Reading:

  • Elmasri and Navathe, section 8.8

Fri Reading:

Materials:

 

Week 9: 10/22-10/26

Topics: stored routines; data integrity and security; database applications

 

Mon Materials:  

Wed Materials: homework 4
Access and Integrity

due Wed Oct 31

solutions and comments

Fri Materials: project database design
due Wed Nov 7

Week 10: 10/29-11/2

Topics: database applications


Mon -- meet in Rosenberg 009 --

Web Applications

Reading:

Reference:

  • HTML/PHP Local Quick Start (specifics about using PHP and creating web pages for this course, including information on remote access)

Examples:

  • Quick Start examples (must be on campus for link to work; see "Remote Access" in the Local Quick Start if you are off-campus)
   

Java Applications

Reading:

  • JDBC Basics (from the Java Tutorial) - especially "Establishing a Connection", "Handling SQLExceptions", "Retrieving and Modifying Values from Result Sets", "Using Prepared Statements", and "Using Transactions"

Reference:

Examples:

Materials:


Wed -- meet in Rosenberg 009 --  

Fri -- meet in Rosenberg 009 --  

Week 11: 11/5-11/9

Topics: database applications; file structure and data storage

 

Mon -- meet in Rosenberg 009 --  

Wed
exam 3 (in class)
Rosenberg 009
 

Fri Reading:

Materials:

Additional Reading:

  • Elmasri and Navathe, sections 13.1-13.8
  project implementation
due Tue Dec 11

Week 12: 11/12-11/16

Topics: indexing

 

Mon
exam 4 (in class)
Rosenberg 009
 

Wed Reading:

Materials:

  • slides: indexing (primary, clustering)

Additional Reading:

  • Elmasri and Navathe, sections 14.1-14.2
 

Fri Materials:  

Thanksgiving Break: 11/19-11/23


Week 13: 11/26-11/30

Topics: relational algebra; query processing and optimization

 

Mon Reading:

Class Prep: available on Canvas

Materials:

Additional Reading:

  • Elmasri and Navathe, sections 6.1-6.3 and 6.5
  • Elmasri and Navathe, section 15.1
 

Wed Reading:

Materials:

Additional Reading:

  • Elmasri and Navathe, sections 15.2-15.8
 

Fri Materials:  

Week 14: 12/3-12/7

Topics: query processing and evaluation; database efficiency and tuning

 

Mon Materials: homework 5
File Organization and Query Processing

due Mon Dec 10

partial solutions and comments

Wed Materials:

Reference:


Fri Materials:

Week 15: 12/10-12/11

Topics: wrapup


Mon -- bring a device (laptop, tablet, phone) if you can --

Materials:


Reading Period: 12/12-12/14

 

Wed office hours 12-2pm  

Thu office hours 1-3pm  

Fri office hours 1-3pm  

Exams: 12/15-12/18

 

Sat    

Sun    

Mon
exam 5 and final exam
12/17 1:30-4:30pm
Rosenberg 009
end-of-semester deadline
no work accepted after 12/17 4:30pm

Tue      

Valid HTML 4.01!