La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

DOSSIER 10 – La base de données relationnelle

Présentations similaires


Présentation au sujet: "DOSSIER 10 – La base de données relationnelle"— Transcription de la présentation:

1 DOSSIER 10 – La base de données relationnelle

2 Liens vers les applications
QCM – La base de données relationnelle Application 1 – Gestion des approvisionnements Application 2 – Gestion des approvisionnements (suite) Application 3 – Gestion des devis Application 4 – La gestion des feuilles de temps

3 QCM La base de données relationnelle
DOSSIER 10 QCM La base de données relationnelle

4 La gestion des cours dans un collège
Le schéma relationnel suivant a pour objectif de gérer la gestion des cours dans un collège : Table 1 : ELEVES (CodeEleve, NomEleve, PrenomEleve, DateNaissance) Clé primaire : CodeEleve Clé étrangère : Table 2 : CLASSES (CodeClasse, SalleClasse, EffectifClasse) Clé primaire : CodeClasse Table 3 : INTERVENIR (CodeEnseignant, CodeClasse, NombresHeures) Clé primaire : CodeEnseignant + CodeClasse Clé étrangère : CodeEnseignant en référence à CodeEnseignant de ENSEIGNANTS CodeClasse en référence à CodeClasse de CLASSES Table 4 : ENSEIGNANTS (CodeEnseignant, NomEnseignant, PrenomEnseignant, CodeSpecialite) Clé primaire : CodeEnseignant Table 5 : SPECIALITES (CodeSpecialite, NomSpecialité) Clé primaire : CodeSpecialite

5 La gestion des cours dans un collège
Le schéma relationnel suivant a pour objectif de gérer la gestion des cours dans un collège : Table 1 : ELEVES (CodeEleve, NomEleve, PrenomEleve, DateNaissance) Clé primaire : CodeEleve Clé étrangère : Table 2 : CLASSES (CodeClasse, SalleClasse, EffectifClasse) Clé primaire : CodeClasse Table 3 : INTERVENIR (CodeEnseignant, CodeClasse, NombresHeures) Clé primaire : CodeEnseignant + CodeClasse Clé étrangère : CodeEnseignant en référence à CodeEnseignant de ENSEIGNANTS CodeClasse en référence à CodeClasse de CLASSES Table 4 : ENSEIGNANTS (CodeEnseignant, NomEnseignant, PrenomEnseignant, CodeSpecialite) Clé primaire : CodeEnseignant Table 5 : SPECIALITES (CodeSpecialite, NomSpecialité) Clé primaire : CodeSpecialite X 01. Pour relier la table ELEVES et la table CLASSE, il faut : Créer une relation entre les champs "CodeEleve" et "CodeClasse". Ajouter le champ "CodeEleve" dans la table "Classes" Ajouter le champ "CodeClasse" dans la table "ELEVES"

6 La gestion des cours dans un collège
Le schéma relationnel suivant a pour objectif de gérer la gestion des cours dans un collège : Table 1 : ELEVES (CodeEleve, NomEleve, PrenomEleve, DateNaissance) Clé primaire : CodeEleve Clé étrangère : Table 2 : CLASSES (CodeClasse, SalleClasse, EffectifClasse) Clé primaire : CodeClasse Table 3 : INTERVENIR (CodeEnseignant, CodeClasse, NombresHeures) Clé primaire : CodeEnseignant + CodeClasse Clé étrangère : CodeEnseignant en référence à CodeEnseignant de ENSEIGNANTS CodeClasse en référence à CodeClasse de CLASSES Table 4 : ENSEIGNANTS (CodeEnseignant, NomEnseignant, PrenomEnseignant, CodeSpecialite) Clé primaire : CodeEnseignant Table 5 : SPECIALITES (CodeSpecialite, NomSpecialité) Clé primaire : CodeSpecialite X 02. Pourquoi le champ "EffectifClasse" n'est pas indispensable dans la table CLASSES ? Il s'agit d'un champ calculé Toutes les classes ont le même effectif Ce champ ne permet pas la liaison avec une autre table

