CS 4400 Introduction to Database Systems
Instructor
- Christopher Simpkins, simpkins@cc.gatech.edu
IMPORTANT: You must email me from your official Georgia Tech email address, that is, the email address listed for you in the official course roster. I use your official email address to create email filters. Please understand that professors are slow or unresponsive to email because we are drowning in email. If I don’t respond within 48 hours just send me a gentle reminder.
Course Description
We introduce the fundamental concepts necessary for the design and use of modern database systems in today’s large scale enterprise applications. We examine the concepts in the order that we typically encounter them in the actual database design process. We start with the problem of conceptually representing data that is to be stored in a database. From there, we see how the data in a conceptual data model can be converted to a database specific model (e.g., the relational data model). We also discuss various forms for relations that possess good properties. We see how to use the relational database language SQL to define the relations and to write SQL statements to insert, delete, retrieve and update the data. We also examine some of the fundamental storage structures and indexing schemes that are used in relational database systems. We end the course with a discussion of some advanced topics in the database management area.
Learning Outcomes
By the end of this course students will be able to:
- list and explain basic concepts - data independence, 3 level database architecture, database system components
- explain conceptual database level and the Entity-Relationship Model
- design a database using DBMS Design Methodology
- model data using the Relational Data Model, relational Algebra and relational Calculus
- write correct data definition and data manipulation queries in SQL Query Language
- map concepts from ER Model to Relational Model
- design relational database schemas with Normal Forms using Functional Dependencies
- use a professional relational database managemenst system such as MySQL, SQL queries that are compatiple with the RDMBS system, and write database access programs in an application programming language such as PHP
- explain internal database level storage structures, files and indexing
Requirements
Grading
- Exams: 60%
-
Project:
- Phase I: 10%
- Phase II 10%
- Phase III, Heavy option: 20%
- Phase III, Light option: 10%
- Final Exam : 10%
Note: the final exam is only for those who choose to do the light option of the project in Phase III. (Those who do the heavy option in Phase III CANNOT take the Final).
Grade Cutoffs: A: 90, B: 80, C: 70, D: 60
Assignments
One semester-long project completed in teams: You will design and implement a database application using the MySQL/PHP relational database system available via CoC (College of Computing). The Project must be done in groups of 3 or 4 students. Groups of more than 4 or less than 3 will not be allowed. You are allowed to form groups across the two sections (A & B) of the class. We will follow a typical database design methodology for this project. Notes describing the methodology are available via the class web page on T-Square. The project will consist of 3 phases (deliverables) as well as a final demonstration to the TA. Phase I and Phase II of the project are each worth 10% credit. Phase III of the project is worth 10% credit without the GUI – implemented as queries only, and 20% credit with GUI, so that it runs as a full-fledged application. All members of a group get the same grade for each phase of the project. If a member of a group does not carry his/her weight (in terms of an equitable distribution of work), then the group may kick out that member at the end of phase I or Phase II, only. The course professors and head TA should be notified of this immediately when this takes place.
Project Peer Evaluation: For each phase of the project, each group member will submit a peer evaluation of the other group members. This evaluation will be taken into account when determining the grade for each group member. If all group members do an equal amount of work then each will receive the same grade. On the other hand, if one group member does not do an equal share of the work, then that member’s grade will be adjusted (lowered) as a percentage of the group’s overall grade. More details about the peer evaluation will be made available with the project.
Academic Integrity and Collaboration
We expect academic honor and integrity from students. Please study and follow the academic honor code of Georgia Tech: http://www.honor.gatech.edu/content/2/the-honor-code . You may collaborate on the project (see below). You may not collaborate on in-class exercises or exams.
Rules For Project Collaboration
Students within each project group are strongly encouraged to split each phase of the project into smaller tasks and collaborate closely with each other to accomplish that phase. No collaboration of any kind whatsoever is allowed between students in different project groups. Any violation of this policy will be reported to the Dean of Students without exception.
Due Dates, Late Work, and Missed Work
-
Programming exercises are due by the end of class. Homework assignments are due at 23:55 on the assignment’s due date. Multiple resubmissions are allowed, so submit early and often so you aren’t in a rush on the due date. Late submissions receive a 0.
-
Make-up exams are held at 11:00 on the Tuesday following the exam, unless otherwise announced. If the make-up exam room is not announced before the make-up day, report to the TA lab. Make-up exams are only given to students with special circumstances such as serious illness, hospitalization, death in the family, judicial procedures, military service, or official school functions. Provide us with a copy of your letter from the registrar in advance for official school functions. For other excused absences you must provide documentation to the Dean of Students’s office (in the “flag” building near the ice cream cone statue) within one week of your return from illness/activity. The Dean of Students’s office will verifiy your excuse and send your instructors a notice. The Dean of Student’s office will also send instructors a request for flexibility in cases which don’t fall within the official excuesed absences listed above but warrant considertation. An any case, if you believe you should be excused from a scheduled exam and don’t have an excuse from the Registrar, see someone in the Dean of Students’s office. Excusal from coursework or make-up opportunities are granted at the sole discretion of your instructor.
Grade contest
To contest any grade you must submit an official regrade form within one week of the assignment’s original return date. The original return date is the date the exam was first made available for students to pick up or the grade was posted online in the case of homework assignments and programming exercises.
Class Participation
Lecture and workshop/recitation attendance is required and assumed.
Course Outline
- Week 1 - Week 3: DB Concepts & ER/EER Model
- Week 4 - Week 5: Relations, Algebra & Calculus, and QBE
- Week 6 - Week 9: SQL and ER to Relational Mapping
- Week 10 - Week 11: Normalization and Physical Design
Prerequisites
At least one of:
- Undergraduate Semester level CS 1301 Minimum Grade of C
- Undergraduate Semester level CS 1315 Minimum Grade of C
- Undergraduate Semester level CS 1321 Minimum Grade of C
- Undergraduate Semester level CS 1371 Minimum Grade of C
Course Materials
-
Required Text: Fundamentals of Database Systems, 7th edition, Elmasri & Navathe, Addison-Wesley, 2015. [Sixth edition is OK to use. Please make sure to consult the right chapters. See Correspondence Table below.]
Topic 7ed 6ed Databases and Users 1 1 Database Concepts 2 2 ER Models 3 7 EER Models 4 8 Relational Data Model 5 3 Basic SQL 6 4 Advanced SQL 7 5 Relational Algebra and Calculus 8 6 EER-Relational Mapping 9 9 Functional Dependencies and Normal Forms 14 15 Database Design Algorithms 15 16 Storage Structures 16 17 Indexing Structures 17 18 - Chapter by Chapter Slides for Textbook: Posted on Canvas.
- Database Design Methodology Notes (by Prof. Leo Mark): Posted on T-Square.
- MySQL and PHP Documentation: Posted online.
- Sample Exams: Posted online.
- Class Project: Posted online.
Non-Discrimination
The Institute does not discriminate against individuals on the basis of race, color, religion, sex, national origin, age, disability, sexual orientation, gender identity, or veteran status in the administration of admissions policies, educational policies, employment policies, or any other Institute governed programs and activities. The Institute’s equal opportunity and non-discrimination policy applies to every member of the Institute community.
For more details see http://www.policylibrary.gatech.edu/policy-nondiscrimination-and-affirmative-action