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

IV. E/R PDF

V. SQL Intro PDF

VI. More SQL 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

XIV. OLAP PDF

XV. XML PDF

XVI. XPath, XQuery, XSLT PDF

XVII. Closure PDF


 Labs:

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


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: 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.

Exam: 12-Apr-17 12:00PM-03:00PM BRING YOUR LAPTOP TO FINAL EXAM