Introduction to Databases (COMPSCI 310)

Fall 2024-2025 / Session 2 (7 weeks, 35 hours)

Course Period: October 21 - December 5, 2024

  • Lectures: Monday / Tuesday / Wednesday / Thursday @ 16:15-17:30 (Classroom: CCT E1011 + Zoom Recordings)
Instructor: Mustafa Misir (Office: WDR 2106), mustafa.misir [at] dukekunshan.edu.cn
Teaching Assistant: Yuxuan Gao (Office: WDR 2017F), yuxuan.gao [at] dukekunshan.edu.cn

In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases spans formal techniques and practical considerations, including data modeling, efficient data representation and storage, query languages, security and privacy of sensitive data, and distributed computing issues, including supporting concurrent access and fault tolerance.

This course focuses on data modeling, database design theory, data definition and manipulation languages, storage and indexing techniques, query processing and optimization, concurrency control and recovery, database programming interfaces. Structured Query Language (SQL) will be additionally introduced to build and maintain databases for real applications.

By the end of this course, you will be able to:
  1. analyze and evaluate an existing database design
  2. design and build databases from scratch
  3. deliver data-driven software designs
  4. manipulate any given relational database
  5. utilize the basic theoretical and algorithmic concepts behind databases in real-world applications
Follow Canvas for resources and course activities   |   Ed Discussion for announcements, questions and discussions   |   Academic Calendar   |   Undergraduate Bulletin   |   DKU Hub


The chart, on the right, shows how COMPSCI 310 fits to the DKU curriculum, where the abbreviations indicate the course types, i.e. D: Divisional, DF: Divisional Foundation, ID: Interdisciplinary and E: Elective. Refer to the DKU Undergraduate Bulletin (2024-2025) for more details.

Pre-requisite(s)

  • COMPSCI 201: Introduction to Programming and Data Structures

Anti-requisite(s)

  • COMPSCI 301: Algorithms and Databases



Reference Books

Database Systems, Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Edition), 2019, McGraw-Hill (Free Access: ProQuest - Duke U. | DKU Library) [ Lecture Slides ] [ SQLite ]

Supplementary Books: SQL, XML & JSON:

