Database Research Group -- University of Michigan, Ann Arbor

Database Related Courses:


EECS484   EECS485   EECS584   EECS684

EECS484 : Database Management System
  EECS 484 provides basic introduction to relational database management systems (DBMSs). This course is designed to provide you with both an external and an internal view of relational DBMSs. Topics related to the external view will cover concepts that will allow you to use a relational DBMS. Topics related to the internal view will allow you to better understand how a relational DBMS works, making you more sophisticated (and perhaps higher paid) database users/administrators. The course has a group course project in which you will build a simple, but fairly complete, single-user relational database engine. Note, in this course you will not learn the details of how to use any specific commercial database system, or the intricacies of SQL programming. This course is designed to cover the fundamental database concepts and the implementation techniques that are used in relational database engines. Using the course project, you will actually build a few key components of a database engine. If you are interested in the details of SQL programming, or the operation of a specific commercial database system, you will be able to pick this up very easily after you have taken this course.

back to top

EECS485 : Web Database Systems
  This is a new course, aimed at advanced undergraduates, on the issues involved with deploying databases connected to the web. This course is not about database internals: it is about database design and use in a distributed context. A basic understanding of database operation will be assumed. EECS484 is a pre-requisite. If you have not taken 484, you may take this course only if you have extensive database programming experience and obtain the instructor's permission. This course is worth 4 units.
  This is an academically rigorous university course and not a skill-specific technical school course -- which means the class material will primarily discuss underlying concepts rather than the current hot tools. If you expect the class material to teach you how to use your favorite commercial product, you will be disappointed. On the other hand, armed with the conceptual understanding developed from this course, you ought not to have difficulty learning how to use any tools/languages of your choice.
  Approximately half the course grade will be for examinations that test the conceptual material learned in class. Note that the exams will test your understanding of fundamental concepts, not your knowledge of PHP or Javascript. Approximately half the course grade will be for a carefully designed sequence of programming assignments, most of which will be done in teams, leading to the construction of a feature-rich database backed website. To be able to complete these assignments, you will need to learn how to use at least the following: SQL (MySQL), PHP, Apache, HTTP and Javascript. None of these will be formally covered in lecture class. However, you can expect considerable support for you to learn these tools, in discussion sections and from your peers (except for SQL, which you are expected to know coming in). You will also need to learn XML, XQuery, and SOAP: but these will be covered in class.


back to top

EECS584 : Advanced Database Systems
  This is an advanced database course that will give you a good understanding of the pieces of a database system and what is involved in building one. I will also try to give you a feeling for the role of databases in today's computing infrastructure and how this has evolved. In particular, XML and the internet will be mentioned frequently. This is NOT a course on how to use databases, though you will arguably be a better user if you have an understanding of what is going on "under the hood". Prerequisite: EECS 484 or equivalent. Instructor's Comment: The course will assume that you are comfortable with basic database concepts. If you do not feel "on top of" the material in your 484 course, you are probably not going to manage in 584.

back to top

EECS684 : Current Topics in Database Systems
  Database systems have come along a long way since their inception in the 1970s. Database Management Systems (DBMSs) have been widely successful and are the heart of most information management system. However, there are a number of significant challenges that future DBMSs must meet if they are to continue playing the center role in information processing and management. We are on the verge of a new revolution in ubiquitous computing in which zillions of devices, ranging from small personal digital assistants (PDAs) to invisible embedded devices, will demand answers to queries under a wide range of system conditions. These devices will rely on a distributed backend infrastructure to deliver the query results. The data sets in the back-end systems are growing at astonishing rates, demanding scalable distributed data management techniques. Furthermore, the data sets are increasingly complex, and are not limited to the alphanumeric data types, that relational DBMS have proven so effective at managing. Database query processing and database storage techniques that exist today fall far short of meeting the demands of these future systems. What then are the techniques that will deliver this new world to us? This is the question that we will explore in this course. The course will focus primarily on query processing and query evaluation techniques that are likely to be applicable in mobile and distributed database environments of the future. Since most of the questions in this area are unanswered, this course will be very exploratory.

back to top

© 2007-2012 Database Research Group, University of Michigan, Ann Arbor, MI