In this course students learn the basic concepts of semantic data modelling and design and implementation of relational databases. NoSQL databases are also introduced in brief at the end of this course.
Topics and Schedule
- Database Approach and Database Systems (3 Sessions)
- Course introduction, Definition of database, Characteristics of the database approaches, Components of database systems, Architectures of database systems (centralized, client-server, distributed), Relational database management systems (RDBMS), OLTP
- Semantic Data Modelling (4 Sessions)
- Entity, Attribute, Relationship, ER and EER diagrams, Specialization and generalization, Aggregation, Characteristics of semantic data modelling
- Principles of Database Design (2 Sessions)
- Introduction to tabular structure and tabular databases, Top-down database design approach (from ER and EER to relational/tabular mapping)
- Implementation and Basic SQL (3 Sessions)
- Introduction to data definition (DDL) and data control (DCL) commands, DML commands (INSERT, DELETE, UPDATE), Transactions, Parameterized queries
- ANSI Database Architecture (3 Sessions)
- ANSI three-schema architecture, conceptual view, Internal view, Indexes in internal view (B-tree, B+-tree, Hash), External view and definition of VIEW, Operations in external view, Data independency (physical and logical)
- Relational Data Model (2 Sessions)
- Relation, Key in relational model, relational database design concepts
- Relational Database Constraints (2 Sessions)
- C1 and C2 integrity rules, User-defined integrity constraints, Specifying constraints as Assertions and actions as Triggers
- Relational Operations (3 Sessions)
- Relational Algebra, Relational Calculus
- Normalization (3 Sessions)
- Dependency theory, Normalization levels, Decomposition of relations
- Database Security (1 Session)
- User Management, Authentication, Access Control, Data Encryption
- NoSQL Databases and Big Data Stores (2 Sessions)
- Applications of NoSQL databases, CAP theorem, Key-value stores, Column-based databases, Graph databases, Document-based systems
- [Optional] Introduction to Data Warehouses (1 Session)
- Introduction to data warehouses, OLAP
- Exams: Midterm (30%), Final (35%)
- Assignments (17%)
- Project (13%)
- Quiz and Class Activities (5%)
- Elmasri and S. Navathe, Fundamentals of Database Systems, 7th ed. Pearson, 2015.
- Silberschatz, H.F. Korth, and S. Sudarshan, Database System Concepts, 6th ed. McGraw-Hill, 2010.
- J. Date, An Introduction to Database Systems, 8th ed. Pearson, 2003.
- Connolly and C. Begg, Database Systems, 6th ed. Pearson, 2014.
- Ramakrishnan and J. Gehrke, Database Management Systems, 4th ed. McGraw-Hill, 2014.