DSC 100: Introduction to Data Management


Databases are at the heart of modern commercial application development. Their use extends beyond this to many other environments and domains where large amounts of data must be stored for efficient update, retrieval, and analysis. The purpose of this course is to provide a comprehensive introduction to the use of management systems for applications. Some topics covered are the following: data models, query languages, query evaluation and optimisation, database design and transactions.

Instructional team:


Babak Salimi, bsalimi@ucsd.edu

Course Assistants:

Patil, Chaitanya Sharadchandra, cpatil@ucsd.edu


The lecture for this class will be ASYNCHRONOUS and discussion sections will be SYNCHRONOUS.


Wednesdays 4:00 pm to 4:50 pm

Office Hours:

Mondays 2:00 PM to 3:00 PM (Babak)

Fridays 4:00 PM to 5:00 PM (Chaitanya)

Zoom Meetings:

Links to the Zoom meetings will appear on the course’s Canvas page.

Piazza: link (Requires access code posted on Canvas)

Have questions? Please email both Babak Salimi (bsalimi@ucsd.edu) and one of the TAs for questions on logistics. All other questions SHOULD be discussed on Piazza.


(subject to change)

Week Description Discussions Assignments / Remarks Lectures Optional Reading
1 Intro, Data models, SQL Sqlite practice Source, Recording   Slides and Recordings Sec. 2.1, 2.2, 2.3
2 Join and Aggregates in SQL SQL practice Source, Recording WQ1 due: Introduction, Data Models, and Simple SQL
HW1 due: Sqlite
Slides and recordings Sec. 6.1, 6.2
3 Advanced SQL Azure and Advanced SQL practice Source, Recording HW2 due: Basic SQL
WQ2 due: SQL Aggregates
Slides and recordings  
4 Relational Algebra     Slides and recordings  
5 Midterm Exam practice Recording HW3 due: Advanced SQL    
6 Query Evaluation, Basics of Data Storage and Indexes Midterm solutions Recording   Slides and recordings  
7 Cost Estimation
NoSQL Databases
Indexes and Cost Estimation Source Recording   Slides and recordings  
8 Conceptual Design Homework Solutions   Slides and recordings Sec. 4.1, 4.6
9 BCNF, Transactions Conseuptual Design practice Source Recording WQ4 due: RA and Conceptual Design
HW4 due: Conceptual Design
Slides and recordings  
10 Transactions Transactions practice: Source Recording final Exam:   Slides and recordings  


(subject to change)

Homework (60%): There will be weekly homeworks. They will be based on the last 1-2 lectures. They are of two types:

  1. Written problem-solving and programming assignments (50%):    Start early and allocate enough time to solve these problems!
  2. Gradiance exercises (10%):    Gradiance is an online service pioneered by one of the authors of the textbook, Prof. Jeffrey Ullman at Stanford. One of the best features of Gradiance is that you are permitted to test yourself on a particular topic as many times as you like. You receive immediate feedback for each attempt, which avoids the shortcoming of the traditional submit-and-then-wait-for-grades assignments where one error in understanding can permeate solutions to multiple problems and does not get rectified until much later. We encourage you to continue testing on each topic until you complete the part of the assignment with a 100% score. The highest score will be recorded. The questions will be the same in every attempt, but the answer choices will be selected at random.
  3. Midterm (18%) and final  (18%): Details would be posted later.
  4. Attendance in Discussion Sessions (4%)
  5. Extra Credit:

   - Some howmeworks have extra credit questions.

   - Large number of good answers on Piazza.  

Resources / Communication / Toolkits:

Book: Although a textbook is not required in the course, the following textbook is optional and recommended. Lecture slides and recorded videos would be sufficient for this class.

Database Systems: The Complete Book, by Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Widom. 2nd Edition. Prentice Hall. 2008.

Canvas: All weekly homework assignments should be turned in via Canvas.

Gradescope: We will use Gradescope for submission and grading of exams.

Communication and Piazza:  All important announcements will be sent through both Piazza and Canvas.

All questions that may be of general interest to the class should be directed to Piazza. You will get your questions answered faster on Piazza than via personal emails to the instructional team, because Piazza is monitored closely by everybody in the class, not just the course staff. You are highly encouraged to answer each others’ questions on Piazza (you will get extra credit for # of good answers on Piazza!) and the instructional team would endorse/add to those answers.