This is an introductory course on databases comprising theoretical treatment and practice & experience exercises. The objective in the theoretical part is to introduce students to the central themes of database systems with emphasis on the following:
- Data modelling, database management systems, architecture of database management systems
- Conceptual data modelling using the Entity-Relationship model and the extended Entity-Relationship model as a tool for database design
- Logical database design using the relational model of data (with emphasis on primitive constructs, integrity constraints and data manipulation languages such as SQL
Students need not attend any lectures for the theory of the course. Instead, they can follow the instructions and material uploaded in the eClass course documents. Should the need arise students can arrange meetings with the instructor (either face-to-face or virtual) to assess any issues.
Practice & experience exercises seek to allow students to gain hands-on experience with the analysis and design of databases. This is achieved through a suitable mini-project which is analyzed, designed and implemented using an established relational technology (such as PostgreSQL). Typically, the mini-project is executed in phases including (a) data modeling using ER- models (b) relational database implementation using PostgreSQL (c) querying using SQL. Detailed instructions will be provided through eClass.
Specifically, with regards to the course and the way it is conducted for ERASMUS students the following may be found useful:
Typically, I will announce different mini-projects, for ERASMUS students to choose. These mini-projects do not have any overlaping activities. The student's involvement in such a mini-project will entail:
- Requirements analysis
- Entity - Relationship (ER) data modelling (basic version and extended version)
- Relational schema design
- Questions to be formulated as SQL queries on the relational schema
At the end of the semester students submit:
- Powerpoint presentation detailing their data modelling work (this will be presented in class and commented by myself)
- Relational schema resulting from the submitted ER model)
- Postgres tables with full details (primary keys, integrity constraints, etc.)
- Script with SQL queries answering specific questions
The final assessment is based on three criteria:
- Can the student build a correct ER data model for a given problem domain?
- Can you transform the ER model into a correct relational schema (following the directives of the relational model of data)?
- Can you formulate basic SQL queries?