7 La gestion des cours dans un collège
Le schéma relationnel suivant a pour objectif de gérer la gestion des cours dans un collège : Table 1 : ELEVES (CodeEleve, NomEleve, PrenomEleve, DateNaissance) Clé primaire : CodeEleve Clé étrangère : Table 2 : CLASSES (CodeClasse, SalleClasse, EffectifClasse) Clé primaire : CodeClasse Table 3 : INTERVENIR (CodeEnseignant, CodeClasse, NombresHeures) Clé primaire : CodeEnseignant + CodeClasse Clé étrangère : CodeEnseignant en référence à CodeEnseignant de ENSEIGNANTS CodeClasse en référence à CodeClasse de CLASSES Table 4 : ENSEIGNANTS (CodeEnseignant, NomEnseignant, PrenomEnseignant, CodeSpecialite) Clé primaire : CodeEnseignant Table 5 : SPECIALITES (CodeSpecialite, NomSpecialité) Clé primaire : CodeSpecialite X 03. A quelle information correspond le champ "NombreHeures" de la table INTERVENIR ? Il s'agit du nombre d'heures totales réalisées par l'enseignant Il s'agit du nombre d'heures réalisées par un enseignant pour une classe précise Il s'agit du nombre d'heures d'une classe par semaine

8 La gestion des cours dans un collège
Le schéma relationnel suivant a pour objectif de gérer la gestion des cours dans un collège : Table 1 : ELEVES (CodeEleve, NomEleve, PrenomEleve, DateNaissance) Clé primaire : CodeEleve Clé étrangère : Table 2 : CLASSES (CodeClasse, SalleClasse, EffectifClasse) Clé primaire : CodeClasse Table 3 : INTERVENIR (CodeEnseignant, CodeClasse, NombresHeures) Clé primaire : CodeEnseignant + CodeClasse Clé étrangère : CodeEnseignant en référence à CodeEnseignant de ENSEIGNANTS CodeClasse en référence à CodeClasse de CLASSES Table 4 : ENSEIGNANTS (CodeEnseignant, NomEnseignant, PrenomEnseignant, CodeSpecialite) Clé primaire : CodeEnseignant Table 5 : SPECIALITES (CodeSpecialite, NomSpecialité) Clé primaire : CodeSpecialite X 04. Quelle erreur a été commise dans la structure de la table INTERVENIR ? Il y a deux clés primaires Le format du champ "NombreHeures" est inexact Le champ "NombreHeures" devait être la clé primaire

9 La gestion des cours dans un collège
Le schéma relationnel suivant a pour objectif de gérer la gestion des cours dans un collège : Table 1 : ELEVES (CodeEleve, NomEleve, PrenomEleve, DateNaissance) Clé primaire : CodeEleve Clé étrangère : Table 2 : CLASSES (CodeClasse, SalleClasse, EffectifClasse) Clé primaire : CodeClasse Table 3 : INTERVENIR (CodeEnseignant, CodeClasse, NombresHeures) Clé primaire : CodeEnseignant + CodeClasse Clé étrangère : CodeEnseignant en référence à CodeEnseignant de ENSEIGNANTS CodeClasse en référence à CodeClasse de CLASSES Table 4 : ENSEIGNANTS (CodeEnseignant, NomEnseignant, PrenomEnseignant, CodeSpecialite) Clé primaire : CodeEnseignant Table 5 : SPECIALITES (CodeSpecialite, NomSpecialité) Clé primaire : CodeSpecialite X 05. Pourquoi le lien entre les tables ENSEIGNANTS et SPECIALITES ne peut être réalisé ? Un enseignant a plusieurs spécialités Il faut ajouter le champ "CodeEnseignant" dans la table SPECIALITES Il faut que les champs "CodeSpecialite" ait le même format dans les deux tables

