Last modified 16 months ago Last modified on 06/10/16 14:07:51

CS122A/EECS116, Spring 2016: Introduction to Data Management

Lecture Tue/Thu 12:30 pm – 1:50 pm Schneiderman Lecture Hall, Room 100A
Discussion 1 WED 5:00 pm – 5:50 pm Steinhaus Hall, Room 128
Discussion 2 WED 6:00 pm – 6:50 pm Steinhaus Hall, Room 128
Discussion 3 WED 7:00 pm – 7:50 pm Steinhaus Hall, Room 128
Discussion 4 WED 8:00 pm – 8:50 pm Steinhaus Hall, Room 128


Name Email Hours Place
Chen Li (Instructor) chenli AT ics DOT uci DOT edu Tuesdays 2-3 pm DBH 2092
Abdulrahman Abdulhamid Alsaudi alsaudia AT uci DOT edu Fridays 2 - 3 pm DBH 2081
Taewoo Kim taewok2 AT ics DOT uci DOT edu Thursdays 2 - 3 pm DBH 2066
Niranjan Uma Naresh un.niranjan AT uci DOT edu Wednesdays 12 - 1 pm DBH 4243
Xikui Wang xikuiw AT uci DOT edu Mondays 1 - 2 pm DBH 2068

Online Discussion

  • Group Signup Sheet
  • Piazza :
    • Please use Piazza properly. It's a place for students to exchange ideas. Don't post "easy" or "random" questions without much thinking.
    • To encourage students to actively participate in Piazza discussions and provide high-quality answers, we will select two students with the best Piazza performance. Each student will get 2% extra credits in the overall scores.


Date Topic Notes Reading
03/29/16, Tu Hello World and Introduction PDF01, PPT01 Ch. 1
03/31/16, Th Introduction, ER Model I PDF02, PPT02 Ch. 2
04/05/16, Tu E-R Model II PDF03, PPT03 Ch. 2
04/07/16, Th Intro to Relational PDF04, PPT04 Ch. 3
04/12/16, Tu ER-to-Relational PDF05, PPT05 Ch. 3
04/14/16, Th Relational Design (I) PDF06, PPT06 Ch. 19.1-19.2
04/19/16, Tu Relational Algebra (I) PDF07, PPT07 Ch. 4.1-4.2
04/21/16, Th "RelaX" service, SQL (1): Basic SPJ PDF08, PPT08 Ch. 3.4, 5.1-5.3
04/26/16, Tu SQL (2): Nested Queries, Aggregation, Grouping PDF09, PPT09 Ch. 5.4-5.5
04/28/16, Th In-class midterm
05/03/16, Tu SQL (3): Null, Outer Joins, CRUD, ICs PDF10, PPT10 Ch. 5.5-5.7
05/05/16, Th SQL (4): Triggers, Views, Access Control PDF11, PPT11 Ch. 3.3, 3.6, 5.7-5.9, 21.1-21.3
05/10/16, Tu Relational Design Theory (1) PDF12, PPT12 Ch. 19.1-19.6
05/12/16, Th Relational Design Theory (2) PDF13, PPT13 Ch. 19.1-19.6
05/17/16, Tu Ditto Ditto Ditto
05/19/16, Th Indexing PDF14, PPT14 Ch. 9.1, 8.1-8.3, 10.1, 10.3
05/24/16, Tu Ditto Ditto Ditto
05/26/16, Th Ditto Ditto, HW5-Q3 Ditto
05/31/16, Tu Physical DB Design PDF15, PPT15 Ch. 8.5, 20.1-20.7
06/02/16, Th AsterixDB; Review PDF16, PPT16

Course Objectives

This course provides students with an introduction to the design of databases and the use of database management systems in support of applications. It covers the entity relationship (E/R) approach to database design. It then covers the relational data model, mapping of E/R designs to relations, relational database design principles, abstract query languages such as the relational algebra and relational calculus, and the industry-standard query language, SQL. Students will gain exposure to how relational database management systems are used to manage an actual database. Time permitting, the course will also touch lightly on advanced database management topics.

This course is aimed at database design and the use of database management systems in implementing database applications. It feeds into a follow-on project course, CS122B, whose focus is data-centric Web applications. The CS122A/B course sequence does NOT cover the internals of database systems; that material is covered in the undergraduate course CS122C (co-listed as CS222) and its graduate-level follow-on course CS223. (The course textbook also delves further into that material for those students who are curious about what goes on under the hood.) Interested students are strongly encouraged to take one, two, or all of these courses. CS122B and CS122C/CS222 are independent, and each requires only CS122A as their required database background.


Students should have programming experiences in Java, C#, or C++.


Database Management Systems (3rd Edition) by Raghu Ramakrishnan and Johannes Gehrke, a.k.a. "the Cow book".

Exam Schedule

Midterm Exam

Time: April 28, Thursday, in class. Closed books, closed notes.

Here is a sample midterm with sample solutions. Note that topics covered in each quarter might vary. So you may find some questions in the sample midterm not covered during this quarter. So, please conform to this quarter's lectures.

Solution: midterm solution

Final Exam

Time: Monday, Jun 6, 1:30 - 3:30 p.m. Place: Schneiderman Lecture Hall, Room 100A.

Solution: final solution

Exams, Assignments, and Grading

Grading Criteria

Homework: 40%
Quizzes: 5%
Midterm: 25%
Final: 29%
Participation in EEE Class Evaluation: 1%


Homework assignments must be turned in by the assigned due dates/times on EEE.

  • The official due date for each assignment is listed here on the wiki, and it is expected that students will turn the work in on or before that date.
  • We will offer a 24-hour "grace period" for each assignment, and will therefore accept submissions turned in within 24 hours of the due date, with a 10-point penalty. It's 10 points, not 10 percent. For example, if your late project got 87 points, then your real score will be 87-10=77 points. Notice that EEE will only keep the latest submission. If so you submit or resubmit the assignment after the deadline, it will be considered as a late submission.
  • Late assignments will NOT be accepted beyond the grace period, so do always aim to be on time! Please don't even ask, as this is what the 1-day grace period is intended for.

Discussion Sessions

There will also be short weekly quizzes in the discussion session to give you further practice with the course material. Those will count very little towards your final grade. They are mostly a discussion session participation score, and they're really just there for your benefit to give you another opportunity to check your understanding of things. You will get the full credit for each discussion session if you attend it, or 0 if you are absent.

Grade Change Policy

For all of the graded assignments as well as the midterm exam, if you disagree with the grading, you may discuss your concerns with the relevant staff member within 1 week after they are returned. After that, all grades will be considered final.

Working in Groups

Working together on the assignments is strongly encouraged. You should form groups of 3 (three) students and submit one homework solution per group making sure that the names of all the group members appear on the first page. Work in groups will be graded on a per group basis.

Students may leave their existing group in the quarter. But they cannot join any new group after the end of the second week. For each group splitting, the group members should tell the instructor at least 1 week before the corresponding project/homework deadline.

Policy on Academic Honesty

All students will be expected to adhere to the UCI and ICS Academic Honesty policies (see and to read their details). Any student found to be involved in cheating or aiding others in doing so will be academically prosecuted to the maximum extent possible: that means you will fail this course. Just say no to cheating!

DBMS Platform

This class will use an industrial-strength relational database management system (RDBMS) for the hands-on homework assignments, namely MySQL.
For information on how to set up and use MySQL, please see: [MySQL Installation Guide for Mac], [MySQL Installation Guide for Windows], [Sample SQL Script used in the guide].
For information on how to use MySQL Command-Line Tool, please see: [MySQL Command-Line Tool Guide for Mac], [MySQL Command-Line Tool Guide for Windows] [Sample SQL Script used in the guide].
For further information on how to use the DBMS, please go here:

Homework Assignments

Due Date Topic Assignment Solution Grading Notes TA/Reader to contact
April 14, 11:45 pm E/R Modeling [HW 1] [Template:PDF] [Template:PPT] [HW 1 Solution] [HW1 Grading Notes] Taewoo Kim
April 21, 11:45 pm E/R and Relational Translation [HW 2] [Template:PDF] [HW 2 Solution] Abdulrahman Alsaudi
April 28, 11:45 pm Relational Algebra and SQL query [HW 3] [Template:PDF] [HW3 Instruction] [HW 3 Solution] Xikui Wang
May 12, 11:45 pm SQL (Hands-on) [HW 4] [Template:TXT] [HW4 Instruction] [HW4 SQL script] [HW 4 Solution] Taewoo Kim
May 19, 11:45 pm More SQL (Hands-on) [HW 5] [Template:TXT] [HW5 Instruction] [HW5 SQL script] [HW 5 Solution] Abdulrahman Alsaudi
May 26, 11:45 pm Relational Design Theory [HW 6] [Template:DOC] [HW 6 Solution] Xikui Wang
Jun 2, 11:45 pm Indexing [HW 7] [Template:PDF] [HW7 SQL script] [HW 7 Solution] Taewoo Kim

Discussion Section Quizzes

Week Topic Quiz Solution
Week 1 Academic honesty [Quiz 1] [Solution 1]
Week 2 ER diagram basics [Quiz 2] [Solution 2]
Week 3 No quiz No quiz No quiz
Week 4 Translate ER to SQL [Quiz 3] [Solution 3]
Week 5 Relational algebra and SQL [Quiz 4] [Solution 4]
Week 6 Joins, CRUD [Quiz 5] [Solution 5]
Week 7 Views, triggers, FD [Quiz 6] [Solution 6]
Week 8 Normal forms [Quiz 7] [Solution 7]
Week 9 Decomposition [Quiz 8] [Solution 8]
Week 10 Indexing [Quiz 9] [Solution 9]