View
43
Download
0
Category
Preview:
DESCRIPTION
Les bases du Modèle Conceptuel de Données (MCD). Christine Garcia (cgarcia@unice.fr). Enoncé d’un problème (mise en équation). - PowerPoint PPT Presentation
Citation preview
Les bases du Modèle Les bases du Modèle Conceptuel de DonnéesConceptuel de Données
(MCD)(MCD)
Christine Garcia (cgarcia@unice.fr)
Christine Garcia
Enoncé d’un problème Enoncé d’un problème (mise (mise en équation)en équation)
A 9 heures du matin, Paul part à A 9 heures du matin, Paul part à bicyclette de A vers B (vitesse 15 bicyclette de A vers B (vitesse 15 Km/h). A 10 heures moins le quart, Km/h). A 10 heures moins le quart, Pierre en fait autant de B vers A Pierre en fait autant de B vers A (vitesse 20 Km/h).(vitesse 20 Km/h).Ils se rencontrent pour pique-niquer Ils se rencontrent pour pique-niquer à mi-chemin. Quelle heure est-il?à mi-chemin. Quelle heure est-il?
Christine Garcia
Utilisation des logicielsUtilisation des logiciels
Enoncé d’un problèmeEnoncé d’un problème
Utilisation d'un logiciel de résolution Utilisation d'un logiciel de résolution d’équationsd’équations
Réflexion
Christine Garcia
Utilisation des logicielsUtilisation des logiciels
Enoncé du problèmeEnoncé du problème
Utilisation du logiciel ACCESSUtilisation du logiciel ACCESS
MCD
Modèle Conceptuel de Données
Christine Garcia
Approche par un Approche par un exempleexemple
Nous allons voir sur un exemple de Nous allons voir sur un exemple de facturation, les différentes étapes de facturation, les différentes étapes de décomposition en plusieurs tableaux, décomposition en plusieurs tableaux, pour arriver au résultat final.pour arriver au résultat final.
Christine Garcia
Société INFOGEASociété INFOGEA
Code clientCode client NOMNOM PrénomPrénom TélTél VILLEVILLE CatégorieCatégorie
A23EA23E OZELOZEL GeorgesGeorges 04.93.43.41.4104.93.43.41.41 CANNESCANNES DD
A54TA54T BIGAUDBIGAUD PierrePierre 04.93.78.90.1504.93.78.90.15 NICENICE NN
B54EB54E RIGALRIGAL PierrePierre 04.93.98.89.9904.93.98.89.99 NICENICE PP
C68LC68L CATEXCATEX PaulPaul 04.97.32.53.7804.97.32.53.78 NICENICE PP
E87ZE87Z CORSICORSI MichelMichel 04.92.11.99.0004.92.11.99.00 CANNESCANNES OrOr
F84QF84Q DUELDUEL JacquesJacques 04.93.93.60.1804.93.93.60.18 ANTIBESANTIBES NN
P41GP41G FALCOFALCO RenéRené 04.93.43.42.4104.93.43.42.41 ANTIBESANTIBES OrOr
Z34FZ34F DURANDDURAND SylvieSylvie 04.92.11.22.1004.92.11.22.10 NICENICE DD
RéférencRéférencee
DésignationDésignation Prix_HTPrix_HT
C321C321 Cartouche laserCartouche laser 158 € 158 €
CS23CS23 Carte son 16 bitsCarte son 16 bits 300 € 300 €
E655E655 Enceintes stéréoEnceintes stéréo 122 122 € €
IJ67IJ67 Imprimante jet d'encreImprimante jet d'encre 870 € 870 €
IL23IL23 Imprimante laserImprimante laser 1 222 1 222 € €
P132P132 Pentium 120MhzPentium 120Mhz 2900 € 2900 €
S210S210 Scanner à mainScanner à main 327 € 327 €
PRODUIT
CLIENT
REMISE
Christine Garcia
RèglesRègles et Requêtes et Requêtes
Des produits peuvent être commandés par des Des produits peuvent être commandés par des clients. Une commande concerne un et un seul clients. Une commande concerne un et un seul client (qui peut effectuer plusieurs commandes) client (qui peut effectuer plusieurs commandes) et peut concerner plusieurs produits.et peut concerner plusieurs produits.
La liste des produits ordonnés suivant leurs prix, liste des clients suivant leurs codes,…
Le nombre de commandes où apparaît le produit C321.
Le total des montants des commandes du client OZEL.
Christine Garcia
Tableau de départTableau de départ
Christine Garcia
Ajout/ModificationAjout/Modification
5 lignes/14 colonnes=70 cases
Modifier le prix du produit C321Modifier le prix du produit C321
6 lignes/1 colonne=6 cases
Modifier le % de la catégorie OrModifier le % de la catégorie Or
15 lignes/1 colonne=15 cases
Modifier le téléphone de CORSI (E87Z)Modifier le téléphone de CORSI (E87Z)
11 lignes/1 colonne=11 cases
Une nouvelle commande de 5 produitsUne nouvelle commande de 5 produits
Christine Garcia
Etape1Etape1
Tableau REMISE permet de Tableau REMISE permet de supprimer la colonne Remise supprimer la colonne Remise du du tableau de départtableau de départ
Tableau CLIENT permet de Tableau CLIENT permet de supprimer supprimer les colonnes Nom, Prénom, Tél, Ville les colonnes Nom, Prénom, Tél, Ville et Catégorie et Catégorie du tableau de départdu tableau de départ
Tableau PRODUITS permet de Tableau PRODUITS permet de supprimer les colonnes Désignation supprimer les colonnes Désignation et Prix_HT et Prix_HT du tableau de départdu tableau de départ
Christine Garcia
Tableau1
Christine Garcia
Ajout/ModificationAjout/Modification
5 lignes/6 colonnes=30 cases (Tableau1)
Modifier le prix du produit C321Modifier le prix du produit C321
1 ligne/1 colonne=1 case (PRODUIT)
Modifier le % de la catégorie OrModifier le % de la catégorie Or
1 ligne/1 colonne=1 case (REMISE)
Modifier le téléphone de CORSI (E87Z)Modifier le téléphone de CORSI (E87Z)
1 ligne/1 colonne=1 case (CLIENT)
Une nouvelle commande de 5 produitsUne nouvelle commande de 5 produits
Christine Garcia
Etape2Etape2
Le montant est calculé à partir des Le montant est calculé à partir des informations prix hors taxe (obtenu informations prix hors taxe (obtenu grâce à la référence du produit) et de grâce à la référence du produit) et de la quantitéla quantitéSuppression de la colonne montantSuppression de la colonne montant
La TVA est fixe, il est donc inutile de La TVA est fixe, il est donc inutile de la répéter à chaque lignela répéter à chaque ligneSuppression de la colonne TVASuppression de la colonne TVA
Christine Garcia
Tableau2
Christine Garcia
Ajout/ModificationAjout/Modification
5 lignes/4 colonnes=20 cases (Tableau2)
Modifier le prix du produit C321Modifier le prix du produit C321
1 ligne/1 colonne=1 case (PRODUIT)
Modifier le % de la catégorie OrModifier le % de la catégorie Or
1 ligne/1 colonne=1 case (REMISE)
Modifier le téléphone de CORSI (E87Z)Modifier le téléphone de CORSI (E87Z)
1 ligne/1 colonne=1 case (CLIENT)
Une nouvelle commande de 5 produitsUne nouvelle commande de 5 produits
Christine Garcia
Etape3Etape3
Quelle Quelle quantitéquantité de Cartouche laser (C321) le de Cartouche laser (C321) le client CORSI (E87Z) a-t-il commandé ? client CORSI (E87Z) a-t-il commandé ?
2 le 09/08/02 et 4 le 05/09/02
Pour obtenir la quantité d’un Pour obtenir la quantité d’un produit sur une commande on a produit sur une commande on a besoin : de la besoin : de la référence du produitréférence du produit, , dudu code clientcode client et deet de lala datedate..
Christine Garcia
Etape3Etape3
Quelle quantité de Scanner à main (S210) le client CORSI Quelle quantité de Scanner à main (S210) le client CORSI (E87Z) a-t-il demandé dans sa commande du 05/09/02 ?(E87Z) a-t-il demandé dans sa commande du 05/09/02 ?
Le client CORSI a passé deux commandes à cette date. Impossible de répondre de façon non ambiguë.
Christine Garcia
Etape3Etape3
imposer qu’un client ne peut imposer qu’un client ne peut passer plusieurs commandes le passer plusieurs commandes le même jourmême jour
autoriser qu’un client passe autoriser qu’un client passe plusieurs commandes le même plusieurs commandes le même jour à condition qu’elles ne portent jour à condition qu’elles ne portent pas sur les mêmes produitspas sur les mêmes produits
ajouter un numéro de commandeajouter un numéro de commande
Trois solutions :
Christine Garcia
Tableau3
Ajout d'un Ajout d'un numéro de numéro de commandecommande
Christine Garcia
Etape4Etape4
Création d’un tableau COMMANDECréation d’un tableau COMMANDEN°CdeN°Cde Date_CdeDate_Cde Code_ClientCode_Client
11 12/07/200212/07/2002 A54TA54T
22 09/08/200209/08/2002 E87ZE87Z
33 08/08/200208/08/2002 A54TA54T
44 07/08/200207/08/2002 F84QF84Q
55 22/08/200222/08/2002 P41GP41G
66 01/09/200201/09/2002 A23EA23E
77 02/09/200202/09/2002 C68LC68L
88 02/09/200202/09/2002 B54EB54E
99 05/09/200205/09/2002 E87ZE87Z
1010 05/09/200205/09/2002 E87ZE87Z
COMMANDE
permet desupprimerles colonnesCode ClientetDate
Christine Garcia
Tableau4
Christine Garcia
RécapitulatifRécapitulatif
Tableau de départ : Tableau de départ : 35 lignes et 14 colonnes35 lignes et 14 colonnes
212 cases
490 cases
Tableau CLIENT 8 lignes × 6 colonnes (48)
Tableau PRODUITS 7 lignes × 3 colonnes (21)
Tableau REMISE 2 lignes × 4 colonnes (8)Tableau COMMANDE 10 lignes × 3 colonnes
(30)Tableau LIGNE_CDE 35 lignes × 3 colonnes (105)
Christine Garcia
ComparaisonComparaison
70 cases
Modifier le prix du produit C321Modifier le prix du produit C3216 cases
Modifier le % de la catégorie OrModifier le % de la catégorie Or
15 cases
Modifier le téléphone de CORSI (E87Z)Modifier le téléphone de CORSI (E87Z)
11 casesUne nouvelle commande de 5 produitsUne nouvelle commande de 5 produits
1 lig. / 1 col. = 1 case
1 lig. / 1 col. = 1 case
1 lig. / 1 col.= 1 case
1x3 + 5x3 = 18 cases
Indépendants du nombre de commandes
Christine Garcia
Mise en équation=Décomposition en Mise en équation=Décomposition en tableauxtableaux
Code ClientNomPrénomTélVilleCatégorie
RéférenceDésignationPrix_HT
CatégoriePourcentage
N°ComDate_ComCode_Client
N°ComRéférenceQuantité
PRO
DU
ITCLIENTREMISE
COMMANDELigne_CDE
Christine Garcia
PlanPlan
1.1. IntroductionIntroduction2.2. Dictionnaire des donnéesDictionnaire des données
3.3. Dépendances fonctionnellesDépendances fonctionnelles
4.4. Entités / AssociationsEntités / Associations
5.5. Normalisation des entitésNormalisation des entités
Christine Garcia
1. Introduction1. Introduction
Définition : Définition : Une Base de Données (BD) est un Une Base de Données (BD) est un ensemble de données mémorisées sur des ensemble de données mémorisées sur des supports accessibles par un ordinateursupports accessibles par un ordinateur
La définition d’une BD passe par une La définition d’une BD passe par une étape d’analyse (réflexion, étape d’analyse (réflexion, modélisation) du système de modélisation) du système de fonctionnement de l’entreprisefonctionnement de l’entreprise
Christine Garcia
1. Introduction1. Introduction
Système de Gestion d’une Base de Données (SGBD)Système de Gestion d’une Base de Données (SGBD)
gère l’insertion, la modification et la recherche efficace de données dans une grande masse d’informationsgère l’interface entre les utilisateurs et le support sur lequel est stockée la BD
=LOGICIEL (ex : ACCESS, Oracle, DB2 (IBM))
Christine Garcia
1. Introduction : 1. Introduction : Points clés Points clés d’un SGBDd’un SGBD
Efficacité des accès aux données Efficacité des accès aux données
Manipulation par des non Manipulation par des non informaticiensinformaticiensUn SGBD permet de décrire ce
que l’on souhaite sans décrire comment l’obtenir
Un SGBD repose sur des algorithmes performants qui optimisent l’accès aux données
Christine Garcia
1. Introduction : 1. Introduction : Points clés Points clés d’un SGBDd’un SGBD
Un Un SGBDSGBD permet de centraliser permet de centraliser des informations :des informations :
• garantit la non-redondance
• minimise la perte de place
• facilite la mise à jour des données
Christine Garcia
1. Introduction : 1. Introduction : Points clés Points clés d’un SGBDd’un SGBD
Cohérence des donnéesCohérence des données
Partager des donnéesPartager des données
Un SGBD permet la vérification de contraintes (ex : un salaire est compris entre 1 000 € et 4 000 €, l’emprunteur d’un livre doit être un abonné)
Un SGBD permet à plusieurs personnes d’accéder simultanément aux données
Christine Garcia
1.1. IntroductionIntroduction
Le modèle Le modèle relationnelrelationnel soumet la base soumet la base de données à une normede données à une norme
Basé sur les dépendances Basé sur les dépendances fonctionnelles (DF)fonctionnelles (DF)
Organisation des données en tableOrganisation des données en table
Christine Garcia
PlanPlan
1.1. IntroductionIntroduction
2.2. Dictionnaire des donnéesDictionnaire des données3.3. Dépendances fonctionnellesDépendances fonctionnelles
4.4. Entités / AssociationsEntités / Associations
5.5. Normalisation des entitésNormalisation des entités
Christine Garcia
2. Dictionnaire des 2. Dictionnaire des donnéesdonnées
Différents types d'informationDifférents types d'information Information élémentaire = donnée NON Information élémentaire = donnée NON
décomposabledécomposable
Information composéeInformation composée
Exemples : Nom, N°Produit, N°INSEE
Exemple : une adresse est composée d’un n°de rue, du nom d’une rue, d’un code postal et d’une ville
Christine Garcia
2. Dictionnaire des 2. Dictionnaire des donnéesdonnées
Différents types d'informationDifférents types d'information Information calculée / non calculéeInformation calculée / non calculée
Information Information calculéecalculée
Information non calculéeInformation non calculée
Résultat obtenu par application d’un calcul ARITHMETIQUE ou LOGIQUE à des données de base
Donnée de base = valeur observée ou constatée
Christine Garcia
2. Dictionnaire des 2. Dictionnaire des donnéesdonnées
Construire le dictionnaire de Construire le dictionnaire de donnéesdonnées Recenser, classer, analyser les Recenser, classer, analyser les
données élémentairesdonnées élémentaires Chaque donnée :Chaque donnée :• identifiée par un NOM DE CODE
• associée à une règle de gestion (donnée calculée)
• définie par un TYPE (entier, chaîne de caractères,
date,…)
Christine Garcia
2. Dictionnaire des 2. Dictionnaire des donnéesdonnées
Dictionnaire complet Dictionnaire complet
Il est redondant Il est redondant
Données calculées et non calculées
Les données calculées s’obtiennent à partir des données de base
Christine Garcia
2. Exemple INFOGEA2. Exemple INFOGEA
CommandeCommande : :Différents produits peuvent être Différents produits peuvent être commandés par des clients. Une commandés par des clients. Une commande :commande : concerne un et un seul client (qui peut concerne un et un seul client (qui peut
effectuer plusieurs commandes)effectuer plusieurs commandes) se compose de plusieurs lignes de se compose de plusieurs lignes de
commande, chacune concernant un produitcommande, chacune concernant un produit
Christine Garcia
2. Dictionnaire complet2. Dictionnaire completSIGNIFICATIONSIGNIFICATION NOM DE CODENOM DE CODE REGLE DE GESTIONREGLE DE GESTION
Numéro de commandeNuméro de commande N°ComN°Com
Code du clientCode du client Code clientCode client
Date de la commandeDate de la commande DateDate
Nom du clientNom du client NOMNOM
Prénom du clientPrénom du client PrénomPrénom
Tél du clientTél du client TélTél
Ville du clientVille du client VILLEVILLE
Catégorie du clientCatégorie du client CatégorieCatégorie
Remise selon catégorieRemise selon catégorie RemiseRemise
Référence du produitRéférence du produit RéférenceRéférence
Désignation du produitDésignation du produit DésignationDésignation
Prix hors taxe du pdtPrix hors taxe du pdt Prix_HTPrix_HT
Quantité commandée d’un produitQuantité commandée d’un produitdans une commandedans une commande QuantitéQuantité
Montant par produitMontant par produit MontantMontant multiplicationmultiplication
TVATVA TvaTva
Christine Garcia
2. Dictionnaire réduit2. Dictionnaire réduitSIGNIFICATIONSIGNIFICATION NOM DE CODENOM DE CODE REGLE DE GESTIONREGLE DE GESTION
Numéro de commandeNuméro de commande N°ComN°Com
Code du clientCode du client Code clientCode client
Date de la commandeDate de la commande DateDate
Nom du clientNom du client NOMNOM
Prénom du clientPrénom du client PrénomPrénom
Tél du clientTél du client TélTél
Ville du clientVille du client VILLEVILLE
Catégorie du clientCatégorie du client CatégorieCatégorie
Remise selon catégorieRemise selon catégorie RemiseRemise
Référence du produitRéférence du produit RéférenceRéférence
Désignation du produitDésignation du produit DésignationDésignation
Prix hors taxe du pdtPrix hors taxe du pdt Prix_HTPrix_HT
Quantité commandée d’un produit Quantité commandée d’un produit dans une commandedans une commande QuantitéQuantité
Montant par produitMontant par produit MontantMontant multiplicationmultiplication
TVATVA TvaTva
Données élémentaires
(non calculées)
Christine Garcia
PlanPlan
1.1. IntroductionIntroduction
2.2. Dictionnaire des donnéesDictionnaire des données
3.3. Dépendances fonctionnellesDépendances fonctionnelles4.4. Entités / AssociationsEntités / Associations
5.5. Normalisation des entitésNormalisation des entités
Christine Garcia
3. Dépendances 3. Dépendances fonctionnelles fonctionnelles
Attribut Attribut
ExemplesExemples
Donnée élémentaire du dictionnaire de données
Nom client, Prénom, prix_HT,
date de la commande
Christine Garcia
3. Attribut3. Attribut
Attention ! Distinguer le nom Attention ! Distinguer le nom de l’attribut et sa valeurde l’attribut et sa valeur
Exemple :Exemple :
"Nom client" est un nom d’attribut
"Falco" est une VALEUR (ou OCCURRENCE) de cet attribut
Christine Garcia
3. DF : Définitions et 3. DF : Définitions et propriétéspropriétés
Soit A un attribut ou un ensemble Soit A un attribut ou un ensemble d’attributs et soit B un attribut, on dit que d’attributs et soit B un attribut, on dit que BB dépend fonctionnellement de A, si dépend fonctionnellement de A, si
Notation : A Notation : A B B
à chaque valeur de A ne correspond qu’une et une seule valeur de B
donnée SOURCE donnée BUT
Exemple : numéro d'étudiant nom de l'étudiant
Christine Garcia
Code Client N°Com
Nom Prénom
3. Exemples3. Exemples
N°Com Code Client
N°Com Tél
Référence Prix_HT
Code Client, Nom Prénom
Christine Garcia
3. Définitions et 3. Définitions et propriétéspropriétés
Propriétés des DFPropriétés des DF
Réflexive : Réflexive :
Transitive :Transitive :A A
Si A B et B C
Alors A C
Non symétriqueNon symétrique
Si A B alors
B A
ExempleExempleindividu date de
naissance
date de naissance individu
Christine Garcia
3. Formes particulières 3. Formes particulières de DFde DF
DF à Partie Gauche Composée : DF à Partie Gauche Composée : DFPGCDFPGC
La SOURCE de la DF est composée La SOURCE de la DF est composée de plusieurs attributs de plusieurs attributs
Notation : (A1 , A2) Notation : (A1 , A2) B B
Christine Garcia
3. DFPGC3. DFPGC
(N°Com, Code Client) Prénom
(N°Com, Référence) Quantité
(Référence, Désignation) Prix_HT
Christine Garcia
3. Formes particulières de 3. Formes particulières de DFDF
DF élémentaireDF élémentaire Soient 2 attributs A1 et A2, la DF : Soient 2 attributs A1 et A2, la DF :
A1 A1 A2 est A2 est élémentaire siélémentaire si
Il n’existe pas de sous-ensemble A’1 contenu dans A1 tel que A’1 A2
A1 A2
A’1A1
Christine Garcia
3. DF élémentaire3. DF élémentaire
(N°Com, Code Client) Prénom
(N°Com, Référence) Quantité
(Référence, Désignation) Prix_HT
Christine Garcia
(9, S210) 5
(10, S210) 7
(N°Com, Référence) Quantité
Christine Garcia
3. DF élémentaire3. DF élémentaire
Remarques :Remarques :toute DF avec un seul attribut est toute DF avec un seul attribut est élémentaireélémentaire
une DFPGC peut-être élémentaire ou nonune DFPGC peut-être élémentaire ou non
N°Produit désignation
(N°Com, N°Produit) Qté_com(par article)
(N°Produit, Désignation) Prix_HT
Christine Garcia
3. Formes particulières de 3. Formes particulières de DFDF
DF directeDF directe Soient 2 attributs A1 et A2, la DF :Soient 2 attributs A1 et A2, la DF :
A1 A1 A2 est A2 est directe sidirecte si
il n’existe pas un autre attribut A3 tel que A1 A3 et A3 A2
A1 A2
A3
Christine Garcia
N°Com Code Client
N°Com Tél
Réf Prix_HT
3. DF directe3. DF directe
Code Client
N°Com Tél
Christine Garcia
3. DF : Rappels3. DF : Rappels
Dépendance Fonctionnelle (DF)Dépendance Fonctionnelle (DF)N°INSEE N°INSEE Date de naissance Date de naissance(Référence, Désignation) (Référence, Désignation) Prix_HT Prix_HT
DF à partie gauche composée (DFPGC)DF à partie gauche composée (DFPGC) DF élémentaireDF élémentaire
(Référence, N°Com.) (Référence, N°Com.) Qté commandée Qté commandée DF directeDF directe
N°Com N°Com Code Client Code ClientN°Com N°Com Téléphone Client Téléphone Client
Christine Garcia
3. Représentation des DF3. Représentation des DF
Matrice (matrice des index)Matrice (matrice des index) La matrice est carréeLa matrice est carrée Notation : une croix symbolise Notation : une croix symbolise
l’existence d’une DFl’existence d’une DF La diagonale de la matrice La diagonale de la matrice
comporte toujours des croix comporte toujours des croix (réflexivité)(réflexivité)
Christine Garcia
Ex2. Matrice des DFEx2. Matrice des DFSources
Buts 11 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414
1. N°Com1. N°Com
2. Code client2. Code client
3. Date3. Date
4. NOM4. NOM
5. Prénom5. Prénom
6. Tél6. Tél
7. VILLE7. VILLE
8. Catégorie8. Catégorie
9. Remise9. Remise
10. Référence10. Référence
11. Désignation11. Désignation
12. Prix_HT12. Prix_HT
13. Quantité13. Quantité
14. Tva14. Tva
Christine Garcia
3. Graphe : 3. Graphe : principe principe
Donnée source
Donnée BUT 1 Donnée BUT 2 Donnée BUT 3
Racine
DF directes
Christine Garcia
télnom prénom ville catégorie
3. Graphe : E3. Graphe : Exemplexemple
Référence
PHTdésignationCode Client
N°Com
Date
remise
Quantité
Christine Garcia
Ex1. Gestion des Ex1. Gestion des missionsmissions
• Hypothèses :Hypothèses :- il n’y a qu’un seul employé par missionil n’y a qu’un seul employé par mission- un employé peut être chargé de un employé peut être chargé de
plusieurs missionsplusieurs missions- un employé est affecté à un seul serviceun employé est affecté à un seul service- un service comprend entre 1 et 10 un service comprend entre 1 et 10
employésemployés• Dictionnaire des données, matrice Dictionnaire des données, matrice
des DF et graphe des DFdes DF et graphe des DF
Christine Garcia
3. Ex1. Dictionnaire des 3. Ex1. Dictionnaire des donnéesdonnées
SIGNIFICATIONSIGNIFICATION NOM DE CODENOM DE CODEREGLE DE REGLE DE
GESTIONGESTION
Numéro du serviceNuméro du service Num_serviceNum_service
Nom du serviceNom du service Nom_serviceNom_service
Numéro de l’employéNuméro de l’employé Num_empNum_emp
Nom de l’employéNom de l’employé Nom_empNom_emp
Prénom de l’employéPrénom de l’employé Prénom_empPrénom_emp
Numéro de la missionNuméro de la mission Num_missionNum_mission
Date de la missionDate de la mission DateDate
Christine Garcia
Ex1. Matrice de DFEx1. Matrice de DF
1. Num_service
2. Nom_service3. Num_emp
6. Num_mission
5. Prénom_emp4. Nom_emp
7. Date_mission
Données sources
Données buts1 2 3 4 5 6 7
Christine Garcia
Ex1. Graphe des DF Ex1. Graphe des DF (directes)(directes)
Num_mission
Date_mission Num_emp
Prénom_empNom_emp Num_service
Nom_service
Christine Garcia
Le modèle relationnel soumet la base de Le modèle relationnel soumet la base de données à une normedonnées à une norme
Basé sur les dépendances fonctionnelles Basé sur les dépendances fonctionnelles (DF)(DF)
Organisation des données en table (entités)Organisation des données en table (entités)
RAPPELRAPPEL
Christine Garcia
PlanPlan
1.1. IntroductionIntroduction
2.2. Dictionnaire des donnéesDictionnaire des données
3.3. Dépendances fonctionnellesDépendances fonctionnelles
4.4. Entités / AssociationsEntités / Associations5.5. Normalisation des entitésNormalisation des entités
Christine Garcia
4. Entités/Associations4. Entités/Associations
Entité Entité • Nom théorique (formel) donné à une Nom théorique (formel) donné à une
table. L'entité est un objet ou individu table. L'entité est un objet ou individu (réel ou abstrait) décrit à l'aide d'un (réel ou abstrait) décrit à l'aide d'un ensemble d'attributsensemble d'attributs
• Exemples : produit, client, étudiants, …Exemples : produit, client, étudiants, …
Christine Garcia
4. Entités4. Entités
ReprésentationReprésentation
CLIENTEntité
= TableCode Client
NOMPrénomTélVilleCatégorie
Attributs décrivantl'entité
CLIENT
Christine Garcia
4. Degré d'une entité4. Degré d'une entité
• Le degré d'une entité représente son Le degré d'une entité représente son nombre d'attributsnombre d'attributs
• Exemple :Exemple :
= nombre de colonnes de la table.
Degré CLIENT
=6
Code clientCode client NOMNOM PrénomPrénom TélTél VILLEVILLE CatégorieCatégorie
A23EA23E OZELOZEL GeorgesGeorges 04.93.43.41.4104.93.43.41.41 CANNESCANNES DD
A54TA54T BIGAUDBIGAUD PierrePierre 04.93.78.90.1504.93.78.90.15 NICENICE NN
B54EB54E RIGALRIGAL PierrePierre 04.93.98.89.9904.93.98.89.99 NICENICE PP
C68LC68L CATEXCATEX PaulPaul 04.97.32.53.7804.97.32.53.78 NICENICE PP
E87ZE87Z CORSICORSI MichelMichel 04.92.11.99.0004.92.11.99.00 CANNESCANNES OrOr
F84QF84Q DUELDUEL JacquesJacques 04.93.93.60.1804.93.93.60.18 ANTIBESANTIBES NN
P41GP41G FALCOFALCO RenéRené 04.93.43.42.4104.93.43.42.41 ANTIBESANTIBES OrOr
Z34FZ34F DURANDURANDD
SylvieSylvie 04.92.11.22.1004.92.11.22.10 NICENICE DD
Christine Garcia
4. Occurrence d'une 4. Occurrence d'une entitéentité
L'occurrence ("tuple") est la L'occurrence ("tuple") est la réalisation de l'entitéréalisation de l'entité
Nombres d'occurrences = nombres Nombres d'occurrences = nombres de lignes du tableaude lignes du tableau
ExemplesExemples
8 occurrences
Code clientCode client NOMNOM PrénomPrénom TélTél VILLEVILLE CatégorieCatégorie
A23EA23E OZELOZEL GeorgesGeorges 04.93.43.41.4104.93.43.41.41 CANNESCANNES DD
A54TA54T BIGAUDBIGAUD PierrePierre 04.93.78.90.1504.93.78.90.15 NICENICE NN
B54EB54E RIGALRIGAL PierrePierre 04.93.98.89.9904.93.98.89.99 NICENICE PP
C68LC68L CATEXCATEX PaulPaul 04.97.32.53.7804.97.32.53.78 NICENICE PP
E87ZE87Z CORSICORSI MichelMichel 04.92.11.99.0004.92.11.99.00 CANNESCANNES OrOr
F84QF84Q DUELDUEL JacquesJacques 04.93.93.60.1804.93.93.60.18 ANTIBEANTIBESS
NN
P41GP41G FALCOFALCO RenéRené 04.93.43.42.4104.93.43.42.41 ANTIBEANTIBESS
OrOr
Z34FZ34F DURANDURANDD
SylvieSylvie 04.92.11.22.1004.92.11.22.10 NICENICE DD
Christine Garcia
4. Associations4. Associations
L'association est un lien entre 2 ou plusieurs L'association est un lien entre 2 ou plusieurs entités (tables)entités (tables)
ReprésentationReprésentation
Formes équivalentes : deux sens de lectureFormes équivalentes : deux sens de lecture
LIVRE EDITEUR
PUBLIEPAR
ASSOCIATION
PUBLIE
Christine Garcia
4. Cardinalités d'une 4. Cardinalités d'une associationassociation
Exemple : Écrivains et ouvragesExemple : Écrivains et ouvrages• Un livre est écrit par au plus 8 Un livre est écrit par au plus 8
auteursauteurs• Un auteur écrit au plus 50 livresUn auteur écrit au plus 50 livres
EST ECRITPAR
LIVRE AUTEUR1,8 1,50
Christine Garcia
4. Cardinalités d'une 4. Cardinalités d'une associationassociation
• Les cardinalités sont les nombres Les cardinalités sont les nombres MINIMUM et MAXIMUM d'occurrences MINIMUM et MAXIMUM d'occurrences d'une entité par rapport à une d'une entité par rapport à une association.association.
Chaque entité a des cardinalités avec 2 valeurs (minimum et maximum)
Christine Garcia
4. Cardinalités d'une 4. Cardinalités d'une associationassociation
• Possibilités : M et N sont deux entiersPossibilités : M et N sont deux entiers
0,10,N0,
1,11,N1,
M,MM,NM,
Christine Garcia
Gestion des missionsGestion des missions
• Hypothèses :Hypothèses :- il n’y a qu’un seul employé par missionil n’y a qu’un seul employé par mission- un employé peut être chargé de un employé peut être chargé de
plusieurs missions, plusieurs missions, avec un maximum avec un maximum de 7 missionsde 7 missions
- un employé est affecté à un seul serviceun employé est affecté à un seul service- un service comprend entre 1 et 10 un service comprend entre 1 et 10
employésemployés
Christine Garcia
Ex1. Ex1. GrapheGraphe - Entités - Entités
Num_mission
Date_mission Num_emp
Prénom_empNom_emp Num_service
Nom_service
MISSION
SERVICE
EMPLOYE
Christine Garcia
Mission: Association Mission: Association "père/fils""père/fils"
EMPLOYE SERVICE
MISSION
est réalisée par
appartient
1,1
0,7
1,1 1,10Num_empNom_empPrénom_empNum_service
Num_serviceNom_service
Num_missionDate_missionNum_emp
Christine Garcia
CommandeCommande
Différents produits peuvent être Différents produits peuvent être commandés par des clients. Une commandés par des clients. Une commande :commande : concerne un et un seul client (qui peut concerne un et un seul client (qui peut
effectuer plusieurs commandes, effectuer plusieurs commandes, 12 12 maximummaximum))
se compose de plusieurs lignes de se compose de plusieurs lignes de commande, chacune concernant un commande, chacune concernant un produitproduit
Christine Garcia
Rappel : Décomposition en Rappel : Décomposition en tableauxtableaux
Code ClientNomPrénomTélVilleCatégorie
RéférenceDésignationPrix_HT
CatégoriePourcentage
N°ComDate_ComCode_Client
N°ComRéférenceQuantité
PRO
DU
ITCLIENTREMISE
COMMANDELigne_CDE
Christine Garcia
Graphe - EntitésGraphe - Entités
télnom prénom ville catégorie
Référence
PHTdésignationCode Client
N°Com
Date
remise
Quantité
Christine Garcia
PRODUITLigne_CDE
COMMANDE
CLIENT
REMISE
télnom prénom ville catégorie
Référence
PHTdésignationCode Client
N°Com
Date
remise
Quantité
Christine Garcia
Association Association "tableau""tableau"
RéférenceDésignationPrix_HT
PRODUIT
Code ClientNomPrénomTélVilleCatégorie
CLIENT
CatégoriePourcentage
REMISE
N°ComDate_ComCode_Client
COMMANDE
est passée par
1,1 1,12
concerne
1,n
1,m
a commecatégorie
1,1
1,m
Christine Garcia
Commande : AssociationCommande : Association
RéférenceDésignationPrix_HT
PRODUIT
Code ClientNomPrénomTélVilleCatégorie
CLIENT
CatégoriePourcentage
REMISE
N°ComDate_ComCode_Client
COMMANDE
est passée par
1,1 1,12
1,n
1,m
a commecatégorie
1,1
1,m
N°ComRéférenceQuantité
Ligne_CDE
1,1 1,1
Christine Garcia
4. Identifiant (ou clé)4. Identifiant (ou clé)
• L'identifiant (clé) est un attribut de L'identifiant (clé) est un attribut de l'entité ou un ensemble d'attributs l'entité ou un ensemble d'attributs permettant de distinguer entre eux permettant de distinguer entre eux toutes les occurrences de l’entité.toutes les occurrences de l’entité.
CLIENT (code client, nom, prénom, …)Clé : {code client, nom, prénom}
(ou) {code client, nom}(ou) code client
Christine Garcia
4. Identifiant (ou clé)4. Identifiant (ou clé)
• Clé primaire = Clé primaire =
• ExemplesExemples
Sous-ensemble minimal
{code client, nom, prénom} (ou) {code client, nom} (ou) code client
CLIENTCode Client NomPrénom…
Notation : code client#
Christine Garcia
4. Identifiant (ou clé)4. Identifiant (ou clé)
Remarques :Remarques : Une clé d'une entité Une clé d'une entité déterminedétermine
Une clé primaire dans une entitéUne clé primaire dans une entité
Une clé étrangère dans une entité est Une clé étrangère dans une entité est
tous les autres attributs de l’entité
est unique et non vide
la clé primaire d'une autre entité
Christine Garcia
4. Clé étrangère4. Clé étrangère
Num_emp
Nom_emp Prénom_emp Num service
Nom service
Christine Garcia
4. Deux types d’entité4. Deux types d’entité
Entité statique : Entité statique :
Entité dynamique :Entité dynamique :
uniquement une clé primaire
clé(s) étrangère(s)
EMPL(num_emp#, nom_emp,prénom_emp, num_service#)
SERVICE ( num_service# , nom_service)
Christine Garcia
Entité dynamique
Entité statique
4. Deux types d’entité4. Deux types d’entité
Num_emp
Nom_emp Prénom_emp Num service
Nom service
Christine Garcia
4. Contraintes d'intégrité4. Contraintes d'intégrité
Intégrité de domaineIntégrité de domaine
Intégrité relationnelleIntégrité relationnelle
Intégrité de référence (CIR)Intégrité de référence (CIR)
Contrôle syntaxique
Clé primaire unique et non vide
La valeur d’une clé étrangère doit exister comme
valeur de clé primaire dans une autre entité
Christine Garcia
4. CIR4. CIR
SuppressionSuppression
ModificationModification
AjoutAjout
Si on supprime un service, il faut supprimer
tous les employés affectés à ce service
Si on modifie le code d’un service, il faut répercuter
ces modifications sur les employés
Si on ajoute un employé, il faut s’assurer que le code du service existe
Num_emp
Nom_emp Prénom_emp Num service
Nom service
Christine Garcia
PlanPlan
1.1. IntroductionIntroduction
2.2. Dictionnaire des donnéesDictionnaire des données
3.3. Dépendances fonctionnellesDépendances fonctionnelles
4.4. Entités / AssociationsEntités / Associations
5.5. Normalisation des entitésNormalisation des entités
Christine Garcia
5. Normalisation des 5. Normalisation des entitésentités
L’objectif de la normalisation est de L’objectif de la normalisation est de définir un schéma de relations définir un schéma de relations permettant d’éviterpermettant d’éviter
– La redondance des données
– Les incohérences lors de la mise à jour
– Les anomalies lors d’insertion et/ou suppression
Christine Garcia
5. Normalisation des 5. Normalisation des entitésentités
La normalisation repose sur l’analyse des La normalisation repose sur l’analyse des dépendances entre attributs (DF directes et dépendances entre attributs (DF directes et élémentaires)élémentaires)
Méthode:Méthode:
a.a. Dictionnaire des Dictionnaire des donnéesdonnées
b.b. Matrice des DFMatrice des DF
c.c. GrapheGraphe
d.d. Entités / AssociationsEntités / Associations
Christine Garcia
Exemple : UsineExemple : Usine
Gestion d'une usine de 30 ateliers avec 100 Gestion d'une usine de 30 ateliers avec 100 machines par ateliermachines par atelier
Hypothèses :Hypothèses : un atelier ne possède qu'un seul chefun atelier ne possède qu'un seul chef une machine se trouve dans un seul atelierune machine se trouve dans un seul atelier une machine appartient à une seule une machine appartient à une seule
catégoriecatégorie un chef peut avoir la responsabilité d'au un chef peut avoir la responsabilité d'au
plus 5 ateliers plus 5 ateliers
Christine Garcia
a. Dictionnairea. Dictionnaire
SIGNIFICATIONSIGNIFICATION NOM DE CODENOM DE CODEREGLE DE REGLE DE
GESTIONGESTION
Numéro de la machineNuméro de la machine num_machinenum_machine
Catégorie de la machineCatégorie de la machine cat_machinecat_machine
Numéro de l’atelierNuméro de l’atelier num_ateliernum_atelier
Nom de l’atelierNom de l’atelier nom_ateliernom_atelier
Code du chefCode du chef code_chefcode_chef
Nom du chefNom du chef nom_chefnom_chef
Christine Garcia
CalculsCalculs
Quel est le nombre de cases du tableau ?Quel est le nombre de cases du tableau ?
Si on désire changer le chef pour un atelier, Si on désire changer le chef pour un atelier, combien de cases faut-il modifier ?combien de cases faut-il modifier ?
num_machine cat_machine num_atelier nom_atelier code_chef chef_atelier
30×100 lignes / 6 colonnes =18 000
100 lignes / 1 colonne =100
Christine Garcia
b. Matrice des DFb. Matrice des DF
1. num_atelier
2. nom_atelier3. code_chef
6. cat_machine
5. num_machine4. nom_chef
Données sources
Données buts1 2 3 4 5 6
Christine Garcia
MACHINE
ATELIER
CHEF
c. Graphe des DFc. Graphe des DF
Num_machine
catégorie_machine num_atelier
code_chefnom_atelier
nom_chef
Christine Garcia
d .Entité/Associationd .Entité/Association
ATELIER CHEF
MACHINE
appartient
dirige
1,1
100,100
1,1 1,5num_ateliernom_ateliercode_chef
code_chefnom_chef
num_machinecatégorie_machinenum_atelier
Christine Garcia
Calculs après Calculs après NormalisationNormalisation
Quel est le nombre de cases à Quel est le nombre de cases à stocker ?stocker ?
Si on désire changer le chef pour un Si on désire changer le chef pour un atelier, combien de cases faut-il atelier, combien de cases faut-il modifier ?modifier ?
18 000
100
MACHINE : 30×100 lig./3 col.=9 000
ATELIER : 30 lig./3 col.=90
CHEF : 30 lig./2 col.= 60
9150
1
Christine Garcia
Usine : les tablesUsine : les tables
MACHINE(MACHINE(Num_machine#Num_machine#,,
Catégorie_machine, Num_atelier#)Catégorie_machine, Num_atelier#)
ATELIER (ATELIER (Num_atelier#Num_atelier#, Nom_atelier, , Nom_atelier, Code_chef#)Code_chef#)
CHEF(CHEF(Code_chef#Code_chef#, Nom_chef), Nom_chef)
Christine Garcia
HypothèsesHypothèses- les employés peuvent s’inscrire à plusieurs les employés peuvent s’inscrire à plusieurs
voyages et inscrire d’autres personnes voyages et inscrire d’autres personnes - un voyage n’utilise qu’un seul moyen de un voyage n’utilise qu’un seul moyen de
transport et se fait avec un seul guidetransport et se fait avec un seul guide- plusieurs inscriptions pour chaque voyage plusieurs inscriptions pour chaque voyage - un guide peut être affecté à plusieurs un guide peut être affecté à plusieurs
voyages mais il a une et une seule ville voyages mais il a une et une seule ville d'affectationd'affectation
Exemple : Comité Exemple : Comité d'entreprised'entreprise
Christine Garcia
a. Dictionnairea. DictionnaireSIGNIFICATIONSIGNIFICATION NOM DE CODENOM DE CODE
REGLE DE REGLE DE GESTIONGESTION
Code du type de transport (1,2,…)Code du type de transport (1,2,…) CTTCTT
Destination du voyageDestination du voyage DestinationDestination
Durée du voyageDurée du voyage DuréeDurée
Libellé du type de transportLibellé du type de transport Lib_Type_transLib_Type_trans
Nombre de place réservées par un Nombre de place réservées par un employé pour un voyageemployé pour un voyage Nb_Place_ResNb_Place_Res
Nom de l'employéNom de l'employé Nom_EmpNom_Emp
Nom du guideNom du guide Nom_GuideNom_Guide
Numéro de l'employéNuméro de l'employé Num_EmpNum_Emp
Numéro du guideNuméro du guide Num_GuideNum_Guide
Numéro du voyageNuméro du voyage Num_VoyageNum_Voyage
Prénom de l'employéPrénom de l'employé Prénom_EmpPrénom_Emp
Prénom du guidePrénom du guide Prénom_GuidePrénom_Guide
Salaire du guideSalaire du guide SalaireSalaire
Tarif HT du voyageTarif HT du voyage Tarif_HTTarif_HT
Ville d'affectation du guideVille d'affectation du guide Ville_AffectationVille_Affectation
Christine Garcia
b. Matrice des DFb. Matrice des DF1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1. CTT2. Destination3. Durée4. Lib_Type_Trans5. Nb_Place_Res6. Nom_Emp7. Nom_Guide8. Num_Emp9. Num_Guide10. Num_Voyage11. Prénom_Emp12. Prénom_Guide13. Salaire14. Tarif_HT15. Ville_Affectation
Christine Garcia
VOYAGE
TRANSPORT
GUIDE
EMPLOYE
RESERVATION
c. Graphe des DFc. Graphe des DF
NUMVOYAGE
Lib.TT
NUMEMP
NOMEMPPRE.EMP
Nb.Pl.Res
TarifHT. Durée Destin. NumGuideCTT
Nom.G Prénom.G Sal.Vil.Aff.
Christine Garcia
d .Entité/Associationd .Entité/Association
Guide
Transport
Voyage Employé
utilise1,1
1,nencadre
1,1
1,n
1,n 1,n
CTT
LibTTNum_GuideNom_GuidePrénom_GuideSalaireVille_affectation
Num_EmpNom_EmpPrénom_Emp
Num_VoyageCTTNum_GuideDuréeTarif_HT...
Christine Garcia
d .Entité/Associationd .Entité/Association
Guide
Transport
Voyage Employé
utilise1,1
1,nencadre
1,1
1,n
1,n 1,n
CTT
LibTTNum_GuideNom_GuidePrénom_GuideSalaireVille_affectation
Num_EmpNom_EmpPrénom_Emp
Num_VoyageCTTNum_GuideDuréeTarif_HT...
Num_VoyageNum_EmpNb_Pl_Res
Réservation
1,1 1,1
Christine Garcia
Comité d'entreprise : les Comité d'entreprise : les tablestables
TransportTransport ((CTT#CTT#, Lib_Type_Trans), Lib_Type_Trans)
Guide (Guide (Num_Guide#Num_Guide#, Nom_Guide, , Nom_Guide, Prénom_Guide, Prénom_Guide, Salaire, Salaire, Ville_affectation)Ville_affectation)
EmployeEmploye ((Num_Emp#Num_Emp#, Nom_Emp, , Nom_Emp, Prénom_Emp)Prénom_Emp)
Voyage (Voyage (Num_Voyage#Num_Voyage#, CTT#, Num_Guide#, , CTT#, Num_Guide#, Durée, Tarif_HT, Destination)Durée, Tarif_HT, Destination)
Reserv. (Reserv. (Num_Voyage#,Num_Emp#, Num_Voyage#,Num_Emp#, Nb_Pl_Res)Nb_Pl_Res)
Recommended