Course Syllabus


     1. Introduction: File systems versus a DBMS. Characteristics and implications of the database approach.
     2. Databases and database users
     3. Databases system concepts and architecture: Data models, schemas and instances. DBMS architecture and data independence. Database languages and interfaces. The database system environment.
     4. Data Modeling: The entity-relationship (ER) model. Entity types, entity sets, attributes and keys. Relationships, relationship types, roles and structural constraints. Weak entity types.
     5. Enhanced ER modeling (EER).
     6. Modeling of Union Types using categories.
     7. The Relational data model: Concepts, constraints and schemas.
     8. Relational algebra operations. Additional relational operations.
     9. SQL: Data definition, constraints, schema, queries and operations in SQL.
     10. Storage organizations: RAID technology. Buffering of blocks. Placing file records on disk. File organizations. Index Structures for Files.

   11. The Relational database design: ER-to-Relational Mapping. Mapping EER model concepts to relations. The tuple relational calculus.
   12. Functional dependencies and normalization: Functional dependencies. Normal forms. Second and third normal forms. Boyce-Codd normal form.
   13. Practice of database design and tuning: The role of information systems in organizations. The database design process. Physical database design and its tuning in relational databases. Database tuning in relational systems. Automated design tools.