Duration
26h Th, 26h Pr, 25h Proj.
Number of credits
Lecturer
Language(s) of instruction
French language
Organisation and examination
Teaching in the second semester
Schedule
Units courses prerequisite and corequisite
Prerequisite or corequisite units are presented within each program
Learning unit contents
The course content is divided into 9 chapters organized into 3 parts.
Part 1: Introduction to Databases and Database Design
Chapter 01: Introduction and Entity-Relationship Model.
- Definition of a database and introduction to jargon.
- The entity-relationship model for representing a UoD (in a graphical way).
Chapter 02: The Relational Model and Relational Algebra
- The relational model as the theoretical basis of relational databases.
- A translation of the entity-relationship model into a relational model.
- Relational algebra as the query language of the relational model
- Definitions of update anomalies, functional dependencies and normal forms.
- Normalization process to avoid update anomalies.
Chapter 04: Relational Databases in Practice: Query and Update Languages
- Relational model and relational algebra in practice
- SQL Data Query Language (DQL) for querying data
- SQL Data Manipulation Language (DML) to manipulate data
- SQL Data Definition Language (DDL) to create the schemas.
- SQL Data Control Language (DCL) to manage users and privileges.
- Storage Devices and Redundant Array of Independent Disks (RAID) Configurations
- Approaches to storing data, as records, in files
- Find records in files using index files
- Comparison of different indexing techniques
- Query planning, query optimization, and query cost
- Defining transactions and concurrent access to databases
- SQL Transaction Control Language (TCL) to declare and manage transactions.
Learning outcomes of the learning unit
The objective of the course is the acquisition of the knowledge and the technical mastery necessary for the realization of computer systems centered on a database. At the end of the course, you will:
- Master the terminology and jargon related to (relational) databases,
- Be able to create a database on a small or medium scale,
- Be able to create an application using a database, and
- Have an in-depth knowledge of the characteristics of DBMSs.
This course contributes to the learning outcomes I.1, I.2, II.1, II.2, III.1, III.2, III.3, V.1, VI.1, VI.2, VII.1, VII.4, VII.6 of the BSc in engineering.
This course contributes to the learning outcomes I.1, I.2, II.1, II.2, III.1, III.2, III.3, V.1, VI.1, VI.2, VII.1, VII.4, VII.6 of the MSc in biomedical engineering.
Prerequisite knowledge and skills
Databases rely on many areas of computer science: formal logic, data structures, operating systems, programming languages, etc. To take this database course, it is imperative that you:
- Are proficient in Boolean algebra;
- Are proficient in using operating systems (e.g., using a terminal);
- Know about operating systems; and
- Are proficient in (procedural) programming.
The prerequisite or corequired learning units are presented within each program.
Planned learning activities and teaching methods
The database course organizes four key learning events, three of which are linked to theory, practice, and project hours.
Theory: For the theory, knowledge will be transmitted based on a lecture supported by slides. You also have access to alternatives based on the same principle of transmission: a reference book and video recordings of the lessons. Small debates or discussions are sporadically organized during the presentations to deepen the understanding of certain aspects. These debates can also be used to introduce a new topic in a chapter.
Practical work: Each session begins with a simple exercise entirely developed by the teaching team. We expect you to follow each of these steps and ask us questions if necessary. Then you will perform training exercises. These exercises are intended to train you in the use of the techniques seen in class. Some practice sessions give you an environment in which to test your solutions. The solutions to these exercises are made available to you after the session.
Project: The goal of this project is to design and implement a database and develop a web application that communicates with this database. The assistant and I are here to guide and support you. Unlike the exercises, where solutions are given, you will only be guided. Projects are realized in teams of three students. The project is divided into two parts.
- The first part begins in early March and ends about 3 weeks later, and consists of the realization of an entity-relationship model, the conversion to the relational model, and possibly normalization. This part will be done in a team of 3 students. Not only is the project more challenging (i.e., larger in size) than the exercises covered in class, but you will also gain hands-on experience in collaborative modeling. One of the biggest challenges in the field is making sure everyone agrees on a model and the meaning of the labels you choose for entities, relationships, and attributes.
- The second part begins after the deadline of the first part and ends at the beginning of May. Based on the work carried out in the first part, this involves the concrete creation of the database and its Web interface. An entity-relationship model and data set will be provided. This part will be done in a team of 3 students. While you receive sample code that interacts with another database, you will need to copy and adapt this code to the needs of the project and the database you need to implement. Some of these needs are simple, but others require integrating knowledge and skills acquired during theoretical and practical sessions. Tasks can be easily divided between you. You will work in a team because it allows you to understand and evaluate the work of others. The process of understanding and evaluating the work of others, and therefore collaborating towards a cohesive whole, is a vital skill in the industry.
- The first type of activity is the overall feedback on the projects (common errors, observations, etc.). The global feedback also includes statistics about the grades and the session invites you to ask questions or open the discussion.
- The second type of activity is training tests which are auto-evaluated (i.e., by you). These tests (not mandatory) prepare you for the exam. After this question, I share sample solutions and we discuss the errors you want to share. You are invited to discuss and correct any errors made. I explain how the solutions are evaluated and scored during the exam.
Mode of delivery (face to face, distance learning, hybrid learning)
2nd semester- face-to-face
Course materials and recommended or required readings
Platform(s) used for course materials:
- eCampus
- Microsoft Teams
Further information:
The syllabus is compulsory. Information about course organization, course content, course objectives and course assessment can be found on this resource.
Slides are a required resource. Each chapter is accompanied by a detailed and complete slideshow. It is possible to study this course using only the slides, but you are encouraged to combine this with class attendance or the lecture recordings. Face-to-face lessons or recordings explain again, or illustrate certain points from different angles.
For the project, there is a tutorial on using Git, Docker, PHP, HTML, and MySQL. This tutorial, available in the form of slides, is exhaustive enough to carry out your project.
Exercise materials are highly recommended. The theoretical sessions introduce examples and these examples correspond to the (types of) exercises that we will approach during the practical work. However, the exercises can introduce new elements. These may include new operators, more elaborate or difficult examples, technical details, or special cases. Solutions will be available after the exercises, but you are strongly encouraged to attend and review those in preparation for the exam. This exercise also prepares you for the realization of your project.
Past exam questions, sample exam questions and project rubrics are highly recommended. All of these resources are made available, in due course, on eCampus. Although these are discussed in class, you will need to consult them to get a concrete idea of the expectations.
The reference book is optional. "Silberschatz, Abraham, Henry F. Korth, and Shashank Sudarshan. Database system concepts. Ed. 7. New York: McGraw-Hill, 2019." or the previous edition, as we only cover database basics. While the course material developed for this course is primarily based on this book, the course material has introduced the topics in a different order and presented them differently. For example, the book uses schematic notation, which is uncommon in the industry. However, this book may be useful for students who wish to learn the material at their own pace, in English, or who wish to revisit chapters differently. Copies of this book are available at the library. The authors have also kindly provided learning materials based on this book on a dedicated webpage (https://www.db-book.com/).
Video recordings are optional. The individual chapters are divided into logical parts. For each part, a video recording is available on YouTube. Links to YouTube videos are available on eCampus under each chapter. These videos are an alternative to live lessons.
Additional references shared on eCampus are optional. For some chapters, there are links to resources and articles. These are intended to provide additional guidance or (historical) context for those interested.
MySQL documentation is highly recommended for the project. Although we cover many functions in the course, having the MySQL documentation handy can be useful for the project. You can complete the project without additional documentation, but the documentation describes a set of functions that may be useful. If an exam question were to rely on a function not covered in class, that function would be described in the statement.
Exam(s) in session
Any session
- In-person
written exam ( open-ended questions )
Other : Project
Further information:
Project grade (40%), written exam (60%).
Amongst the 40% for the project, the first part is worth 25% and the second part 75%.
This project is mandatory. A student who would not have submitted anything for either part will automatically obtain an absence grade (A) for the totality of the course.
Students who fail the first part of the project will receive a new assignment. Students who failed the second part of the project may submit a revised version.
The final grade will be determined using a weighted average of all evaluations. However, to be eligible for the weighted average calculation, students must attain a minimum grade of 8/20 on each assessment. Otherwise, the student's lowest assessment grade will be used as their final grade for the course.
Work placement(s)
Organisational remarks and main changes to the course
More information about this course can be found at eCampus.
Contacts
Lecturer: Christophe Debruyne