www.toubkalit.ma 1
http://www.compucycles.com/nouveausite/articles/merise/article_07.htm
Cours Informatique Master 1 – ANISystème de Gestion de Bases de Données
www.toubkalit.ma 2
Base de données : fichier ou ensemble de fichierspermettant le stockage et l'accès à des informationsstructurées.
SGBD (Système de Gestion de Base de Données) : logiciel permettant de gérer une base de données (ex : Access)
www.toubkalit.ma 3
Un libraire gère des œuvres littéraires :
Une œuvre est une création littéraire. Une œuvre a un auteur et est dans une édition (un
livre). Une édition possède un ISBN unique, a un unique
éditeur et ne contient qu’une œuvre. On veut mémoriser pour chaque édition le nombre
d’exemplaires en stock.
www.toubkalit.ma 4
Liste des œuvres
ISBN Titre Auteur Editeur Stocks
2.207.30089.7 Fondation 5 Denoël 10
2.221.09973.7 L'incident Jésus 2 Laffont 7
2.070.42167.8 Chrono-Minets 5 Gallimard 8
2.290.03567.X Frankenstein 1 J'ai Lu 12
2.070.36822.X 1984 3 Gallimard 5
Liste des auteurs
Code Nom Prénom
1 Shelley Mary W.
2 Herbert Franck
3 Orwell Georges
4 Bradbury Ray
5 Asimov Isaac
www.toubkalit.ma 5
Liste des œuvres par auteurs Gestion des stocks Liste des œuvres avec moins de 3 exemplaires
en stock …
www.toubkalit.ma 6
Un libraire gère des œuvres littéraires :
Une œuvre est une création littéraire
Une œuvre a au moins un auteur et est dans une édition (un livre)
Une édition possède un ISBN unique et a un unique éditeur. Elle peut
contenir plusieurs œuvres.
On veut mémoriser pour chaque édition le nombre d’exemplaires en
stock et pour chaque exemplaire son état
Solution en Excel : ?
www.toubkalit.ma 7
Méthode (française, 1978) formalisée, complète, détaillée qui garantit (en principe !) une informatisation réussie.
Formalisée : utilisation d’outils logiques (graphes, règles)Complète : de la décision d’informatisation à la mise en œuvre effectiveDétaillée : de la technique d’interview jusqu’au commentaires des programmes
www.toubkalit.ma 8
Quatre phases :
1. Analyse du problème2. Modèle conceptuel des données (MCD)3. Modèle logique des données (MLD)4. Modèle physique (réalisation dans le SGBD)
www.toubkalit.ma 9
Analyse des besoins des utilisateurs :
- Quels sont les données à traiter ?- Quels traitements à effectuer ?
Analyse de l’existant, interviews, étude des documents, mise en évidence des règles de gestion…
www.toubkalit.ma 10
Quatre phases :
1. Repérer les entités du problèmes2. Construire les entités, en choisissant leurs propriétés3. Établir les relations entre les différentes entités4. Trouver les cardinalités de chaque relation
www.toubkalit.ma 11
Une entité est la représentation d’un type d’objet ou d’un concept conforme aux
choix de gestion de l’entreprise
(ex : l’entité Livre) ;
Une occurrence d’une entité est une instance (un représentant) de l’entité dans
le monde réel
(ex : le livre « Frankenstein ») ;
Une propriété (ou attribut) : donnée élémentaire qui caractérise une entité
(ex : le titre du livre) ;
L’identifiant (la clé) : propriété unique qui caractérise chaque occurrence
(ex : l’ISBN d’une édition)
www.toubkalit.ma 12
www.toubkalit.ma 13
Un libraire gère des œuvres littéraires :
Une œuvre est une création littéraire
Une œuvre a au moins un auteur et est dans une édition (un livre)
Une édition possède un ISBN unique et a un unique éditeur. Elle peut
contenir plusieurs œuvres.
On veut mémoriser pour chaque édition le nombre d’exemplaires en
stock et pour chaque exemplaire son état.
www.toubkalit.ma 14
Un libraire gère des œuvres littéraires :
Une œuvre est une création littéraire
Une œuvre a au moins un auteur et est dans une édition (un livre)
Une édition possède un ISBN unique et a un unique éditeur. Elle peut contenir
plusieurs œuvres.
On veut mémoriser pour chaque édition le nombre d’exemplaires en stock et pour
chaque exemplaire son état
Entités :
Œuvres, auteurs, éditions, éditeur, exemplaires.
www.toubkalit.ma 15
Propriétés : éléments caractérisant une entité
Règles sur les propriétés (de bon sens…)
1. Toute propriété est élémentaire
2. Une propriété ne doit pas être « instable » ou « calculable »
3. Toute entité doit posséder un identifiant (clé)
4. Toute propriété dépend directement de l’identifiant
5. Une propriété (y compris l’identifiant) ne dois pas dépendre d’une propriété
autre que l’identifiant
www.toubkalit.ma 16
ŒuvresNoOeuvreTitre
Editions
ISBN
Titre
Editeurs
NoEditeur
Nom
ExemplairesId_livreEtat
AuteursNoAuteur
NomPrénom
www.toubkalit.ma 17
Une relation (ou association) est un lien entre deux ou
plusieurs entités (ex : une œuvre est écrite par un auteur)
Une occurrence d’une association est une instance de
l’association dans le monde réel
(ex : Frankenstein est écrit par Mary W. Shelley).
Une relation peut posséder des propriétés.
www.toubkalit.ma 18
www.toubkalit.ma 19
ŒuvresNoOeuvreTitre
Editions
ISBN
Titre
Editeurs
NoEditeur
Nom
ExemplairesId_livreEtat
AuteursNoAuteur
NomPrénom
écrit
édition
édite
Stocks
www.toubkalit.ma 20
Autre exemple : des clients passent des commandes.
Clients
Noclient
Nom
Adresse
Code postal
ville
Commandes
NoCommande
DateCmd
Produits
NoProduit
Libellé
Prix unitaire
Effectue
Contientquantité
www.toubkalit.ma 21
La cardinalité d’une entité par rapport à une relation s’exprime sous
forme d’un couple :
(cardinalité minimale ; cardinalité maximale)
Cardinalité minimale : nombre minimal de fois où une occurrence de
l’entité participe à une relation de ce type vaut 0 ou 1 en général.
Cardinalité maximale :nombre maximal de fois où une occurrence de
l’entité participe à une relation de ce type vaut 0, 1 ou « n » (pour «
plusieurs fois »)
www.toubkalit.ma 22
ŒuvresNoOeuvreTitre
AuteursNoAuteur
NomPrénom
écritMin1:Max1 Min2:Max2
Min1 : « étant donné un auteur, combien d’œuvres sont écrit par lui au minimum ? »
Max1 : « et au maximum ? »
Min2 : « et pour une œuvre, combien d’auteur participent à son écriture au minimum ? »
Max2 : « et au maximum ? »
www.toubkalit.ma 23
ŒuvresNoOeuvreTitre
AuteursNoAuteur
NomPrénom
écrit1:n 1:n
Min1 : « étant donné un auteur, combien d’œuvres sont écrit par lui au minimum ? »
Max1 : « et au maximum ? »
Min2 : « et pour une œuvre, combien d’auteur participent à son écriture au minimum ? »
Max2 : « et au maximum ? »
www.toubkalit.ma 24
ŒuvresNoOeuvreTitre
Editions
ISBN
Titre
Editeurs
NoEditeur
Nom
ExemplairesRef_livreEtat
AuteursNoAuteur
NomPrénom
écrit
édition
édite
Stocks
1:n 1:n
1:n
1:n
1:1 1:n
1:10:n
www.toubkalit.ma 25
Limiter la taille, factoriser si cela a du sens (ex
: plusieurs personnes habitent à la même
adresse : faut-il ajouter une entité adresse ?)
Limiter les redondances !! (pas d’informations
présente deux fois)
www.toubkalit.ma 26
Cardinalité (0:n) ou (1:n) ?
Répondre à « mon entité doit-elle obligatoirement apparaître dans une relation de
ce type ? ». En pratique peu d’importance…
Les cardinalités sont toujours 0, 1 ou n ?
En pratique, il peut y avoir d’autre valeurs, mais c’est très rare (exemple du tiercé : un
pari concerne exactement 3 chevaux cardinalité 3:3)
Est-ce une entité ou une relation ?
Si une relation contient de nombreuses propriétés, envisagez une entité…
Puis-je utiliser des relations entre plus de deux entités ?
Oui, mais à éviter… Exemple : Vendeurs, Lieux et Acheteurs reliés par vente. N’est-ce
pas plus clair avec une entité ActesDeVente ?
www.toubkalit.ma 27
Une banque désire posséder un SGBD pour suivre ses
clients. Elle désire ainsi stocker les coordonnées de
chaque client (nom, prénom adresse), et les comptes
dont elle dispose ainsi que leur solde (sachant par
ailleurs que certains compte ont plusieurs
bénéficiaires). On stockera également les opérations
relatives à ces comptes (retrait et dépôt, avec leur
date et le montant).
www.toubkalit.ma 28
Une banque désire posséder un SGBD pour suivre ses clients. Elle désire ainsi stocker les coordonnées de chaque client (nom, prénom adresse), et les comptes dont elle dispose ainsi que leur solde (sachant par ailleurs que certains compte ont plusieurs bénéficiaires). On stockera également les opérationsrelatives à ces comptes (retrait et dépôt, avec leur date et le montant).
www.toubkalit.ma 29
Comptes
Code
Solde
Opérations
Id_op
Type
Date
montant
ClientsNoClient
Nom
Prénom
Adresse
bénéficie
Concerne
1:n 1:n 0:n
1:1
www.toubkalit.ma 30
Plus proche du modèle physique.
Ne contient que des tables qui possèdent des
propriétés et une ou plusieurs clés primaires.
Toutes les tables ont un nom unique.
www.toubkalit.ma 31
Pour les entités. Toute entité devient une table et conserve ses propriétés et sa clé.
Pour les associations. Dépend des cardinalités. Deux grand cas possibles :
Relation la relation est matérialisée par l’ajout d’une clé étrangère
Relationla relation donne lieu à la création d’une table
1:1 ?:?
?:n ?:n
www.toubkalit.ma 32
EntitéA
IdA
PropriétéA
EntitéB
IdB
propriétéB
TableA
IdA
PropriétéA
TableBIdBPropriétéBRefAPropriétéR
0:n 1:1relation
propriétéR
devient
www.toubkalit.ma 33
RelationAB
RefARefBPropriétéR
EntitéA
IdA
PropriétéA
EntitéBIdB
propriétéB
TableA
IdA
PropriétéA
TableBIdB
PropriétéB
0:n 1:nrelation
propriétéR
devient
www.toubkalit.ma 34
Une relation ternaire devient une table si les cardinalités sont 1:n sur
toutes les branches, sinon on place les références dans la table reliée à une
cardinalité 1:1
Si plusieurs relations existent entre deux entités, on les traite séparément
Les cardinalités k:k sont à traiter comme k relations 1:1
Si deux entités sont reliés par une relation de type
il faut probablement les fusionner en une table.
Supprimer les tables inutiles ! (tables à un seul champ)
1:1 1:1
www.toubkalit.ma 35
ŒuvresNoOeuvreTitre
Editions
ISBN
Titre
Editeurs
NoEditeur
Nom
ExemplairesRef_livreEtat
AuteursNoAuteur
NomPrénom
écrit
édition
édite
Stocks
1:n 1:n
1:n
1:n
1:1 1:n
1:10:n
Question : Trouvez le MLD équivalent…www.toubkalit.ma 36
Liste_oeuvres
RefOeuvre
ISBN
ŒuvresNoOeuvreTitre
EditionsISBN
Titre
RefEditeur
Editeurs
NoEditeur
Nom
ExemplairesRef_livre
Etat
ISBN
AuteursNoAuteur
NomPrénom
EcritureRefOeuvre
RefAuteur
www.toubkalit.ma 37
La mise au propre du MCD s'effectue à travers
3 opérations :
la vérification,
la normalisation,
la décomposition.
www.toubkalit.ma 38
La vérification
Règle de non-répétitivité : à toute occurrence de l'entité ou de l'association
correspond au plus une valeur de tout attribut qui lui est associé.
Règle d'homogénéité : les attributs rattachés à une entité ou à une association
doivent avoir un sens pour toutes les occurrences de l'entité ou de la association.
Règle de distinguabilité : les occurrences d'une entité doivent être distinguables. Cela
induit la compréhension de l'entité et se traduit par le choix de l'identifiant.
Règle de normalisation d'une relation : chaque attribut d'une association doit
dépendre fonctionnellement de la totalité des entités formant la collection de
l'association .
Respect des règles de gestion : les règles de gestion relatives aux données, dégagées
lors de l'étude de l'existant, doivent avoir été traduites dans le MCD (cardinalités,
etc.).
www.toubkalit.ma 39
Cas 1 : Attribut répétitif
L'attribut "Matière" peut prendre plusieurs valeurs si le prof. peut enseigner plusieurs matières.
ProfesseurMatriculeNomMatière
ProfesseurMatriculeNom
MatièreCodeMatière
Enseigner1,n 1,n
SolutionSolution
www.toubkalit.ma 40
Cas 2 : Attribut sans signification
L'attribut "Matière" ne prend pas de valeur pour une secrétaire ou un surveillant.
PersonnelMatriculeNomMatière
PersonnelMatriculeNom
SolutionSolution
www.toubkalit.ma 41
Cas 3 : Dépendance incomplèteCommandeN° BonQté
SolutionSolution
ProduitRéfDésign.P.U.
Concerner1,n 1,n
CommandeN° BonDate
ProduitRéfDésign.P.U.
Concerner1,n 1,n
Date
Qté
L'attribut "Date" ne dépend pas du produit et l'attribut "Qté" peut prendre plusieurs valeurs.
www.toubkalit.ma 42
IV. 2. La normalisation du MCD
1ère Forme Normale (1FN) : élémentarité des attributs et existence de l'identifiant.
Tous les attributs doivent être élémentaires par rapport au choix de gestion et il doit y
avoir un identifiant à chaque entité.
n'est pas 1FN
ETUDIANT
N° étudiantNomPrénomAge
est 1FN
ETUDIANTNomPrénomAgeAdresse
www.toubkalit.ma 43
2ème Forme Normale (2FN) : DF élémentaire de l'identifiant.
Tout attribut d'une entité doit dépendre de l'identifiant de cette entité
par une dépendance fonctionnelle élémentaire.
n'est pas 2FN
est 2FN0,n
ETUDIANT
N°_étudiantNomPrénom
0,nOPTION
Code_optionNom option
SUIVRE
ETUDIANTCode_Option, N°_étudiantNomPrénomNom option
www.toubkalit.ma 44
3ème Forme Normale (3FN) : DF élémentaire et directe.Tout attribut d'une entité doit dépendre de l'identifiant par une DF élémentaire et directe.
n'est pas 3FN
est 3FN0,n
ETUDIANT
N°_étudiantNomPrénom
0,nOPTION
Code_optionNom_option
SUIVRE
ETUDIANT
Code_étudiantNomPrénomCode_optionNom_option
www.toubkalit.ma 45
4ème Forme Normale (4FN) : DF complète (cas de l'identifiant concaténé).Si une entité a un identifiant concaténé, un des attributs composant l'identifiant ne doit pas dépendre d'un autre attribut.
Exemple :RG1 : tout prof enseigne une et une seule matière.RG2 : toute classe n'a qu'un seul prof par matière.
n'est pas 4FN
est 4FN
COURS
Matière, N° classeN° prof
0,n
COURS
N° profMatière
0,n
CLASSE
N° classeN° prof
ENSEIGNER DANS
www.toubkalit.ma 46
11FNFN :: élémentarité des attributs et existencede l'identifiant.
22FNFN :: DF élémentaire de l'identifiant.
33FNFN :: DF directe de l'identifiant.
44FNFN :: DF complète de l'identifiant : sil'identifiant est concaténé, uncomposant ne doit pas être en DFavec un autre attribut.
www.toubkalit.ma 47
L'étude de l'existant
Interview de la direction (Système de Pilotage).
Objectifs principaux.
Liste des postes de travail.
Délimiter le champs de l’étude.
Interview des postes de travail (Système Opérant) .
Recenser et décrire les tâches exécutées.
Observer la circulation des informations.
Apprendre le langage de l’entreprise.
Etablissement d’une liste des règles de gestion.
Construction d’un dictionnaire de données (DD).www.toubkalit.ma 48
Autres étapes de la construction d'un MCD
Epuration du dictionnaire des données (DD) en enlevant
les synonymes (les données identifiées différemment et ayant le même sens);
les polysèmes (les données utilisant les mêmes orthographes mais décrivant
des réalités différentes) : il faut leur attribuer des noms différents.
Construction du GDF (Graphe des Dépendances Fonctionnelles).
Extraire du DD la liste des attributs qui ne sont ni concaténés, ni calculés.
Ne pas considérer les DF transitives pour obtenir un GDF avec une couverture
minimale (répondant à la 3FN).
Transformation du GDF en MCD.
Mise au propre du MCD.www.toubkalit.ma 49
Informatisation du SI d’une société de vente
Une société de vente souhaite informatiser son SI actuel (manuel) qui contient essentiellement des données figurant sur des bons de commande ou factures du type :
N°Bon …………………… Date …………………… Nom client ……………………………………………………………… Adresse ………………………………………………………………………………………………………………………………………………………….
Nom représentant …………………………………………
Réf. Design. Qté PU Montant………… ………… …… ……… …………………… ………… …… ……… …………
Total …………www.toubkalit.ma 50
En utilisant le schéma de construction détaillé précédemment, établir le MCD de leur nouvelle base de données. On suppose que certaines opérations ont déjà été effectuées :
Recueil des informations (interview du SI existant) R1 : un client peut passer une ou plusieurs commandes ou ne passer
aucune commande; R2 : une commande concerner au moins un produit; R3 : une commande concerne un et un seul client; R4 : une commande est assurée par un et un seul représentant qui n’est pas
toujours le même pour un client donné. Construction d'un dictionnaire de données (DD) : établissement
de la liste des attributs à partir des informations recueillies. Comme le SI actuel est manuel, il n’existe pas nécessairement des codifications, on imaginera qu’il existe des codes pour identifier les entités évidentes …Par exemple, « Cocli » pour CLIENT et « Corep » pour REPRESENTANT seront créées, on les marquera d’un (*) pour signifier qu’elles n’existent pas encore.
www.toubkalit.ma 51
Le dictionnaire des données (DD)
DonnéeSIGNIFICATION TYPE
(1)
LONGUEUR NATURE(2) (3)
REGLE DE CALCUL OU INTEGRITE (4)
NoBonDate
*CoCliNomCliAdresseRueCliVilcli*CoRepNomRepRéfDésignQtéPUMontantTotal
N° de bon de CdeDate Cde
Code clientNom clientAdresse clientRue clientVille clientCode représentantNom représentantRéf. de produitDésignation produitQuantité commandéePrix unitaireMontant ligneTotal commande
NN
?AANANA?AANANNNN
46
?30603030?305303789
EE
EECONEEEEEEEECALCAL
MM
SIGSIGSIGSIGSIGSIGSIGSIGSIGMSIGMM
Forme jj/mm/aa (5)
A créer
Rue + Ville
A créer
1 lettre + 3 chiffres
Entier > 0Forme : 9999,99PU QtéSomme des montants
(1) A(lphanumérique) N(umérique) A(lpha)N(umérique)(2) E(lémentaire) CON(caténé) CAL(culé)(3) M(ouvement) SIG(nalétique) SIT(uation)
(4) Règle de calcul pour les attributs calculés ou contraintes d’intégrité syntaxique éventuelles
(5) jj : 01 à 31, mm : 01 à 12, aa : 00 à 99.www.toubkalit.ma 52
Epuration du dictionnaire des données
Les données à ne pas prendre en compte dans un
MCD sont, en général, les données calculées et
concaténées.
Seront supprimées : Adresse, Montant et Total.
www.toubkalit.ma 53
Le graphe des dépendances fonctionnelles
NoBonRef
CoCliCoRep
Design PU Qté Date
NomCli RueCli VilleCliNomRep
www.toubkalit.ma 54
Le graphe des dépendances fonctionnelles
NoBonRef
CoCliCoRep
Design PU Qté Date
NomCli RueCli VilleCliNomRep
www.toubkalit.ma 55
Transformation du GDF en MCD
Règles de transformation
R1 : les données sources d'au moins une DF (celles qui sont soulignées sur le GDF) représentent les identifiants des entités dont les attributs sont les cibles de ces DF.
R2 : Les flèches restantes deviennent des associations. Les données déterminées par une DF conjointe deviennent des attributs portés par l’association.
R3 : Les règles de gestion doivent permettre de trouver les cardinalités.
www.toubkalit.ma 56
PRODUIT
RefDesignPU
COMMANDE
NoBonDate
CLIENT
CoCliNomCliRueCliVilleCli
REPRESENTANT
CoRepNomRep
Qté
Application de la 1ère règle (R1)
www.toubkalit.ma 57
PRODUIT
RefDesignPU
COMMANDE
NoBonDate
CLIENT
CoCliNomCliRueCliVilleCli
REPRESENTANT
CoRepNomRep
Application des règles R2 et R3
CONCERNERQté
PASSEROBTENIR
0,n
0,n0,n
1,11,1
1,n
www.toubkalit.ma 58
Enfin, les règles de vérification, de normalisation et de décomposition doivent permettre la mise au propre du MCD.
www.toubkalit.ma 59
Série 1 Série 2
www.toubkalit.ma 60