10 La gestion des cours dans un collège
Le schéma relationnel suivant a pour objectif de gérer la gestion des cours dans un collège : Table 1 : ELEVES (CodeEleve, NomEleve, PrenomEleve, DateNaissance) Clé primaire : CodeEleve Clé étrangère : Table 2 : CLASSES (CodeClasse, SalleClasse, EffectifClasse) Clé primaire : CodeClasse Table 3 : INTERVENIR (CodeEnseignant, CodeClasse, NombresHeures) Clé primaire : CodeEnseignant + CodeClasse Clé étrangère : CodeEnseignant en référence à CodeEnseignant de ENSEIGNANTS CodeClasse en référence à CodeClasse de CLASSES Table 4 : ENSEIGNANTS (CodeEnseignant, NomEnseignant, PrenomEnseignant, CodeSpecialite) Clé primaire : CodeEnseignant Table 5 : SPECIALITES (CodeSpecialite, NomSpecialité) Clé primaire : CodeSpecialite X 06. Pour obtenir les noms des enseignants intervenants dans la salle A201, quels opérateurs relationnels faut-il utiliser ? La projection La restriction La jointure X X fin

11 La bibliothèque municipale
La bibliothèque municipale utilise pour la gestion des emprunts de ses livres (chaque livre n'existe à la bibliothèque qu'en un seul exemplaire), une base de données dont le schéma relationnel est le suivant : fin Table 1 : LIVRE (CodeL, TitreL, CodeC) Clé primaire : CodeL Clé étrangère : CodeC en référence à CodeC de CATEGORIE Table 2 : CATEGORIE (CodeC, LibelléC) Clé primaire : CodeC Clé étrangère : Table 3 : EMPRUNTEUR (CodeE, NomE, TelephoneE) Clé primaire : CodeE Table 4 : PRET (CodeE, CodeL, Datepret, Nbjoursdeprêt, datederetour) Clé primaire : CodeE + CodeL Clé étrangère : CodeE en référence à CodeE de EMPRUNTEUR CodeL en référence à CodeL de LIVRE Table 5 : AUTEUR (CodeA, NomA) Clé primaire : CodeA Clé étrangère : Table 1 : LIVRE (CodeL, TitreL, CodeC) Clé primaire : CodeL Clé étrangère : CodeC en référence à CodeC de CATEGORIE Table 6 : ECRIRE (CodeL, CodeA) Clé primaire : CodeL + CodeA Clé étrangère : CodeL en référence à CodeL de LIVRE CodeA en référence à CodeA de AUTEUR X 05. La bibliothèque veut ajouter dans sa base de données les auteurs des livres. Certains livres peuvent avoir plusieurs auteurs. Comment le schéma relationnel doit-il être modifié ? Table 5 : AUTEUR (CodeA, NomA) Clé primaire : CodeA Clé étrangère : Table 1 : LIVRE (CodeL, TitreL, CodeC) Clé primaire : CodeL Clé étrangère : CodeC en référence à CodeC de CATEGORIE Table 5 : AUTEUR (CodeA, NomA) Clé primaire : CodeA Clé étrangère : Table 1 : LIVRE (CodeL, TitreL, CodeC, CodeA) Clé primaire : CodeL Clé étrangère : CodeC en référence à CodeC de CATEGORIE CodeA en référence à CodeA de AUTEUR

12 Application 01 : Gestion des approvisionnements (TEMPS : 10 MN)
DOSSIER 10 Application 01 : Gestion des approvisionnements (TEMPS : 10 MN)

13 La gestion des approvisionnements
La société AZAM gère ses approvisionnements selon le schéma relationnel suivant. On vous précise, entre autre, qu'un produit peut être acheté à différents fournisseurs, par contre une livraison ne peut pas concerner plusieurs fournisseurs : Table 1 : FOURNISSEUR (CodeFournisseur, NomFournisseur, FaxFournisseur, MelFournisseur) Clé primaire : Clé étrangère : Table 2 : LIVRAISON (CodeLivraison, DateLivraison) Table 3 : DETAILLIVRAISON (CodeProduit, CodeLivraison, QuantiteLivree, PrixAchatUnitaire) Clé étrangère  : Table 4 : PRODUIT (CodeProduit, DesignationProduit, QuantiteStockProduit)