Lecture Notes / Slides

  • Week 1   [21/10 - 24/10]   (Keywords: History, Terminology and Basics; Data; Databases; ; Database Systems; Database Management Systems)
    • About COMPSCI 310
    • Databases: Basics
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 1 - Introduction
      • Book Chapter (Optional): Database Systems - Design, Implementation, & Management by Carlos Coronel, Steven Morris (13th Ed., 2018), Chapter 1 - Database Systems
      • Book Chapter (Optional): Database Systems - Design, Implementation, & Management by Carlos Coronel, Steven Morris (13th Ed., 2018), Chapter 2 - Data Models
    • Relational Model: Relational Databases, Database Schema, Keys, Relational Algebra
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 2 - Introduction to the Relational Model
      • Book Chapter (Optional): Database Systems - Design, Implementation, & Management by Carlos Coronel, Steven Morris (13th Ed., 2018), Chapter 3 - Relational Database Model

    REMINDER [24/10, Thursday]: Drop/add ends for second 7-week undergraduate session.    { Source: Academic Calendar }


  • Week 2   [28/10 - 31/10] SQL Basics   (Keywords: Structured Query Language (SQL))
    • Introduction to Structured Query Language (SQL)
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 3.1 - Overview of SQL
      • Book Chapter (Optional): Database Systems - Design, Implementation, & Management by Carlos Coronel, Steven Morris (13th Ed., 2018), Chapter 7 - Introduction to SQL
    • Data Definition
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 3.2 - SQL Data Definition
    • Basic Structure and Operations
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 3.3 - Basic Structure of SQL Queries
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 3.2 - SQL Data Definition
    • Homework 1: TBA

  • Week 3   [04/11 - 07/11] Intermediate SQL  (Keywords: Join; Views; Integrity Constraints; Data Types; Schemas)
    • JOIN Expressions
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 4.1 - Join Expressions
      • External Tutorial: W3 Schools - SQL Joins
    • Views
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 4.2 - Views
      • External Tutorial: W3 Schools - SQL Views
    • Integrity Constraints
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 4.4 - Integrity Constraints
    • Data Types and Schemas
    • Homework 2: TBA

  • Week 4   [11/11 - 14/11] Advanced SQL + E-R Model  (Keywords: SQL Programming Interfaces; Functions; Procedures; Triggers)
    • Database Programming Interfaces
    • Functions and Procedures
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 5.2 - Functions and Procedures
    • Triggers
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 5.3 - Triggers
    • Entity-Relationship (E-R) Model
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 6.2 - The E-R Model
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 6.3 - Complex Attributes
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 6.4 - Mapping Cardinalities
    • Homework 3: TBA

    MIDTERM EXAM [11/11, Monday (16:15-18:00) @ CCT E1011 (TENTATIVE)]


  • Week 5   [18/11 - 21/11]   (Keywords: Relational Database Design; XML; JSON)
    • Relational Database Design
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 7 - Relational Database Design
    • Complex Data Types
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 8.1 - Semi-structured Data
      • Book Chapter (Optional): Database Systems - Design, Implementation, & Management by Carlos Coronel, Steven Morris (13th Ed., 2018), Chapter 15.3 - Extensible Markup Language (XML)
      • Book Chapter (Optional): Fundamentals of Database Systems by Ramez Elmasri, Shamkant B. Navathe (7th Ed., 2015), Chapter 13 - XML: Extensible Markup Language
      • External Tutorial (Optional): W3 Schools - XML Tutorial
      • External Tutorial: (Optional): W3 Schools - JSON Tutorial
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 8.2 - Object Orientation
      • Book Chapter (Optional): Fundamentals of Database Systems by Ramez Elmasri, Shamkant B. Navathe (7th Ed., 2015), Chapter 12 - Object and Object-Relational Databases
    • Homework 4: TBA

    REMINDER [21/11, Saturday]: Last day to withdraw with a W grade of second 7-week classes; Last day to change grading basis of second 7-week classes.    { Source: Academic Calendar }


  • Week 6   [25/11 - 28/11]   (Keywords: Physical Storage Systems; Data Storage Structures; Indexing)
    • Physical Storage Systems
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 12 - Physical Storage Systems
    • Storage Structures
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 13 - Data Storage Structures
    • Indexing
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 14 - Indexing
    • Homework 5: TBA

  • Week 7   [02/12 - 05/12]   (Keywords: Query Optimization; Concurrency Control; ; Recovery System)
    • Query Optimization
    • Concurrency Control
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 18 - Concurrency Control
      • Book Chapter (Optional): Database Systems - Design, Implementation, & Management by Carlos Coronel, Steven Morris (13th Ed., 2018), Chapter 10 - Transaction Management and Concurrency Control
    • Recovery System
      • Book Chapter: Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan (7th Ed., 2019), Chapter 19 - Recovery System

    FINAL EXAM [10/12, Tuesday (12:00-15:00) @ CCT E1011]    { Source: DKU Hub }



Grading

  • Homework: 20%
    • Mathematical, Conceptual, or Programming related
    • Submit on Canvas; 6 in total, the lowest score is dropped
  • Weekly Journal: 10% (x Class Attendance Ratio x Readiness Assurance Quiz Attendance Ratio)
    • Each week, write a page or so about what you have learned
    • Submit on Canvas; 2 points off for each missing journal, capped at 10
  • Midterm Exam: 20%
  • Final Exam: 30%
  • Group Project: 20%
    • Presentation (5%): Planning (3%), Content (2%)
    • Code (4%): Quality / Value (3.5%), Comments / Explanations / Sources (0.5%)
    • Report (10%): Motivation + Objective + Background (3%), Individual Contributions (2%), Analysis / Evaluation / Demo (3%), Writing Quality / Format (2%)
    • Peer Assessment (1%): Questions / Comments (0.8%), Writing Quality (0.2%)


Reference Courses



Other Books

Quick / Easy Reads: Python Programming: Python Programming for Data Science / Analytics: Data Visualization: Beyond the Course Scope - Big Data: Highly Relevant - Software Engineering / Development: Miscellaneous:
  • Metadata, Jeffrey Pomerantz (1st Edition), 2015, MIT Press


Other Materials / Resources