Temps estimé de réalisation : 1h30
Objectifs
Question à laquelle cette activité va permettre de répondre :
- Quel est l’impact de la structure des données sur leur consultation et leur mise à jour ?
Objectifs pédagogiques visés :
- Identifier clés primaires et étrangères
- Expliquer la notion de redondance
Considérons une entreprise dans laquelle on désire stocker des données concernant les employés et les départements dans lesquels travaillent ces employés. Nous allons tout au long de ce cas d’étude examiner différentes façons de représenter ces données au moyen de tableaux que nous allons manipuler avec votre tableur favori. Ces exercices doivent vous permettre d’appréhender la modélisation de données persistantes et de comprendre les difficultés liées à une représentation tabulaire des données, telles qu’elles le sont dans les bases de données.
A l’intérieur de l’entreprise, quelques règles de gestion sont mises en œuvre. Vous devrez veiller à les respecter lors de cette étude :
Les données stockées sont les suivantes :
Définition
Relation (définition informelle)
Une relation (ou table) en base de données correspond à un ensemble d’attributs (les colonnes de la table) qui prennent chacun leurs valeurs dans un ensemble défini que l’on appelle domaine.
Par exemple, si je veux modéliser les données de mes clients je vais créer une table (ou relation) CLIENT
qui contiendra des attributs comme leur nom, prénom, adresse, etc.
Dans cette activité, les tables que nous allons manipuler TABLEAU_1, TABLEAU_2, etc. sont des relations.
Définition
Intégrité des données
Dans le domaine des bases de données, l’intégrité des données correspond à l’exhaustivité, l’exactitude et la cohérence des données.
Par exhaustivité on entend que les données restent complètes (il n’y a pas de disparitions). Par exactitude et cohérence on entend le respect de l’intégrité logique : intégrité d’entité (dans une table une ligne est unique), intégrité référentielle (la cohérence entre les différentes tables est maitenue), intégrité de domaine (les données sont dans l’ensemble des valeurs acceptables définies) et l’intégrité définie par l’utilisateur (les règles propres définies par l’entreprise).
Cette activité a pour objectif de vous faire découvrir les principes du modèle relationnel (les contraintes d’intégrité) qui définissent un ensemble de règles et de normes apppliquées lors de la phase de conception pour maintenir l’intégrité des données.
Par exemple, si vous modifiez l’adresse d’un client, vous souhaitez sûrement que l’information soit modifiée partout et ne pas vous retrouver avec la nouvelle adresse dans le profil du client et l’ancienne adresse dans les commandes à envoyer.
C’est ce que nous allons explorer dès à présent. Soyez vigilent aux pièges qui vous seront tendus !
Le fichier cas1.xls
présente de manière partielle une seule feuille de calcul avec la relation suivante :
TABLEAU_1 (EMPNO, ENAME, JOB, SAL, MANAGER, HIREDATE, COMMISSION, DEPTNO, DNAME, LOC)
Question 1 : Cherchez le lieu de travail de l’employé DOE
. Dans le pire des cas, combien de lignes devez-vous parcourir ? Peut-il y avoir plusieurs lignes avec la même valeur de l’attribut ENAME
?
Question 2 : Faites les mises à jour nécessaires pour renommer en REAL ESTATE
le département dans lequel travaille l’employé TURNER
. Dans le pire des cas, combien de lignes devez-vous parcourir en lecture ? Combien de lignes avez-vous dû modifier ? À quoi ce dernier nombre correspond-il ?
Définition
Clef candidate
Une clef candidate est un attribut ou un ensemble d’attributs minimal identifiant de manière unique chaque tuple d’une relation.
Définition
Clef primaire
La clef candidate choisie comme identifiant de la relation est appelée clef primaire. Une clef primaire est unique et doit être renseignée (elle ne peut pas prendre la valeur NULL
).
Par convention, on souligne (d’un trait plein) la clé primaire d’une relation.
Définition
Donnée redondante
Une donnée est considérée redondante si elle se répète sans apporter d’information supplémentaire.
SCOTT
. Choisissez la (les) proposition(s) ci-dessous qui vous semble(nt) exacte(s) en justifiant votre choix :
EMPNO
sont redondantesMGR
sont redondantesJOB
sont redondantesLOC
sont redondantesDéfinition
Clef étrangère ou clef référentielle
On dit que l’ensemble K des attributs de R1 est clef étrangère et qu’elle référence R2 si les attributs K de R1 ont les mêmes domaines que les attributs de la clé primaire de la relation R2 et que toutes les valeurs de la clef étrangère correspondent bien à une valeur de clef primaire ou à NULL.
Par convention, on souligne (d’un trait pointillé) la clef référentielle d’une relation et on explicite par du texte quelle clef primaire est référencée par la clef étrangère.
Exemple :
Client (Numéro, Nom, Adresse, Téléphone)
Produit (Numéro, Désignation, Prix)
Vente (Numéro, NuméroClient, NuméroProduit, Date) où NuméroClient référence Client(Numéro) et NuméroProduit référence Produit(Numéro)
Le fichier cas2a.xls
présente deux feuilles de calcul avec les tableaux suivants :
TABLEAU_1(EMPNO, ENAME, JOB, SAL, MANAGER, HIREDATE, COMMISSION, DNAME) où DNAME référence TABLEAU_2(DNAME)
TABLEAU_2(DEPTNO, DNAME, LOC)
Question 5 : Dans quelle mesure cette nouvelle structure de données peut-elle réduire les redondances rencontrées lors de l’étude du cas n°1 ?
Question 6 : Les clefs primaires et référentielles définies sur TABLEAU_1 et TABLEAU_2 sont-elles correctes ? Pourquoi ?
Question 7 : Pouvez-vous renommer en REAL ESTATE
le département dans lequel travaille l’employé TURNER ? Pourquoi ?
Question 8 : Proposez une décomposition en 2 relations corrigeant les relations du cas n°2A afin de résoudre le problème que vous avez identifié. Faites valider votre proposition par un enseignant.
Question 9 : Cherchez le lieu de travail de l’employé DOE
. Dans le pire des cas, combien de lignes devez-vous parcourir ? Peut-il y avoir plusieurs lignes avec le même ENAME
?
Question 10 : Faites les mises à jour nécessaires pour renommer en REAL ESTATE
le département dans lequel travaille l’employé TURNER
. Dans le pire des cas, combien de lignes devez-vous parcourir en lecture ? Combien de lignes avez-vous dû modifier ? A quoi ce dernier nombre correspond-t-il ?
Question 11 : Quelles données peut-on encore considérer comme redondantes ?
Le fichier cas3.xls
présente trois feuilles de calcul avec les tableaux suivants :
TABLEAU_1(EMPNO, ENAME, SAL, MANAGER, HIREDATE, COMMISSION)
TABLEAU_2(DEPTNO, DNAME, LOC)
TABLEAU_3(EMPNO, DEPTNO, JOB)
Question 12 : Identifiez, pour chacune des trois relations, les clefs primaires et référentielles si elles existent.
Question 13 : Remplissez les feuilles de calculs en vous aidant des données du cas n°1.
Question 14 : Dans quelle mesure cette nouvelle structure de données peut-elle réduire les redondances rencontrées lors de l’étude du cas n°2B ?
Question 15 : Cherchez le lieu de travail de l’employé DOE
. Dans le pire des cas, combien de lignes devez-vous parcourir ? Peut-il y avoir plusieurs lignes avec le même ENAME
?
Question 16 : Faites les mises à jour nécessaires pour renommer en REAL ESTATE
le département dans lequel travaille l’employé TURNER
. Dans le pire des cas, combien de lignes devez-vous parcourir en lecture ? Combien de lignes avez-vous dû modifier ? A quoi ce dernier nombre correspond-t-il ?
Question 17 : Quelles données peut-on considérer comme redondantes ?
Remplissez la fiche de synthèse ci-dessous en considérant les critères suivants :
Consultation des données : la difficulté à effectuer la requête se compte en nombre de lignes « lues » afin d’obtenir la réponse à la question posée.
Mise à jour des données : la difficulté à effectuer la mise à jour se compte en nombre de lignes concernées afin d’effectuer la modification.
Utilisez la légende suivante pour remplir votre tableau :
Légende | Symbole à utiliser |
---|---|
Situation de référence | ● |
Consultation ou mise à jour plus compliquée | - et - - |
Consultation ou mise à jour plus simple | + et ++ |
Consultation des données | Mise à jour des données | |
---|---|---|
Cas n°1 | ● | ● |
Cas n°2B | ||
Justifiez : | ||
Cas n°3 | ||
Justifiez : |
Après avoir réalisé le TD vous pouvez consulter la correction.