14 La gestion des approvisionnements
La société AZAM gère ses approvisionnements selon le schéma relationnel suivant. On vous précise, entre autre, qu'un produit peut être acheté à différents fournisseurs, par contre une livraison ne peut pas concerner plusieurs fournisseurs : Table 1 : FOURNISSEUR (CodeFournisseur, NomFournisseur, FaxFournisseur, MelFournisseur) Clé primaire : Clé étrangère : Table 2 : LIVRAISON (CodeLivraison, DateLivraison) Table 3 : DETAILLIVRAISON (CodeProduit, CodeLivraison, QuantiteLivree, PrixAchatUnitaire) Clé étrangère  : Table 4 : PRODUIT (CodeProduit, DesignationProduit, QuantiteStockProduit) CodeFournisseur 01. Retrouvez pour la table FOURNISSEUR la clé primaire. Pour la table FOURNISSEUR, l'identifiant (Unique, Stable et Exister) est : CodeFournisseur

15 La gestion des approvisionnements
La société AZAM gère ses approvisionnements selon le schéma relationnel suivant. On vous précise, entre autre, qu'un produit peut être acheté à différents fournisseurs, par contre une livraison ne peut pas concerner plusieurs fournisseurs : Table 1 : FOURNISSEUR (CodeFournisseur, NomFournisseur, FaxFournisseur, MelFournisseur) Clé primaire : CodeFournisseur Clé étrangère : Table 2 : LIVRAISON (CodeLivraison, DateLivraison) Clé primaire : Table 3 : DETAILLIVRAISON (CodeProduit, CodeLivraison, QuantiteLivree, PrixAchatUnitaire) Clé étrangère  : Table 4 : PRODUIT (CodeProduit, DesignationProduit, QuantiteStockProduit) CodeLivraison 01. Retrouvez pour la table LIVRAISON la clé primaire. Pour la table LIVRAISON, l'identifiant (Unique, Stable et Exister) est : CodeLivraison

16 La gestion des approvisionnements
La société AZAM gère ses approvisionnements selon le schéma relationnel suivant. On vous précise, entre autre, qu'un produit peut être acheté à différents fournisseurs, par contre une livraison ne peut pas concerner plusieurs fournisseurs : Table 1 : FOURNISSEUR (CodeFournisseur, NomFournisseur, FaxFournisseur, MelFournisseur) Clé primaire : CodeFournisseur Clé étrangère : Table 2 : LIVRAISON (CodeLivraison, DateLivraison) Clé primaire : CodeLivraison Table 3 : DETAILLIVRAISON (CodeProduit, CodeLivraison, QuantiteLivree, PrixAchatUnitaire) Clé primaire : Clé étrangère  : Table 4 : PRODUIT (CodeProduit, DesignationProduit, QuantiteStockProduit) CodeProduit + CodeLivraison 01. Retrouvez pour la table DETAILLIVRAISON la clé primaire. Pour la table DETAILLIVRAISON, l'identifiant (Unique, Stable et Exister) est : CodeProduit + CodeLivraison Les attributs dépendent du CodeProduit mais aussi du CodeLivraison

17 La gestion des approvisionnements
La société AZAM gère ses approvisionnements selon le schéma relationnel suivant. On vous précise, entre autre, qu'un produit peut être acheté à différents fournisseurs, par contre une livraison ne peut pas concerner plusieurs fournisseurs : Table 1 : FOURNISSEUR (CodeFournisseur, NomFournisseur, FaxFournisseur, MelFournisseur) Clé primaire : CodeFournisseur Clé étrangère : Table 2 : LIVRAISON (CodeLivraison, DateLivraison) Clé primaire : CodeLivraison Table 3 : DETAILLIVRAISON (CodeProduit, CodeLivraison, QuantiteLivree, PrixAchatUnitaire) Clé primaire : CodeProduit + CodeLivraison Clé étrangère  : Table 4 : PRODUIT (CodeProduit, DesignationProduit, QuantiteStockProduit) Clé primaire : CodeProduit 01. Retrouvez pour la table PRODUITla clé primaire. Pour la table PRODUIT, l'identifiant (Unique, Stable et Exister) est : CodeProduit

