Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
I) Introduction
Ce projet a pour but de vous permettre de créer votre propre base de données. 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 objectifs :
Contraintes Générale
Projet d’équipe
1
NB : Les groupes ont été déjà constitué, merci de vérifier le fichier pour déterminer le numéro et les
membres de votre groupe.
Contraintes techniques.
• Le modèle entité-association;
• Le modèle relationnel;
• L’usage de MySQL comme SGBD.
Responsabilisation
Tout au long du projet, 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.
Objectifs globaux
Le but du projet 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 :
➢ Objectif 1
• Identification d’un besoin.
• Conception et modélisation d’un modèle de données externe (modèle EA).
• Documentation.
➢ Objectif 2
• Conception d’un modèle de données interne (processus de transformation du modèle EA
vers le modèle MR).
• Normalisation.
➢ Objectif 3
• Réalisation du MR dans une base de données relationnelle en langage SQL.
• Création de tous les objets (table, contraintes, procédures, etc.).
• Rédaction des requêtes pertinentes.
• Présentation.
2
Objectif 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.
1. Une introduction :
➢ 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;
➢ 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:
3
5. Cinq exemples de requêtes souhaitées :
➢ 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.
4
Objectif 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 :
Livrables
1. 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.
2. Une section « Normalisation » expliquant pas à pas la normalisation des trois relations (tables) les
plus complexes de votre modèle relationnel.
Contraintes spécifiques
5
Objectif 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
• Correction de votre modèle selon les dernières indications de votre schéma
relationnel ;
• ajustement des clés primaires et étrangères si nécessaire;
• 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);
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, etc.
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
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 associations 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 :
• les 5 requêtes que vous avez décrites dans le premier objectif;
• une requête supplémentaire pertinente faisant un calcul sur le temps;
• une requête supplémentaire pertinente utilisant les 2 clauses du langages SQL;