Académique Documents
Professionnel Documents
Culture Documents
Modelisation Informatique
Modelisation Informatique
2001/02/01 1 2001/02/01 2
2001/02/01 3 2001/02/01 4
2001/02/01 5 2001/02/01 6
1
La modélisation dans le Processus de modélisation
processus de développement 1
1 Identifier
Étude de fonctions et
entités
modèle
faisabilité
d'un monde
modèle "idéal"
de données liste de fonctions 2
optimisation de
fonctions 2 complet liste d'entités Élaborer
Analyse modèle la performance
données
fonctionnelle logique
2001/02/01 7 2001/02/01 8
2001/02/01 9 2001/02/01 10
2001/02/01 11 2001/02/01 12
2
Exemple d’élicitation de la liste Exemple d’élicitation de la liste
des entités des entités
• annuaire • accessibilité
– oui (il a une valeur, il contient la liste des cours) – oui (valeur pour gérer l’affectation des cours)
• professeur • session
– oui (valeur) – non; pas nécessaire de gérer les sessions; il s’agit plutôt
• disponibilités des professeurs d’un attribut de plusieurs entités
– c’est un attribut de professeur; il a une valeur pour • étudiant
gérer l’affectation des cours – oui (valeur)
• compétence • note
– c’est un attribut de professeur; il a une valeur pour – oui (valeur)
gérer l’affectation des cours
2001/02/01 13 2001/02/01 14
des entités
• groupe
– oui (valeur) groupe professeur
• préalables
– non (considérons le comme un attribut de note
cours)
inscription
etudiant annuaire
2001/02/01 15 2001/02/01 16
2001/02/01 17 2001/02/01 18
3
Exemple d’identification des Exemple d’identification des
attributs attributs
• accessibilité(sigle, session) • note (sigle, session, groupe, matricule, note)
• étudiant(matricule, nom, coteZ) • on peut combiner l’entité note avec
• groupeCours(sigle, session, groupe, inscription, car tous les attributs
matricule) d’inscription sont inclus dans note
– matricule du prof qui enseigne le cours • inscription(sigle, session, groupe,
matricule,note)
2001/02/01 19 2001/02/01 20
2001/02/01 21 2001/02/01 22
4
Exemples et contre-exemples de
Normalisation en 1FN
1FN
• les relations groupeCours, inscription, • si une relation E1 n’est pas en 1FN, on la
étudiant, et accessibilité sont en 1FN normalise en créant une nouvelle relation E2 pour
• la relation cours n’est pas en 1FN, car chaque attribut vectoriel
l’attribut préalables est un ensemble de • les attributs de E2 sont :
sigles – la clé primaire de E1
• la relation professeur n’est pas en 1FN, car – les attributs des éléments de la structure vectorielle
les attributs compétences et disponibilités • on enlève de la relation E1 les attributs vectoriel
sont des ensembles
2001/02/01 25 2001/02/01 26
Normalisation en 1FN de
Normalisation en 1FN de cours professeur
professeur
cours matricule salaire nom disponibilités compétences
sigle titre A01 IFT286
1 35 000 $ xyz
IFT286 Lab. de BD E02 IFT339
2 25 000 $ abc H01 IFT178
IFT486 BD
cours
sigle titre préalables
IFT286 Lab. de BD IFT178
IFT286
IFT486 BD
IFT339
disponibilités professeur compétences
préalablesCours matricule session matricule salaire nom matricule sigle
sigle préalables 1 A01 1 35 000 $ xyz 1 IFT286
IFT286 IFT178 1 E02 2 25 000 $ abc 1 IFT339
IFT486 IFT286 2 H01 2 IFT178
IFT486 IFT339
2001/02/01 27 2001/02/01 28
2001/02/01 29 2001/02/01 30
5
Que représente une dépendance
Dépendance fonctionnelle
fonctionnelle?
• les définitions de 2FN, 3FN, BCNF reposent sur la • c’est une fonction, donc elle associe à une liste de valeurs
notion de dépendance fonctionnelle des attributs A1, ..., An une et une seule valeur dans An+1
• une dépendance fonctionnelle est une fonction • exemple
entre des listes d’attributs – dans une université, étant donné le matricule d’un étudiant, on peut
donner son nom
• on dénote une dépendance fonctionnelle comme – il existe donc une dépendance fonctionnelle entre matricule et nom
suit :
(A1, ..., An) An+1 matricule nom
– l’inverse n’est pas vrai : étant donné un nom, on ne peut
on dit que déterminer le matricule d’un étudiant, car il peut y avoir plusieurs
matricules, puisque plusieurs étudiants peuvent avoir le même nom
An+1 dépend de A1, ..., An
2001/02/01 31 2001/02/01 32
2001/02/01 33 2001/02/01 34
6
Comment déterminer les
Représentation graphique
dépendances fonctionnelles?
• les dépendances fonctionnelles sont des • sigle titre
contraintes du domaine d’application
• on les détermine à partir de notre connaissance des
sigle titre
faits (règles, conditions, etc) du domaine
d’application
• on peut déterminer s’il y a une dépendance • (sigle,session,groupe) matricule
fonctionnelle (A1, ..., An) An+1 en répondant à la
question suivante:
– étant donné une liste de valeurs pour A1, ..., An , peut- sigle session groupe matricule
on toujours associer une et une seule valeur pour An+1?
2001/02/01 37 2001/02/01 38
2001/02/01 39 2001/02/01 40
groupeCours
sigle
matricule
– cours – professeur
sigle
professeur
– prealablesCours – competence
session matricule
groupe
matricule
salaire
nom
– accessibilité – disponibilite
disponibilite – groupeCours – etudiant
matricule
session
– inscription
inscription
sigle etudiant
session
matricule matricule
groupe coteZ
note nom
2001/02/01 41 2001/02/01 42
7
Contre-exemple de 2FN
Normalisation en 2FN
une entité E est en deuxième forme
normale ssi tous les attributs non premiers
de E sont en dépendance fonctionnelle
• les attributs non premiers en dépendance
complète de chaque clé candidate de E partielle sont extraits
– pour former une nouvelle relation
sigle session groupe matricule titre nom
ou bien
– sont ajoutés à une relation ayant une clé
primaire appropriée
titre ne dépend pas de toute la clé; il dépend seulement de sigle
2001/02/01 43 2001/02/01 44
oui
- il y a deux clés candidates
A2, A5
A1 A2 A3 A4 A2 A5 A1 A2 A3 A4 A5 -seuls A1, A3 et A4 sont non premiers
-A1, A3 et A4 dépendent
complètement
2001/02/01 45
de toutes les clés candidates 46
2001/02/01
2001/02/01 47 2001/02/01 48
8
Contre-exemple de 3FN
Exemples de 3FN Une relation E est en troisième forme
normale ssi pour toute dépendance
fonctionnelle X A de E, une des
• les relations suivantes sont en 3FN conditions suivantes est satisfaite:
–X est une super clé
– cours – professeur
–A est un attribut premier
– prealablesCours – competence
– accessibilité – disponibilite
– groupeCours – etudiant sigle session groupe matricule nom
– inscription
cette relation n’est pas 3FN car :
• matricule n’est pas une super clé
• nom n’est pas premier
2001/02/01 49 2001/02/01 50
2001/02/01 51 2001/02/01 52
2001/02/01 53 2001/02/01 54
9
Contre-exemple de BCNF
Contre-exemple de BCNF
Une entité E est en forme normale
de Boyce-Codd ssi pour toute
• supposons qu’une institution dépendance fonctionnelle X A
de E, la condition suivante est
d’enseignement décerne un seul diplôme satisfaite: personne diplôme institution
(SEC, DEC, ou BAC) et qu’une personne –X est une super clé
2001/02/01 55 2001/02/01 56
Normalisation en BCNF
Définition de 5FN
personne diplôme institution
• Une relation E est en cinquième forme
normale ssi E ne peut être obtenue par une
jointure de relations E1, ..., En telle que
personne institution diplôme institution l’une des Ei n’est pas une clé de E
• la quatrième forme normale est un cas
note: particulier de 5FN; nous omettons sa
- on ne perd pas d’information,
- on diminue la redondance
définition
-on perd une contrainte d’intégrité
(personne,diplôme) institution
2001/02/01 57 2001/02/01 58
2001/02/01 59 2001/02/01 60
10
Normalisation en 5FN
Contre-exemple de 5FN
offreDeCours
accessibilité disponibilité compétence sigle session matricule
sigle session matricule session matricule sigle
IFT286 H01 ⌧ 1 E01 ⌧ 1 IFT286
IFT286 E01 2 E01 2 IFT286
2001/02/01 61 2001/02/01 62
N N
accessib
cours ilité
session
• Il arrive parfois que la traduction d’un modèle ER
ne donne pas un modèle relationnel normalisé
• Exercice (1,n)
N
– Comparez le modèle relationnel obtenu avec le modèle coteZ
donne nom
normalisé
1
compétences
2001/02/01 63 2001/02/01 64
11
Modèle UML correspondant au
Modèle avec une notation adaptée
modèle normalisé sigle titre préalables session
cours session
N accessibilité N N
sigle session N accessib
titre cours ilité
session
préalables : set 1
1
(0,n)
etudiant (0,n)
N
N matricule
coteZ inscrit note
groupeCours nom N
sigle inscription (0,n)
affecte 1 affecte
session note
groupe groupe groupe
N N
étudiant matricule
donne
1
professeur
1
nom coteZ
matricule matricule professeur disponibilités
salaire
nom
compétences : set compétences
disponibilités : set
2001/02/01 67 2001/02/01 68
12