COURSE COORDINATOR: Prof. Goce Trajcevski
REQUIRED TEXTBOOK: First Course in Database Systems, Jeffrey D. Ullman & Jennifer Widom, Prentice Hall, 2008, ISBN-10: 013600637X, ISBN-13: 9780136006374
OTHER REFERENCE TEXTBOOKS: - SELECT Lab Series: Projects for Microsoft Access 97, Koneman, Toliver & Johnson - Database Management Systems, R. Ramakhrishnan & J. Gehrke, McGraw Hill (3rd Edition)
COURSE GOALS: TThis course is an introduction to the use of database systems for the implementation of information systems. In this course, you will become acquainted with various data models and see what goes into database design. The first half of the course will largely be devoted to understanding the data models that are commonly used in designing databases. The second half of the course will be spent putting these ideas together and demonstrate their usage when implementing a particular information system. This course will include homework assignments, projects (large-scale database design and SQL queries), in-class quizzes, a midterm exam, and a final exam.
MAIN COURSE TOPICS:
- The Worlds of Database Systems – Introduction and Motivation;
- The Entity/Relationship Data Model;
- The Relational Data Model;
- Quality of Database Design and Normal Forms;
- Relational Algebra, Relational Calculus and SQL;
- Other “Potpourri” topics: other data models; www and databases; indexing; transactions and OLAP;
HOMEWORK ASSIGNMENTS and PROJECTS: Approximate load is 1 assignment every 1.5 weeks.
- Homework assignments: 10%
- Projects: 25%
- Quizzes: 20%
- One midterm exam 20%
- One final exam 25%
COURSE OUTCOMES: When a student completes this course, s/he should be able to:
- Develop a formal Entity-Relationship (ER) Model for the information-management needs of a particular enterprise;
- Develop a Relational Database model/schema that will correctly represent the ER model and, furthermore, improve the quality of the design by applying the normalization techniques.
- Implement the above in an existing Database Management System and be able to pose various queries to a given database instance.
- Discuss various issues (e.g., Integrity Constraints and Views management) of interest with the programmers and Database Administrators in a more qualified manner than an “ordinary” domain-expert.