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 5pm-6pm

TA: Alexander Keller (Alexander [dot] Keller [at] uoit [dot] net)

TA Office hours: UA4029, Wednesdays, 1-2pm by appointment

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.

Marking Scheme: Labs and Project: 30%, Midterm : 20%, Final Exam : 40%, Participation and Presentation 10%.

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


V. SQL Intro PDF


VII. Constraints PDF

VIII. Transactions, Views and Indexes PDF

IX. Design Workshop PDF

X. Authorization PDF

XI. Functional Dependencies PDF

XII. SQL Libraries PDF

XIII. Data Integration PDF



XVI. XPath, XQuery, XSLT PDF

XVII. Closure PDF


Labs will start on 16th (Monday) of January.


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: 15th of Feb (Database Design Modelling) and 28th of Feb  (Applications: rest of the material, SQL etc.) BRING YOUR LAPTOP TO BOTH!

Extension: Submit report for Project part I by 28th of Feb, Tuesday  (by midnight). See Blackboard for specific instructions.

Submit report for Project part II by TBD.