Database Systems and Concepts

Title: Database System and Concepts Code: CSCI 3030U

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

Office hours: Thursdays 11am-noon

TA: Guilherme Damasio (Guilherme.FetterDamasio [at] uoit [dot] ca)

TA Office hours: UA 4029, Tuesdays, 3:30-4:30

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

IV. E/R PDF

V. SQL PDF

VI. More SQL PDF

VII. Constraints PDF

VIII. Transactions, Views and Indexes PDF

IX. Design Workshop PDF

X. Authorization

XI. Functional Dependencies

XII. SQL Libraries

XIII. Data Integration

XIV. OLAP

XV. XML

XVI. XPath, XQuery, XSLT

XVII. Closure


 Labs:

Labs will start on the week 18th of Sept.


Announcements:

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

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

Submit report for Project part II by TBD.

Exam: TBD BRING YOUR LAPTOP TO FINAL EXAM