18 La gestion des approvisionnements
La société AZAM gère ses approvisionnements selon le schéma relationnel suivant. On vous précise, entre autre, qu'un produit peut être acheté à différents fournisseurs, par contre une livraison ne peut pas concerner plusieurs fournisseurs : Table 1 : FOURNISSEUR (CodeFournisseur, NomFournisseur, FaxFournisseur, MelFournisseur) Clé primaire : CodeFournisseur Clé étrangère : Table 2 : LIVRAISON (CodeLivraison, DateLivraison) Clé primaire : CodeLivraison Table 3 : DETAILLIVRAISON (CodeProduit, CodeLivraison, QuantiteLivree, PrixAchatUnitaire) Clé primaire : CodeProduit + CodeLivraison Clé étrangère  : Table 4 : PRODUIT (CodeProduit, DesignationProduit, QuantiteStockProduit) Clé primaire : CodeProduit CodeProduit en référence à CodeProduit de PRODUIT CodeLivraison en référence à CodeLivraison de LIVRAISON 02. Réalisez les liens entre les tables. Pour la table FOURNISSEUR pour l'instant le lien n'est pas possible.

19 La gestion des approvisionnements
La société AZAM gère ses approvisionnements selon le schéma relationnel suivant. On vous précise, entre autre, qu'un produit peut être acheté à différents fournisseurs, par contre une livraison ne peut pas concerner plusieurs fournisseurs : Table 1 : FOURNISSEUR (CodeFournisseur, NomFournisseur, FaxFournisseur, MelFournisseur) Clé primaire : CodeFournisseur Clé étrangère : Table 2 : LIVRAISON (CodeLivraison, DateLivraison) Clé primaire : CodeLivraison Table 3 : DETAILLIVRAISON (CodeProduit, CodeLivraison, QuantiteLivree, PrixAchatUnitaire) Clé primaire : CodeProduit + CodeLivraison Clé étrangère  : CodeProduit en référence à CodeProduit de PRODUIT CodeLivraison en référence à CodeLivraison de LIVRAISON Table 4 : PRODUIT (CodeProduit, DesignationProduit, QuantiteStockProduit) Clé primaire : CodeProduit fin , CodeFournisseur) CodeFournisseur en référence à CodeFournisseur de FOURNISSEUR 03. Comment la table FOURNISSEUR peut-elle être reliée au reste du schéma relationnel ?. La livraison ne concerne qu'un et un seul fournisseur, c'est pourquoi l'identifiant de fournisseur sera insérer dans la relation LIVRAISION qui permettra d'affecter un fournisseur bien précis à une livraison.

20 DOSSIER 10 Application 02 : Gestion des approvisionnements (suite) (TEMPS : 15 MN)

21 La gestion des approvisionnements (suite)
On vous communique un extrait des tables "DETAILLIVRAISON" et "PRODUIT".

22 La gestion des approvisionnements (suite)
On vous communique un extrait des tables "DETAILLIVRAISON" et "PRODUIT". Relevez dans les tables ci-dessus les erreurs de saisie. Pour chaque erreur déterminez quelle règle d'intégrité n'a pas été respectée. Le code produit P00001 dans la table DETAILLIVRAISON Il s'agit d'une contrainte d'intégrité de référence la valeur saisie pour un champ clé étrangère d’une table ne fait pas partie des valeurs du même champ clé primaire d’une autre table.

23 La gestion des approvisionnements (suite)
On vous communique un extrait des tables "DETAILLIVRAISON" et "PRODUIT". Relevez dans les tables ci-dessus les erreurs de saisie. Pour chaque erreur déterminez quelle règle d'intégrité n'a pas été respectée. La quantité non renseigné dans la table DETAILLIVRAISON Il s'agit d'une contrainte d'intégrité de domaine (la valeur saisie n’est pas compatible avec le type de données du champ)

24 La gestion des approvisionnements (suite)
On vous communique un extrait des tables "DETAILLIVRAISON" et "PRODUIT". Relevez dans les tables ci-dessus les erreurs de saisie. Pour chaque erreur déterminez quelle règle d'intégrité n'a pas été respectée. Le doublon dans la table DETAILLIVRAISON Il s'agit d'une contrainte d'intégrité de table (relation) (la valeur de la clé primaire n’est pas saisie ou s’il s’agit d’une valeur déjà existante). fin

25 Application 3 : Gestion des devis (TEMPS : 20 MN)
DOSSIER 10 Application 3 : Gestion des devis (TEMPS : 20 MN)

26 La société REALIZ La société REALIZ utilise maintenant sa base de données. Toutefois lors de la saisie des devis certains messages d'erreurs apparaissent. Monsieur Jean vous transmet ses remarques concernant l'utilisation de la base de données. Monsieur Jean vous transmet le modèle de la de la base de données, ainsi que la structure de la table DEVIS. Table 1 : DEVIS (Codedevis, Descriptif, Datedevis, Nbheuresestimees, Codeclient, Codevendeur) Clé primaire : Codedevis Clé étrangère : Codeclient en référence à Codeclient de CLIENT Codevendeur en référence à Codevendeur de VENDEUR Table 2 : CONCERNER (Codedevis, Codefourniture, Quantite) Clé primaire : Codedevis + Codefourniture Clé étrangère : Codedevis en référence à Codedevis de DEVIS Codefourniture en référence à Codefourniture de FOURNITURE Table 3 : FOURNITURE (Codefourniture, Libelle, PrixventeHT) Clé primaire : Cdefourniture Clé étrangère : Table 4 : CLIENT (Codeclient, Nomclient, Rueclient, Villeclient, Contactclient, Codecategorie) Clé primaire : Codeclient Clé étrangère : Codecategorie en référence à Codecategorie de CATEGORIE Table 5 : VENDEUR (Codevendeur, Nomvendeur, Prenomvendeur) Clé primaire : Codevendeur Table 6 : CATEGORIE (Codecategorie, Nomcategorie, Tauxremise) Clé primaire : Codecategorie

27 La société REALIZ Justifiez le message d'erreur.
Monsieur Jean vous transmet un extrait du modèle de la base de données, ainsi que la structure de la table DEVIS. Table 1 : DEVIS (Codedevis, Descriptif, Datedevis, Nbheuresestimees, Codeclient, Codevendeur) Clé primaire : Codedevis Clé étrangère : Codeclient en référence à Codeclient de CLIENT Codevendeur en référence à Codevendeur de VENDEUR Table 4 : CLIENT (Codeclient, Nomclient, Rueclient, Villeclient, Contactclient, Codecategorie) Clé primaire : Codeclient Clé étrangère : Codecategorie en référence à Codecategorie de CATEGORIE Table 5 : VENDEUR (Codevendeur, Nomvendeur, Prenomvendeur) Clé primaire : Codevendeur Clé étrangère : A. Lorsque je saisis le code d'un nouveau client directement dans la table devis le message suivant apparaît : Justifiez le message d'erreur. Déterminez quelle est la règle d'intégrité qui n'est pas respectée. Pour enregistrer dans la table DEVIS un codeclient, celui-ci doit exister dans la table CLIENT Il s'agit d'une contrainte d'intégrité de référence (Lorsque l'on établit un devis pour un nouveau client, il faut au préalable enregistrer ce nouveau client dans la base de données en saisissant ses informations dans la table CLIENT).

28 La société REALIZ Justifiez le message d'erreur.
Monsieur Jean vous transmet un extrait du modèle de la base de données, ainsi que la structure de la table DEVIS. Table 1 : DEVIS (Codedevis, Descriptif, Datedevis, Nbheuresestimees, Codeclient, Codevendeur) Clé primaire : Codedevis Clé étrangère : Codeclient en référence à Codeclient de CLIENT Codevendeur en référence à Codevendeur de VENDEUR Table 4 : CLIENT (Codeclient, Nomclient, Rueclient, Villeclient, Contactclient, Codecategorie) Clé primaire : Codeclient Clé étrangère : Codecategorie en référence à Codecategorie de CATEGORIE Table 5 : VENDEUR (Codevendeur, Nomvendeur, Prenomvendeur) Clé primaire : Codevendeur Clé étrangère : B. Lorsque j'indique la date d'un devis de la manière suivante Le message suivant apparaît : Justifiez le message d'erreur. Déterminez quelle est la règle d'intégrité qui n'est pas respectée. Selon la structure de la table DEVIS, le format du champ Datedevis est Date/heure. Il faut respecter le format "Date **/**/** Il s'agit d'une contrainte d'intégrité de domaine (la valeur saisie n’est pas compatible avec le type de données du champ).

