CPS 430/542: Database Management Systems Lecture Notes


  1. Introduction to database systems, course outline, and data models ([FCDB] Ch1)
    1. historical database context ([FCDB] Ch1)
    2. physical data storage ([FCDB] Ch1)

  2. Data modeling: Entity-relationship (E/R) and object-oriented data models ([FCDB] Ch2, §§4.1-4.3)
    1. essential E/R elements ([FCDB] §2.1)
    2. E/R modeling constraints ([FCDB] §2.3) and weak entity sets ([FCDB] §2.4)
    3. E/R design principles ([FCDB] §2.2) and examples
    4. object-oriented data modeling and the Object Definition Language (ODL; [FCDB] §§4.1-4.3)
    5. common mistakes in the design of databases
    6. database modeling (ER & ODL) practice problems ([FCDB] Ch2, §§4.1-4.3)

  3. Relational and object-relational data models ([FCDB] Ch3, §§4.4-4.5, 10.1-10.3)
    1. essential relational elements ([FCDB] §3.1) and converting E/R diagrams to relational designs ([FCDB] §3.2)
    2. converting subclass structures to relations ([FCDB] §3.3)
    3. functional dependencies (FD's; [FCDB] §3.4) and rules of FD's ([FCDB] §3.5)
    4. FD and attribute closure algorithms ([FCDB] §3.5)
    5. canonical cover ([FCDB] §3.5)
    6. databases and logic (first-order predicate logic: Horn clauses, resolution, and unification; [FCDB] §§10.1-10.3)
    7. databases and logic (PROLOG: facts, rules, and goals; [FCDB] §§10.1-10.3)
      [A Brief Introduction to PROLOG, installing & using SWI-PROLOG, logic programming resources, Prolog Programming A First Course]
    8. normalization: BCNF and 3NF ([FCDB] §3.6)
    9. normalization: multivalued dependencies and 4NF ([FCDB] §3.7)
    10. converting ODL designs to relational designs and the object-relational data model ([FCDB] §§4.4-4.5)
    11. relational model practice problems ([FCDB] Ch3)

  4. Query languages: relational algebra, SQL, Datalog, and OQL ([FCDB] Ch5, 6, 7, 10, 9)
    1. primitive query operators ([FCDB] §§5.2, 6.1, 10.1-10.2)
    2. joins ([FCDB] §§5.2, 6.2, 10.2)
    3. example queries
    4. defining and populating a relation schema in SQL ([FCDB] §§6.5-6.6)
      [using Oracle 8 on the CPS Suns, notes on Oracle from the Stanford University DB group, help on Oracle 8 from the University of Maryland Baltimore County]
    5. subqueries ([FCDB] §6.3)
    6. extended operators (grouping and aggregation) ([FCDB] §§5.3-5.4, 6.4)
    7. views ([FCDB] §6.7) [mySQL vs. standard SQL (coutesy Ullman)]
    8. recursion in Datalog and SQL ([FCDB] §§10.3-10.4)
    9. indices ([FCDB] §6.6), and enforcing (key and foreign-key) constraints in relational algebra ([FCDB] §5.5) and SQL ([FCDB] §§7.1-7.2, 8.1)
    10. OQL ([FCDB] Ch9)
    11. query practice problems ([FCDB] Ch5, 6, 10)

  5. Web modeling ([FCDB] §§4.6-4.9)
    1. semistructured data ([FCDB] §4.6):
    2. XML ([FCDB] §4.7):
    3. transformation: XSLT
    4. RDF
Acknowledgment: the E/R diagrams in these notes were drawn by Praveen Bosukonda using xfig.


References

    [DBAA] M. Kifer, A. Bernstein, and P. M. Lewis. Database Systems: An Application-Oriented Approach. Addison-Wesley, Boston, MA, Second edition, 2006.
    [DBSC] A. Silberschatz, H.F. Korth, and S. Sudarshan. Database Systems Concepts. McGraw Hill, Boston, MA, Fifth edition, 2006.
    [FCDB] J.D. Ullman and J. Widom. A First Course in Database Systems. Prentice Hall, Upper Saddle River, NJ, Second edition, 2002.
    [RDS] J.M. Hellerstein and M. Stonebraker, eds. Readings in Database Systems, Chapter 1: The Roots, MIT Press, San Francisco, CA, Fourth Edition, 2005.

© S. Perugini, Fall 2006, University of Dayton. Permission to use ideas about the organization of topics and any notes or material is granted, provided suitable acknowledgments and citations are made.
Return Home