COURSE NUMBER AND TITLE: COP 5725, Database Management Systems OVERVIEW: This is a graduate-level introductory course on the concepts and principles of database management systems. From a theoretical point of view, this course covers the essential principles for the design, analysis, and use of computerized database systems. Besides, a few implementation aspects are considered. The design and techniques of conceptual modeling, database modeling, database system architecture, and user/program interfaces are presented in a unified way. Specifically, topics covered during the course of the semester include: - the entity relationship (ER) model - conceptual database design and modeling - the relational data model - relational algebra - SQL query language - logical database design incl. functional dependencies and normalization - database application programming - object-relational databases - fundamentals of query processing From a practical point of view, students learn to deal with a commercial database system (Oracle 10g). They learn how to apply theoretically understood concepts in a professional database environment. In a larger web-based database application project, they practice how to formulate ad hoc queries or how to write application programs in a database context. They also learn the complete process from devising a conceptual database design up to its transformation into the database schema of a concrete database management system. By providing a balanced view of "theory" and "practice," the material covered should allow the student to understand and use practical database systems. The student is provided with a basic understanding of the issues and problems involved in database system development, a knowledge of currently practical techniques for satisfying the needs of a database system, and an indication of the current research approaches that are likely to provide a basis for tomorrow's systems. PREREQUISITES: Discrete math (COT3100); familiarity with programming using a high-level language; familiarity with or willingness to learn a web-based programming language (e.g., PHP, CGI, Java applets) for database application programming; application for an Oracle 10g user account. TEXTBOOK: FUNDAMENTALS OF DATABASE SYSTEMS by Elmasri and Navathe, Addison Wesley, 5th edition, ISBN: 0321369572. EXAMINATIONS AND GRADES: Your course grade will be based on three exams, five homework assignments, and a database project. WORKLOAD/COURSE DIFFICULTY: This class leverages simple concepts (like sets, functions, relations) of discrete mathematics to explain fundamental database concepts. Regarding the database project, which is done in a team, students who take this course often comment that the project is very interesting but also challenging and time consuming.