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.