Instructor: Feifei Li
[Overview] [Syllabus] [Textbook] [Schedule] [Slides] [Written Assignments] [Project] [YouTube Link] [Additional Resources] [Contact]
Undergraduate-level introduction course to database systems and applications using databases. Introduce the ER model and its mapping to the relational data model. Study the logical language in the relational data model and its relationship to the practical relational query language: SQL. Examine in depth how to design and implement a database application. Understand how various programs are able to connect to the database through ODBC. Briefly cover indexing and hashing. Introduce the concept of transactions. Database integrity and security issues will also be briefly discussed. An important related topic is the social and ethical issues with data management. A semester-long project will build a web-based database system (e.g., an online bookstore) starting with a customer specification. In summary, the main focus of course is about the principles of designing and developing applications using the relational database system. Lastly, if schedule allows, we will also expand the discussion to NoSQL systems. In particular, we will discuss MongoDB as an example.
Syllabus for the course in PDF format:
Database Management System by R. Ramakrishnan and J. Gehrke, 3rd Edition. Details and additional material supporting this book could be found here.Complementary Reading: Database Systems, The Complete Book, 2nd Edition. Details could be found here.
Lecture: Monday, Wednesday, 11:50AM to 13:10PM, MEK 3550.
Office hour: Monday 2pm-3:30pm; Wednesday 2pm-3:30pm.
TA Office hour:
Rui Dai, Monday, 9:30-11:30am.
Elijah Grubb, Tuesday, 11am-1pm
Guineng Zheng, Wednesday, 3-5pm
Husan Lee, Thursday, 3-5pm
Dyllon Gagnier, Friday, 12-2:00pm
TA email address: email@example.com
Exam: Midterm: Wed, March 8; Final: Wednesday, May 3, 10:30am to 12:30pm.
Detailed weekly schedule can be found in the course syllabus.
Slides will be posted before each lecture. Updates to slides may be made after
Lecture 1: Data Modelling: ER Diagram
Lecture 2: Data Modelling: Relational Model
Lecture 3: ER-Diagram to Relational Model
Lecture 4: Relational Algebra
Lecture 5: SQL
Lecture 6: Functional Dependency and Normalization
Lecture 7: Transaction
Lecture 8: Concurrency Control
Lecture 9: Disk, Buffer, and Files
Lecture 10: Access methods
Lecture 11: MapReduce and Spark
Lecture 13: NoSQL
1. Assignment will be posted after it is announced in the class.
2. Solution will be posted once the assignment due date is passed. You can get the solutions by following the link below.
3. To work on more excises on your own, the solutions to all odd-numbered questions in the textbook are available here.
Database Research: ACM SIGMOD VLDB IEEE ICDE
Database Products: ORACLE Microsoft SQL Server IBM DB2 PostgreSQL MySQL MongoDB
Elijah Lloyd Grubb (half time TA)
Dyllon Gagnier (half time TA)
Rui Dai (TA)
Guineng Zheng (TM)
Hsuan Lee (TA)