29 La société REALIZ Justifiez le message d'erreur.
Monsieur Jean vous transmet un extrait du modèle de la base de données, ainsi que la structure de la table DEVIS. Table 1 : DEVIS (Codedevis, Descriptif, Datedevis, Nbheuresestimees, Codeclient, Codevendeur) Clé primaire : Codedevis Clé étrangère : Codeclient en référence à Codeclient de CLIENT Codevendeur en référence à Codevendeur de VENDEUR Table 4 : CLIENT (Codeclient, Nomclient, Rueclient, Villeclient, Contactclient, Codecategorie) Clé primaire : Codeclient Clé étrangère : Codecategorie en référence à Codecategorie de CATEGORIE Table 5 : VENDEUR (Codevendeur, Nomvendeur, Prenomvendeur) Clé primaire : Codevendeur Clé étrangère : C. J'ai voulu affecter à un nouveau vendeur, le code d'un ancien vendeur qui a démissionné. Lors de la saisie du nouveau vendeur le message suivant est apparu : Justifiez le message d'erreur. Déterminez quelle est la règle d'intégrité qui n'est pas respectée. L'ancien vendeur étant encore enregistré dans la base de données, il n'est pas possible d'affecter à un nouveau vendeur le même identifiant. Il s'agit d'une contrainte d'intégrité de table (relation) (il s’agit d’une valeur de la clé primaire déjà existante, un identifiant doit être unique)

30 La société REALIZ Justifiez le message d'erreur.
Monsieur Jean vous transmet un extrait du modèle de la base de données, ainsi que la structure de la table DEVIS. Table 1 : DEVIS (Codedevis, Descriptif, Datedevis, Nbheuresestimees, Codeclient, Codevenduru) Clé primaire : Codedevis Clé étrangère : Codeclient en référence à Codeclient de CLIENT Codevendeur en référence à Codevendeur de VENDEUR Table 4 : CLIENT (Codeclient, Nomclient, Rueclient, Villeclient, Contactclient, Codecategorie) Clé primaire : Codeclient Clé étrangère : Codecategorie en référence à Codecategorie de CATEGORIE Table 5 : VENDEUR (Codevendeur, Nomvendeur, Prenomvendeur) Clé primaire : Codevendeur Clé étrangère : C. J'ai donc voulu supprimer de la table vendeur, les coordonnée de l'ancien vendeur, mais le message suivant est apparu : fin Justifiez le message d'erreur. Déterminez quelle est la règle d'intégrité qui n'est pas respectée. On ne peut supprimer le code d'un vendeur dans la table VENDEUR si ce code est utilisé dans certains enregistrements de la table DEVIS. Il s'agit d'une contrainte d'intégrité de référence Autrement on risquerait d'avoir des codes vendeurs utilisés dans la table DEVIS qui ne correspondent à aucun enregistrement de la table VENDEUR.

31 Application 4 : La gestion des feuilles de temps (TEMPS : 40 MN)
DOSSIER 10 Application 4 : La gestion des feuilles de temps (TEMPS : 40 MN)

32 La société BTPro La société BTPPro réalise des chantiers de maçonnerie pour des entreprises ou des particuliers. Soucieuse de connaître le coût de son personnel sur chaque chantier, elle a établi une petite base de données composée de trois tables.

33 La société BTPro La société BTPPro réalise des chantiers de maçonnerie pour des entreprises ou des particuliers. Soucieuse de connaître le coût de son personnel sur chaque chantier, elle a établi une petite base de données composée de trois tables. 1. La structure de la table « CHANTIER » vous parait-elle rationnelle ? . 2. Réalisez les modifications nécessaires pour éviter d'avoir à ressaisir dans cette table l'adresse du client. Il est inutile (l'adresse du client ne dépend pas fonctionnellement du numéro de chantier) et redondant d'avoir l'adresse dans la table CHANTIER. Il faut supprimer ce champ de la table et créer une table CLIENT dont les champs seront Nomclient et Adresseclient. Il serait souhaitable de créer dans la table CLIENT une clé primaire avec un Codeclient. Dans ce cas, il faut indiquer dans la table CHANTIER le Codeclient en clé étrangère (jointure) et supprimer le champ Nomclient.

34 La société BTPro ATTRIBUT FORMAT Numeroouvrier Nomouvrier
La société BTPPro réalise des chantiers de maçonnerie pour des entreprises ou des particuliers. Chaîne de caractères (Texte) Chaîne de caractères (Texte) Chaîne de caractères (Texte) Monétaire Logique (Booléen) 02. Proposez un format adéquat pour chaque attribut de la relation OUVRIER. ATTRIBUT FORMAT Numeroouvrier Nomouvrier Prenomouvrier Tauxhoraireouvier interimaire

35 La société BTPro La société BTPPro réalise des chantiers de maçonnerie pour des entreprises ou des particuliers. 03. On désire connaître le nom des ouvriers intérimaires Quels opérateurs relationnels faut-il utiliser ? On fait une RESTRICTION sur la table OUVRIER en ne conservant que les tuples où le champ Interimaire est Oui. On réalise une PROJECTION de cette restriction en conservant seulement les valeurs de l'attribut "Nomouvrier".

36 La société BTPro La société BTPPro réalise des chantiers de maçonnerie pour des entreprises ou des particuliers. 04. Pour connaître les numéros des chantiers sur lesquels a travaillé Monsieur Dupuis, quels sont les opérateurs relationnels nécessaires ? On fait une RESTRICTION sur la table OUVRIER en ne conservant que les tuples où le champ Numeroouvrier est 001. On réalise une JOINTURE entre les tables OUVRIER et TRAVAILLER grâce au numéro ouvrier. On réalise une PROJECTION de cette restriction en conservant seulement les valeurs de l'attribut "Numerochantier".

37 La société BTPro Les enregistrements dans la table TRAVAILLER correspondent à la journée du 22 octobre N. Pour la journée du 23 octobre, certaines saisies sont refusées par le SGBDR (ex. : la saisie du salarié numéro 003 pour le chantier est interdite). 05. Expliquez pourquoi certaines saisies sont refusées par le SGBDR. Il existe déjà un tuple pour la clé primaire " " dans la table TRAVAILLER. Si un salarié travaille une nouvelle fois sur ce numéro de chantier, on ne pourra saisir ses heures (doublon). Il s'agit d'une contrainte d'intégrité de table (relation) (il s’agit d’une valeur de la clé primaire déjà existante, un identifiant doit être unique)

38 La société BTPro Les enregistrements dans la table TRAVAILLER correspondent à la journée du 22 octobre N. Pour la journée du 23 octobre, certaines saisies sont refusées par le SGBDR (ex. : la saisie du salarié numéro 003 pour le chantier est interdite). 06. Proposez une modification de la table "TRAVAILLER" permettant de saisir le nombre d'heures par jour, par chantier et par salairé. Il faut ajouter dans la table TRAVAILLER l'attribut "Date". Cet attribut devra être associé aux champs "Numerochantier" et Numeroouvrier" afin de former la clé primaire de la table TRAVAILLER

39 La société BTPro 07. Ecrivez le modèle relationnel correspondant. fin
Table 1 : CHANTIER (Numerochantier, Adressechantier, Datedébut, Montant, Codeclient) Clé primaire : Numerochantier Clé étrangère : Codeclient en référence à Codelcient de CLIENT Table 2 : TRAVAILLER (Numerochantier, Numeroouvrier, Date, Heuresrealisees) Clé primaire : Numerochantier + Numeroouvrier + Date Clé étrangère : Numerochantier en référence à Numerochantier de CHANTIER Numeroouvrier en référence à Numeroovrier de OUVRIER Table 3 : OUVRIER (Numeroouvrier, Nomouvrier, Prenomouvrier, Tauxhoraire, Interimaire) Clé primaire : Numeroouvrier Clé étrangère : Table 4 : CLIENT (Codeclient, Nomclient, Adresseclient) Clé primaire : Codeclient fin

40 Sources : Éditions Hachette Livre: Information et gestion
Première STG Gestion Diaporama adapté et automatisé par M. Grard (enseignant) Sources : Éditions Hachette Livre: Information et gestion Retour vers les liens


Télécharger ppt "DOSSIER 10 – La base de données relationnelle"

Présentations similaires


Annonces Google