Schéma relationnel de la base de données INSCRIP
(Adaptation d'un document produit par Yves Marcoux, 2007)
Remarque :
La base de données INSCRIP sera utilisée comme exemple tout au long de la session. Son schéma relationnel permet de bien en comprendre les caractéristiques.
La base de données INSCRIP sera incluse dans votre compte individuel sur MySQL. Elle est aussi disponible en téléchargement [ZIP] au cas où vous auriez besoin de l'importer à nouveau dans votre compte.
Dans le cas d'INSCRIP, la section Exemples de contenus valides ne présente pas seulement des exemples de contenus valides, mais bien le contenu complet de la base de données. Cela permet entre autres de contre-vérifier facilement les résultats obtenus par une requête SQL.
Les noms des tables et des champs sont mis en majuscules pour plus facilement les repérer dans le texte. Lors de l'implantation dans le SGBD, ils seront en minuscules.
Contexte
INSCRIP est une base de données relationnelle servant à gérer les inscriptions et les notes des étudiant.e.s au Collège XYZ. Accessible en consultation pour les étudiant.e.s, elle sert aussi de référence pour les aider à faire leur choix de cours. La base de données est sous la responsabilité administrative du Secrétariat général du Collège. Rappelons qu'au Collège XYZ, un cours est pris en charge par un.e seul.e professeur.e (chaque cours valant 3 crédits). Chaque professeur.e est responsable d'un maximum de 2 cours par session et un.e étudiant.e ne peut suivre plus de 4 cours par session, cours se donnant à des plages horaire différentes. La base de données sert à gérer les inscriptions d'une seule session académique à la fois (elle est ainsi vidée au début de chaque session).
Structure globale de la base de données
Le diagramme entités-relations d'INSCRIP présente trois entités reliées entre elles par deux relations.
Il découle du diagramme entités-relations d'INSCRIP (figure 1) que cette dernière est constituée de quatre tables :
La table ETUD contient une ligne par étudiant.e admis.e au Collège. Chaque étudiant.e est identifié.e par un numéro exclusif (NO_ETUD) attribué par le Secrétariat lors de l'admission, et inscrit sur sa carte d'étudiant.e.
La table PROF contient une ligne par professeur.e œuvrant au Collège. Chaque professeur.e est identifié.e par un numéro exclusif (NO_PROF) attribué par le Secrétariat lors de l'engagement, et inscrit sur sa carte d'employé.e. Une courte biographie est souvent fournie afin d'aider les étudiant.e.s dans leur choix de cours.
La table COURS contient une ligne par cours dispensé au Collège. Chaque cours est identifié par un numéro exclusif (NO_COURS) attribué par le Comité des études du Collège lors de l'établissement de la grille de cours au mois de mai de chaque année, et transmis par la suite au Secrétariat. La description officielle des cours est incluse comme aide lors du choix de cours des étudiant.e.s.
La table SUIT contient une ligne par inscription d'un.e étudiant.e à un cours. Chaque inscription sera uniquement identifiée par la combinaison du numéro de l'étudiant.e et du numéro du cours. Elle peut également contenir la note (en pourcentage) obtenue par cet.te étudiant.e à ce cours. Les inscriptions sont enregistrées en début de session par le Secrétariat; les notes sont transmises par les professeur.e.s au Secrétariat en fin de session, puis inscrites dans INSCRIP par le Secrétariat. Au début de la session suivante, la table SUIT est vidée.
Structure des tables
Note : Un « X » dans la colonne Obligatoire indique les champs obligatoires (c'est-à-dire n'admettant pas les valeurs NULL). Pour les champs numériques, la taille indique le nombre de chiffres maximum admis (il n'y a jamais de signe); par exemple la taille 2 indique pour un entier que l'on peut aller jusqu'à 99.
Table des étudiants (ETUD)
Chaque ligne de la table ETUD correspond à un.e étudiant inscrit.e au Collègue XYZ. Cinq champs sont associés à un.e étudiant.e.
Champ | Type | Taille | Obligatoire |
---|---|---|---|
NO_ETUD | Caractère | 5 | X |
NOM | Caractère | 30 | X |
ADRESSE | Caractère | 30 | |
DAT_NAIS | Date/heure | ||
PROG | Caractère | 20 | X |
CLÉ PRIMAIRE
NO_ETUD
DESCRIPTION DES CHAMPS
Champ | Description |
---|---|
NO_ETUD |
|
NOM |
|
ADRESSE |
|
DAT_NAIS |
|
PROG |
|
Table des cours (COURS)
Chaque ligne de la table COURS correspond à un cours offert au Collègue XYZ. Huit champs sont associés à un cours.
Champ | Type | Taille | Obligatoire |
---|---|---|---|
NO_COURS | Caractère | 5 | X |
LOCAL | Caractère | 6 | |
NO_PROF | Caractère | 5 | |
TITRE | Caractère | 30 | |
DESCR | Caractère | 300 | X |
JOUR | Numérique | 1 | X |
HEURE | Date/heure | X | |
STATUT | Caractère | 11 | X |
CLÉ PRIMAIRE
NO_COURS
CLÉ EXTERNE
NO_PROF vers PROF
INDEX PLEIN TEXTE
rech_cours sur (TITRE, DESCR)
DESCRIPTION DES CHAMPS
Champ | Description |
---|---|
NO_COURS |
|
LOCAL |
|
NO_PROF |
|
TITRE |
|
DESCR |
|
JOUR |
|
HEURE |
|
STATUT |
|
Table des professeur.e.s (PROF)
Chaque ligne de la table PROF correspond à un.e professeur.e du Collègue XYZ. Quatre champs sont associés à un.e professeur.e.
Champ | Type | Taille | Obligatoire |
---|---|---|---|
NO_PROF | Caractère | 5 | X |
NOM | Caractère | 30 | X |
BUREAU | Caractère | 6 | |
BIO | Caractère | 500 |
CLÉ PRIMAIRE
NO_PROF
INDEX PLEIN TEXTE
rech_prof sur (NOM, BIO)
DESCRIPTION DES CHAMPS
Champ | Description |
---|---|
NO_PROF |
|
NOM |
|
BUREAU |
|
BIO |
|
Table des inscriptions (SUIT)
Chaque ligne de la table SUIT correspond à une inscription d'un.e étudiant.e à un cours. Quatre champs sont associés à une inscription.
Champ | Type | Taille | Obligatoire |
---|---|---|---|
NO_ETUD | Caractère | 5 | X |
NO_COURS | Caractère | 5 | X |
NOTE | Numérique | 3 | X |
NOTE_P | Logique | X |
CLÉ PRIMAIRE
(NO_ETUD, NO_COURS)
CLÉS EXTERNES
NO_ETUD vers ETUD
NO_COURS vers COURS
DESCRIPTION DES CHAMPS
Champ | Description |
---|---|
NO_ETUD |
|
NO_COURS |
|
NOTE |
|
NOTE_P |
|
Contraintes additionnelles sur le contenu des tables
Un.e étudiant.e ne peut être inscrit.e à plus de 4 cours par session, cours se donnant à des plages horaire différentes.
Un.e professeur.e ne peut être associé.e à plus de 2 cours par session, cours se donnant à des plages horaire différentes.
Exemple de contenus valides des tables
NO_ETUD | NOM | ADRESSE | DAT_NAIS | PROG |
---|---|---|---|---|
10001 | Wagner, Richard | 1200 de l'Opéra, Bayreuth | 1980-01-01 | Musique |
10002 | Bretécher, Claire | 2400 du Fou rire, Paris | 1950-01-01 | Littérature |
10003 | Tremblay, Michel | 4800 St Laurent, Montréal | 1970-01-01 | Sciences humaines |
10004 | Asimov, Isaac | 9600 du Futur, Los Angeles | Sciences | |
10005 | Simenon, Georges | 9700 des Lilas, Montréal | 1960-01-01 | Littérature |
10006 | Smithwick, Dale | 4300 Crescent, Montréal | Sciences |
NO_COURS | LOCAL | NO_PROF | TITRE | DESCR | JOUR | HEURE | STATUT |
---|---|---|---|---|---|---|---|
20001 | T-5334 | 30001 | Histoire 101 | Histoire du Québec contemporain. Dimensions démographique, culturelle, économique et sociétale. Analyse comparée. Canada. France. Royaume-Uni | 1 | 9:00 | optionnel |
20002 | T-5334 | 30002 | Éthique 302 | Réflexions sur les principes éthiques régissant la société. Lien entre éthique et droit. Initiation aux cadres juridique, normatif et éthique pertinents aux environnements numériques | 1 | 13:00 | obligatoire |
20003 | 30001 | Philosophie 813 | Principaux courants philosophiques de l'antiquité à nos jours. Philosophes clés. Impact sur la société contemporaine québécoise | 1 | 9:00 | optionnel | |
20004 | C-2044 | Français 304 | Apprentissage du français en contexte professionnel. Lecture, analyse, rédaction de textes sur différents supports (analogiques et numériques), pour différents lectorats (gestionnaires, clients, etc.) et sous différentes perspectives (marketing, critique, stratégique) | 2 | 9:00 | obligatoire | |
20005 | C-2044 | 30003 | Mathématique 307 | Liens entre les mathématiques et la technologie (informatique, cryptographie, traitement d'images, etc.). Culture mathématique générale. Théorie des représentations | 4 | 13:00 | obligatoire |
20006 | H-2034 | 30002 | Piano 110 | Techniques de base du piano. Exercices pratiques. Lecture à vue. Gammes. Arpèges. Solfège. Théorie musicale. Histoire du piano classique et populaire | 3 | 13:00 | optionnel |
20007 | Chimie 007 | Structure des atomes. Fonctions et liaisons chimiques. Chimie des solutions. Équilibre. Problématiques contemporaines (chimie de l'eau, pollution de l'air et de l'eau, plastiques et polymères, etc.). Regard critique | 3 | 13:00 | optionnel |
NO_PROF | NOM | BUREAU | BIO |
---|---|---|---|
30001 | Simard, Vianney | H-2034 | Titulaire d'un doctorat en philosophie de la Sorbonne, le professeur Vianney Simard se spécialise dans l'histoire de la philosophie, tout particulièrement la période de l'antiquité. Il compte à son actif plusieurs livres à succès, dont « De Platon à Plotin : le néoplatonisme et la contemplation », traduit en plus de 10 langues |
30002 | Turmel, Rémi | T-5334 | Musicien passionné et aguerri, le professeur Rémi Turmel a intégré à ses domaines de prédilection l'éthique en réaction à l'émergence de nouveaux modes de production et de diffusion de la musique, comme la culture du remix, qui viennent parfois bousculer les normes éthiques établies |
30003 | Asimov, Isaac | A-1000 | Nul besoin de présentation pour le professeur Isaac Asimov, plus que connu pour ses réalisations sur la théorie de l'émergence cognitive. Pur produit de CalSci, il voit la vie par les lunettes des mathématiques et possède un talent de vulgarisateur scientifique hors pair |
30004 | Valjean, Jean | H-2034 |
NO_ETUD | NO_COURS | NOTE | NOTE_P |
---|---|---|---|
10001 | 20001 | 75,5 | Vrai |
10002 | 20001 | 0 | Faux |
10002 | 20004 | 0 | Faux |
10002 | 20005 | 98 | Vrai |
10003 | 20002 | 80 | Vrai |
10003 | 20004 | 0 | Faux |
10004 | 20001 | 0 | Vrai |
10004 | 20003 | 38 | Vrai |
10004 | 20005 | 79,5 | Vrai |
10006 | 20004 | 0 | Faux |
10006 | 20007 | 62 | Vrai |