CS377 Syllabus & Progress

CS377 Syllabus & Progress


To save an example from a webpage, do the following in Netscape:
     Click File -> Save As
     Complete the file name in the "Selection" box
       (Make sure you specify the right directory name and file name !)
     Click OK when the file name is right


  1. Managing Information using Computers:

    • Managing Data/Information: click here
    • Storing information on hard disks: click here
    • Accessing data files on hard disks: click here

    • How to read all data stored in a file: click here

    • Managing Data using "traditional" files --- Physical Data Dependence

    • Intro Database System --- Physical Data Independence click here
      • Breaking the Physical Data Dependence:

      • Logical Data Independence: the format of the stored data vs. the format of the presented data:

      • Software Architecture of a Database Management System: click here
      • Database Terminology: click here


    Hand out Project 1: click here


  2. Data modeling using the Entity-Relationship model (Chapter 3)


    Hand out Homework 2: click here


  3. The Relational Data model (Chapter 5 in book)
    • Introduction:

    • Designing a relational model from an ER-model - part 1, the entities: click here

    • Designing a relational model from an ER-model - part 2, the relationships:

    • Representing ternary relationships in Relational Model: click here

    • Looking ahead: Defining the tables of a Relational Model: click here


    Hand out Homework 3: click here


  4. Relational Algebra

    • Introduction to data manipulation: click here

    • Introduction to Relational Algebra: click here

    • (Mathematical) Set operations: click here

    • Database specific operations:


    • The Set Division operation:


    • Set functions: click here

    • Forming groups and using Set Functions on groups:
      • Forming groups and applying a set function on individual groups: click here
      • Forming groups using multiple attributes: click here
      • Applying multiple set functions on groups: click here
      • Formal notation, giving names to set function results and forming a single group: click here



    • Practicing queries in Relational Algebra: click here
    • Not any and only type of queries: click here

    • *** My "systematic" query formulation summary in Relational Algebra -- for reference only, not discussed in class: click here

    Hand out Homework 4: click here




  5. SQL - Structured Query Language - Data Definition

    • Introduction: click here

    • Lectures use examples in /home/cs377001/demo/Data-Definition

    • Defining a database (= defining relations in a database):



  6. SQL - Structured Query Language - Query formulation








  7. JDBC: a Java library class for accessing Relational DBMS





  8. Java GUI programming





  9. Web Access of Dababases





  10. Database Design using decomposition to 3NF/BCNF



  11. Database Design using the synthesis algorithm to the 3NF






  12. Transaction Processing --- if time permits....


    Under construction...
  13. Concurrency Control (Chapter 18)
  14. Recovery (Chapter 19)
  15. Oracle Pro*C embedded SQL environment: click here