Database Systems and Concepts

Title: Database System and Concepts Code: CSCI 3030U

Instructor: Jarek Szlichta, Jaroslaw [dot] Szlichta [at] uoit [dot] ca

Office hours: Wednesdays 4.30pm-5.30pm.

TAs: Guilherme Damasio (Guilherme.FetterDamasio [at] uoit [dot] ca), Riley Weagant (riley.weagant [at] uoit [dot] ca)

TA Office hours: UA 4029, available upon request.

Description: This course studies Database Systems and the related theories and concepts. Students will be introduced to the classical relational data model and the theory of relational data normalization. We will also cover modern data models such as the semi-structured, and unstructured data models.

We cover a range of data query languages including SQL, XQuery and text search based query methods. Practical issues such as performance, security and application programming interfaces to host languages are discussed. We also discuss the intimate connection between database engines and modern computer systems such as the WWW, mobile devices and computer networks.

Policies: Refer to following link. Refer to UOIT Faculty of Science academic policies

Course outline:

  1. Relational Data
    • Relational data modeling
    • ER diagrams
    • Constraints and data normalization
  2. SQL and Database Programming and Administration
    • SQL Database programming in Java and Python
    • Data driven Web programming Indexes and performance tuning
    • Security and access control
  3. Semistructured Data
    • XML and DTD Xquery
  4. Unstructured Data
    • Text data and full text search
    • NoSQL databases
  5. Advanced topics
    • Data mining algorithms
    • Keyword search and search engines
    • Embedded databases: from the Web to the mobile phone

Required reading: Database Systems, The Complete Book, Hector Garcia-Molina, Jeffrey Ullman and Jennifer Widom,

Lecture Notes (always check newest version of the slides):

I. Introduction PDF

II. Data Modelling PDF

III. Relational Algebra PDF



VI. FastOD & OptImatch (slides posted on Slack.)


VII. Constraints PDF

VIII. Transactions, Views and Indexes PDF

IX. Modelling Workshop PDF

X. SQL Libraries PDF

XI. Authorization PDF

XII. Functional Dependencies PDF

XIII. Data Integration and OLAP PDF


XV. RDF and SPARQL (slides posted on Slack)

XVI. Closure (Workshop) PDF


Labs will start in the week 17th-21st of Sept.


Any student who misses an examination (or lab) without a valid medical reason and documentation will receive zero for that examination/lab. Those with medical documentation will either be given a makeup exam/tutorial or will have the weight of the examination added to the final exam.

Midterm:  24th of October (Database Design Modelling) and 29th of October  (Applications: rest of the material, SQL etc.) BRING YOUR LAPTOP TO BOTH!

Submit report for Project part I by 30th of October  (by midnight).

Submit report for Project part II by 2nd of Dec (by midnight).

Students presentations: Nov 28th and Dec 3rd.

Final Midterm:  5th of December (Wed) BRING YOUR LAPTOP