Databases are essential to applications in a wide variety of domains, including finance, health care, commerce, and telecomunications. In fact, most applications that people use on a day-to-day bases are backed by databases. This course provides a practical introduction to database technology. By the end of this course, students will understand the fundamental concepts about database management systems, become familiar with commercial tools for the design and development of database applications, and be exposed to recent trends in database-like storage systems. Topics covered include modeling enterprise data with ER diagrams, the relational model, SQL, logical design with normalization, physical design, query execution, transaction processing, recovery, concurrency, online analytical processing. The latter part of the course will survery alternatives to traditional relational database systems, exploring tradeoffs and use-cases.
We rely on two textbooks:
Please send class-related questions to the Discussions Forum on Moodle (unless, of course, they concern private rather than technical or organizational issues).
35% for homework; 25% for the mid-term; 40% for the final exam.
I encourage you to collaborate on homework assignments. But you must write up and turn in your own answers. Also, you must clearly indicate who you collaborated with. If I detect any incidents of cheating, I will report them immediately to the department, and the assignment will be given a grade of 0.
Please be sure to regularly check this page for updates.
You may also find the following resources useful: