Vous êtes sur la page 1sur 11

Base de données

Projet de session
Introduction
Les laboratoires du cours vous permettront de créer votre propre projet de base de données. Vous aurez
ainsi un seul projet qui se déroulera tout au long de la session. Ce dernier permettra de couvrir plusieurs
étapes de créations d’une base de données en passant de la conception à la réalisation.

Vous aurez toutefois trois livrables répartis tout au long de la session :

1. Conception : Modèle entité-association (EA) 16%


2. Normalisation : Modèle relationnel (MR) 6%
3. Réalisation : Mise en place avec MySQL 18%
Pour un total de 40%

Contraintes générales
Projet de session
• Vous devez déterminer vous-même le sujet de votre projet.
• Vous avez carte blanche quant au sujet abordé. Néanmoins, il est évident que vous devez rester
respectueux sans aborder des sujets de morales douteuses.
• Tentez d’identifier un projet qui vous stimule, car vous y passerez beaucoup de temps. Par
exemple, vous pouvez mettre en place:
o une solution pour une problématique qui vous tient particulièrement à cœur;
o un projet lié à un club étudiant;
o un projet lié à l’entreprise où vous faites un stage;
o un projet d’affaires que vous voulez démarrer;
o le prototype d’un concept que vous avez;
o une base de données liée à un sujet que vous aimez (musique, sport, art, science, techno,
histoire …)
o …
• Au plus tard la deuxième semaine de laboratoire, vous devez obligatoirement faire valider le sujet
de votre projet par le chargé de laboratoire. Ce dernier se réserve le droit de :
o refuser ou accepter votre projet;
o vous proposer quelques modifications afin d’augmenter ou de réduire sa taille.
• Vous ne pouvez pas changer de projet pendant la session.

Projet d’équipe
• Le projet se fait en équipe de 2 personnes.
• Vous ne pouvez pas changer d’équipe pendant la session.
• Aucun travail ne doit être réalisé seul. L’étudiant(e) qui présente un travail individuel se verra
automatiquement attribuer la note de 0.
• Exceptionnellement, si le nombre d’étudiants inscrits au cours est impair, un groupe de trois
étudiants devra être créé. Néanmoins, une équipe de trois étudiants devra réaliser un projet de
plus grande envergure. Les différences sont présentées dans le document là où elles s’appliquent.

GPA775 – Base de données Page 1 de 10


Livrables
• Vous devez respecter les dates et moyens de remises.

Contraintes techniques
• Vous devez utiliser les outils technologiques imposés. Principalement :
o le modèle entité-association;
o le modèle relationnel;
o l’usage de MySQL comme SGBD.

Responsabilisation
Tout au long de la session, on vous demande d’assumer ces deux rôles distincts :

• Le client qui a un besoin spécifique (c’est vous-mêmes qui ferez l’identification des exigences).
• Le consultant dans le domaine des bases de données qui développe la solution.

Recommandations
• Ce projet est une excellente opportunité pour se pencher sur un système de gestion
d’information. Même s’il est généralement assez facile de réaliser un tel projet sans trop d’effort,
il est beaucoup plus difficile d’en faire une bonne modélisation ainsi qu’une implémentation
adéquate qui tient compte des nuances et subtilités que l’on retrouve dans un vrai projet.
• C’est pourquoi on vous encourage à constamment échanger entre les membres de l’équipe. Ces
échanges permettent d’apporter des points de vue différents et souvent des discussions
pertinentes.
• Il est aussi essentiel de partager ces échanges avec le chargé de laboratoire. Ce dernier possède
une plus grande expérience qui vise à vous orienter vers des réflexions qui vous permettront
d’ajouter de la profondeur à votre projet.
• Sachez que l’évaluation du projet est grandement orientée vers le niveau de profondeur qui
montre clairement une réflexion sur les nuances de la problématique.

Objectifs globaux
Le but du projet de session est de permettre à l’étudiant de se familiariser avec les différents concepts
reliés aux bases de données par le biais d’un vrai projet en passant par plusieurs étapes de réalisation:

• Laboratoire 1
o Identification d’un besoin.
o Rédaction d’un devis.
o Conception et modélisation d’un modèle de données externe (modèle EA).
o Documentation.
• Laboratoire 2
o Conception d’un modèle de données interne (processus de transformation du modèle EA
vers le modèle MR).
o Normalisation.
o Documentation.

GPA775 – Base de données Page 2 de 10


• Laboratoire 3
o Réalisation du MR dans une base de données relationnelle en langage SQL.
o Création de tous les objets (table, contraintes, procédures, etc.).
o Rédaction des requêtes pertinentes.
o Présentation.

GPA775 – Base de données Page 3 de 10


Laboratoire 1
Modèle entité-association
Cette première partie du projet est axée sur la conception et plus particulièrement sur le modèle
entité-association (EA).

On vous demande de :

• introduire le problème;
• rédiger une description fonctionnelle du problème;
• définir les tâches que chaque usager du système peut ou doit accomplir;
• identifier les entités et fournir un dictionnaire des données;
• fournir le modèle EA en spécifiant toutes les contraintes pertinentes;
• fournir des exemples de requêtes utilisées dans les tâches du système.

Livrables
Vous devez produire un rapport en format PDF qui contiendra :

1. Une page titre.


2. Une introduction :
• qui est le client;
• quel est le projet;
• à quoi sert-il;
• tout autre détail que vous jugez pertinent.
3. Une description fonctionnelle :
• c'est une explication concise, en texte et en images, des fonctionnalités désirées pour la
base de données;
• vous devez utiliser des termes non techniques en langage courant pouvant être compris
par un lecteur néophyte au sujet des bases de données : votre client;
4. Une définition des usagers du système et quelles sont leurs permissions:
• usager ordinaire;
• gestionnaire;
• administrateur;
• etc.
4. Le modèle entité-association incluant toutes les contraintes pertinentes. À ce schéma, vous devez
joindre les informations complémentaires suivantes:
• pour chaque entité du modèle :
o définition,
o description,
o nombre approximatif d’enregistrements attendus dans le système (ce sera une
indication de la taille éventuelle de la base de données);

GPA775 – Base de données Page 4 de 10


• un dictionnaire des données qui permettra de décrire chaque attribut de toutes les
entités (incluant les associations) :
o le type de donnée (caractère, chaîne, booléen, entier, nombre décimal, date, …)
o toutes les contraintes;
5. Cinq exemples de requêtes souhaitées :
• Contraintes sur les requêtes à réaliser :
a. 2 requêtes utilisant au moins 2 entités;
b. 1 requête utilisant au moins 3 entités;
c. 1 requête utilisant au moins 4 entités;
d. 1 requête utilisant au moins 5 entités.
• Pour chaque requête, vous devez inclure un texte clair visant à décrire l’objectif de la
requête.
• Il ne convient pas ici de fournir le code SQL de la requête, mais seulement quelles
informations doivent être obtenues et quelles entités sont concernées.
• Au moins une de vos requêtes devra utiliser un champ de type date.

Contraintes spécifiques
• Vous devez pousser les concepts autant que possible et tenter d’utiliser les notions du modèle
entité-association-étendu.
• Votre modèle doit contenir un minimum de 18 entités pour les équipes de deux étudiants ou 24
entités pour les équipes de trois étudiants.
• Pour le diagramme EA, vous devez utiliser la notation graphique de la page suivante.
• Vous avez 4 périodes de laboratoire pour réaliser ce premier mandat.

Critères d’évaluation
1. Introduction / 10
2. Description fonctionnelle / 20
3. Usagers /5
4. Modèle entité-association / 30
Définition des entités /5
Dictionnaire des données / 10
5. Exemple de requêtes / 20

GPA775 – Base de données Page 5 de 10


Notation du schéma entité-association

XYZ Nom de l entité


abc Attribut participant à la clé primaire
def Attribut
Entité (entité forte) ghi Attribut obligatoire
jkl(mno, pqr, Attribut composite
stu Attribut multivalué
vwx Attribut dérivé

XYZ

Entité faible

XYZ Nom de l association Association sans attribut

Association

XYZ Nom de l association Association avec attribut

abc Attribut

Association Nom de l association


XYZ
d identification d identification

Cardinalité min..max de l entité 1 Cardinalité min..max de l entité 2

Entité 1 Entité 2

min1..max1 min2..max2
Association
u rôle rôle t

Rôle de l entité 1 Nom de l association Rôle de l entité 2

Exemple

Professeur
Numéro d assurance social
Nom
Prénom
Genre Département
Date de naissance
0..n
Nom
Âge 1..1
ProfDepart Sigle
Adresse( u est assigné au département a comme professeurt
Description
No civique(
No de rue, Rue, Date d assignation
No d appartement),
Ville, Pays, Code postal)
Courriel(nom, courriel)

GPA775 – Base de données Page 6 de 10


Laboratoire 2
Modèle relationnel
Cette partie du projet consiste à réaliser la deuxième étape de conception : le modèle relationnel.

On vous demande de :

• faire la transformation du modèle entité-association réalisé au premier laboratoire vers le modèle


relationnel;
• faire la normalisation de votre modèle relationnel jusqu’à la troisième forme normale.

Livrables
Vous devez produire un rapport en format PDF qui contiendra :

1. Une page titre.


2. Une section « Transformation du modèle EA vers le modèle relationnel » expliquant pas à pas la
transformation du modèle entité-association vers le modèle relationnel pour les trois entités les
plus complexes de votre modèle EA. En fait, on vous demande de justifier la transformation de
chaque attribut mais aussi la transformation de toutes les associations liées. Par exemple, vous
devez préciser pour chaque association, pourquoi vous avez choisi telles clés primaires et telles
clés étrangères et pourquoi vous avez mis les attributs d’association à tel endroit.
3. Une section « Normalisation » expliquant pas à pas la normalisation des trois relations (tables) les
plus complexes de votre modèle relationnel.
4. Une section « Diagramme » présentant un diagramme d’instance complet de votre modèle
relationnel final (après normalisation complète).

Contraintes spécifiques
• Même si on vous demande d’expliquer uniquement trois éléments de la transformation et de la
normalisation, vous devez faire une transformation complète et une normalisation complète de
vos modèles.
• Pour le diagramme, vous devez utiliser la notation graphique présentée dans les diapositives
« Modèle relationnel » à la page 16 nommé « représentation structurelle avec exemple
d’instance ». Vous devez avoir au minimum trois exemples de tuple pour chacune des relations
(tables).
• Vous avez 3 périodes de laboratoire pour réaliser ce deuxième mandat.

GPA775 – Base de données Page 7 de 10


Critères d’évaluation
1. Transformation / 30
2. Normalisation / 30
3. Diagramme / 40

GPA775 – Base de données Page 8 de 10


Laboratoire 3
Développement SQL
Cette partie du projet consiste à réaliser concrètement votre projet dans un SGBD. Vous devez produire
tous les scripts permettant la réalisation de votre projet avec MySQL.

On vous demande de :

• vous familiariser avec le SGBD MySQL;


• respecter l’essentiel de vos efforts de conception tout en y ajoutant les éléments essentiels à la
réalisation
o correction de votre modèle selon les dernières indications de votre schéma relationnel;
o ajustement des clés primaires et étrangères si nécessaire;
o ajouter des objets de bases de données lorsque nécessaire (indexes, vues, requêtes
préparées, procédures stockées, déclencheurs, etc.)
• créer tous les scripts SQL nécessaires à la réalisation de votre projet (scripts clairs et bien
documentés);
• présenter votre projet au chargé de laboratoire.

Livrables
Vous devez produire un fichier de format ZIP qui doit contenir les trois fichiers suivants :

1. fichier creation.sql : ce fichier doit contenir le script permettant de créer TOUS les éléments
de votre projet (n’oubliez pas que vous devez d’abord effacer tout existence d’objets existants au
préalable) :
• tables;
• attributs;
• contraintes;
• indexes;
• vues;
• requêtes préparées;
• procédures et fonctions stockées;
• déclencheurs.
2. fichier insertion.sql : ce fichier doit contenir le script permettant toutes les insertions des
données tests de votre projet.
3. fichier requetes.sql : ce fichier doit contenir toutes les requêtes demandées.

Contraintes spécifiques
• Suite à votre travail de conception, on vous demande d’ajouter certains objets SGBD. C’est à vous
de déterminer quels sont les objets les plus pertinents pour votre projet. L’évaluation finale

GPA775 – Base de données Page 9 de 10


tiendra compte de la pertinence de vos ajouts. Vous êtes donc encouragé à discuter avec votre
chargé de laboratoire afin d’en discuter et d’en valider la pertinence. Voici les objets à ajouter :
o 3 indexes;
o 2 vues;
o 3 requêtes préparées;
o 2 procédures et 1 fonction stockées (l’une des procédures doit permettre une tâche
d’insertion ayant des conditions particulières ou une logique particulière);
o 2 déclencheurs.
• On vous demande de populer votre base de données. Il s’agit de faire les insertions nécessaires
permettant de faire des tests sur la base de données. On vous demande d’insérer au moins 5
enregistrements par table (3 enregistrements par table de liaison pour les association n vers n). Il
est essentiel que les données ajoutées soient cohérentes avec le projet et entre chacune d’elle.
L’objectif est de donner un exemple concret de ce que pourrait avoir l’aire votre base de données.
• On vous demande d’ajouter un script contenant les requêtes. Ce script doit inclure les 10 requêtes
suivantes :
o les 5 requêtes que vous avez décrites au premier laboratoire;
o une requête d’insertion utilisant une requêtes préparées;
o une requête utilisant une procédure stockée;
o une requête supplémentaire pertinente faisant un calcul sur le temps;
o une requête supplémentaire pertinente utilisant les 6 clauses du langages SQL;
o une requête supplémentaire dictée par votre chargé de laboratoire (vous devez donc le
rencontrer le plus rapidement possible pour déterminer avec lui cette requête).
• Lors de la dernière séance de laboratoire (ou à un autre moment selon arrangement), vous devez
présenter votre projet au chargé de laboratoire. Il s'agit d'une rencontre d'environ 15 minutes où
vous devez arriver préparé. Pour cette rencontre, vous devez présenter vos scripts SQL, les défis
techniques les plus pertinents et répondre à au moins 2 questions de votre chargé de laboratoire.

Critères d’évaluation
1. Script de création (création de tous les objets) / 40
2. Script d’insertion (nombre d’enregistrements requis et pertinence) / 10
3. Script des requêtes (les 10 requêtes) / 30
4. Qualité des scripts (lisibilité et documentation) / 5
5. Présentation / 15

GPA775 – Base de données Page 10 de 10

Vous aimerez peut-être aussi