CentraleSupélecDépartement informatique
Plateau de Moulon
3 rue Joliot-Curie
F-91192 Gif-sur-Yvette cedex
1CC1000 - Information Systems and Programming - Homework: Conceptual model of a database

Context

In the last three labs of this course, we'll develop a Python application named PistusResa to manage the registrations of students to an event called Pistus. PistusResa will store all its data in a relational database.

Database description

The database will store information about students registering to Pistus.

Students are identified by a number, and have a first and family name, gender and email addresses (a student can have more than one).

A student may belong to one or more associations; each association has a name and a textual description of its activities. Two associations cannot have the same name. Any student has a specific role in an association (e.g., president, secretary, member).

When a student registers to Pistus, the year of the event, the registration and the payment date are stored, as well as the registration fee. The registration and payment date might be different. Importantly, a student can participate to different Pistus editions in different years, but cannot register twice for the same edition.

Only authorized users can use the application PistusResa to access and modify the data. Authorized users have a unique username and a password. Usernames and passwords are also stored in the database.

Objective

Conceive a conceptual model of this database. Draw the conceptual model with an entity-relationship (ER) diagram.

👉 If you need to learn more about conceptual models and ER diagrams, click here.

How to proceed

You can draw your model on a paper. If you want, you can also draw the model in Visual Studio Code with the extension bigER. If you have followed the VS code installation instructions on Edunao, the extension should already be installed.

Instructions on how to use the extension are available here.

Few remarks on the extension bigER:

  • You can add attributes to a relationship, these will only be visible when you hover over the relationship.
  • You cannot export an ER diagram to an image. The only option is to take a screenshot.