cours-modelisation
12 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
12 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Modélisation de données• On peut créer un modèle relationnel des Modélisation de données données de deux manières:(modèle relationnel) 1. Modèle entité-relation et traduction du modèle entité-relation en modèle relationnel2. Produit directement un modèle relationnel qui est ensuite raffinné pour s’assurer de saqualité• Dans cette partie, on utilisera la deuxième2001/02/01 1 2001/02/01 2Normalisation des données Modèle entité-relation• Modèle abstrait (conceptuel)• Permet produire un modèle relationnel de • Peut être traduit en unqualité– Modèle relationnel– Sans redondance de données– Modèle objet– Base de données facile à mettre à jour et à– Modèle hiérarchique, réseau, XML, etcinterroger• Les algorithmes de traduction du modèle entité-relation en modèle relationnel produisegénéralement un modèle relationnel normalisé2001/02/01 3 2001/02/01 4Sources pour l’identification des Identifier les entitésentités• une relation est un objet d’intérêt pour l’utilisateur • texte de l’étude de faisabilitédu système• diagramme des fonctions• une relation peut représenter un objet physique ou virtuel (artificiel) du monde • rapport ou autre document que l’on désire • critères de pertinence informatiser– la relation a-t-elle une valeur pour le processus • procédures d’affaires?– est-elle référencée par une fonction de maj et une fonction d’interrogation?– y a-t-il plusieurs instances de l’entité?2001/02/01 5 2001/02/01 61La modélisation dans le ...

Sujets

Informations

Publié par
Nombre de lectures 69
Langue Français

Extrait

Modélisation de données (modèle relationnel)
Normalisation des données
Permet produire un modèle relationnel de qualité – Sans redondance de données – Base de données facile à mettre à jour et à interroger
Identifier les entités
1 2001/02/01
2001/02/01 3
une relation est un objet d’intérêtpour l’utilisateur du système une relation peut représenter un objetphysiqueou virtuel(artificiel) du monde critères de pertinence – la relation atelle unevaleurpour le processus d’affaires? – estelleréférencéepar une fonction de maj et une fonction d’interrogation? – y atil plusieurs instances de l’entité?
2001/02/01 5
Modélisation de données
On peut créer un modèle relationnel des données de deux manières: 1. Modèle entitérelation et traduction du modèle entitérelation en modèle relationnel 2. Produit directement un modèle relationnel qui est ensuite raffinné pour s’assurer de sa qualité Dans cette partie, on utilisera la deuxième
Modèle entitérelation
Modèle abstrait (conceptuel) Peut être traduit en un – Modèle relationnel – Modèle objet – Modèle hiérarchique, réseau, XML, etc Les algorithmes de traduction du modèle entité relation en modèle relationnel produise généralementun modèle relationnel normalisé
2001/02/012
4 2001/02/01
Sources pour l’identification des entités texte de l’étude de faisabilité diagramme des fonctions rapport ou autre document que l’on désire informatiser procédures
2001/02/01 6
1
La modélisation dans le processus de développement 1 Étude de faisabilité
fonctions données
ébauche du modèle de données
2 Analyse fonctionnelle
modèle de données complet
modèle logique de données diagramme des fonctions
3 Réalisation
7 2001/02/01
Modélisation de données et modélisation des fonctions le modèle de données et le diagramme des fonctions se développent en parallèle – l’identification d’une relation entraîne l’identification de fonctions (maj, interrogation) – l’identification d’une fonction entraîne l’identification de relations choisir l’approche la plus naturelle selon le domaine d’application
Exemple candidats d’entité
2001/02/019
“On désire développer un système pour gérer les inscriptionsauxcoursdans uneuniversité. Les cours offerts sont décrits dans l’annuairede l’université. On désire affecter les cours selon les disponibilitésdesprofesseurs, leurcompétenceet l’accessibilitédes cours parsession. Unétudiant s’inscrit à ungrouped’un cours pour une session donnée s’il a complété tous sespréalables. On désire également y consigner lanoted’un étudiant.”
2001/02/01 11
1 Identifier fonctions et entités
Processus de modélisation
liste de fonctions liste d'entités
2 Élaborer modèle logique
modèle d'un monde "idéal"
modèle logique des données
3 laborer modèle physique
optimisation de la performance
modèle physique de données
2001/02/01 8
Exemple d’identification des entités “On désire développer un système pour gérer les inscriptions aux cours dans une université. Les cours offerts sont décrits dans l’annuaire de l’université. On désire affecter les cours selon les disponibilités des professeurs, leur compétence et l’accessibilité des cours par session. Un étudiant s’inscrit à un groupe d’un cours pour une session donnée s’il a complété tous ses préalables. On désire également y consigner la note d’un étudiant.”
Exemple d’élicitation des entités
10 2001/02/01
de la liste
inscription – oui (elle a une valeur pour le processus d’affaires) cours – oui (valeur, idem) université – non – aucune valeur; – le système s’applique toujours à la même université; – si on gérait les cours pour un réseau d’université, ou pour des programmes multiuniversitaires, l’entité université serait alors pertinente)
2001/02/0112
2
Exemple d’élicitation de la liste des entités annuaire – oui (il a une valeur, il contient la liste des cours) professeur – oui (valeur) disponibilités des professeurs – c’est un attribut de professeur; il a une valeur pour gérer l’affectation des cours compétence – c’est un attribut de professeur; il a une valeur pour gérer l’affectation des cours
2001/02/01 13
Exemple d’élicitation de la liste des entités groupe – oui (valeur) préalables – non (considérons le comme un attribut de cours)
Définition des attributs des entités pour chaque attribut, il faut – nom – type – contraintes d’intégrité pour l’instant, on se concentre sur le nom représentation textuelle des attributs d’une entité – entité(attribut , ..., attribut ) 1 n
2001/02/01 15
2001/02/01 17
groupe
inscription
Exemple d’élicitation de la liste des entités accessibilité – oui (valeur pour gérer l’affectation des cours) session – non; pas nécessaire de gérer les sessions; il s’agit plutôt d’un attribut de plusieurs entités étudiant – oui (valeur) note – oui (valeur)
Représentation graphique
cours
professeur
etudiant
note
14 2001/02/01
accessibilité
annuaire
2001/02/01 16
Exemple d’identification des attributs inscription(sigle, session, groupe, matricule) cours(sigle, titre, préalables) annuaire – c’est un ensemble de cours, donc déjà traité par l’entité cours; on élimine cette entité professeur(nom, matricule, salaire, disponibilités, compétences)
2001/02/01 18
3
Exemple d’identification des attributs accessibilité(sigle, session) étudiant(matricule, nom, coteZ) groupeCours(sigle, session, groupe, matricule) – matricule du prof qui enseigne le cours
19 2001/02/01
Le modèle logique de gestion des cours avant normalisation cours accessibilité sigle sigle titre session préalables
groupeCours sigle session groupe matricule
inscription sigle session matricule groupe note
professeur matricule nom salaire compétences disponibilités
etudiant matricule nom coteZ
Clé étrangère
Formes normales
une forme normale dénote un niveau de normalisation pour une entité il existe plusieurs formes normales – 1FN, 2FN, 3FN, BCNF, 4FN, 5FN on a – 1FN – BCNF3FN2FN – 5FN4FN la plus courante est la 3FN les deux premières (1FN et 2FN) sont à éviter
2001/02/0121
23 2001/02/01
Exemple d’identification des attributs note (sigle, session, groupe, matricule, note) on peut combiner l’entiténoteavec inscription, car tous les attributs d’inscription sont inclus dans note inscription(sigle, session, groupe, matricule,note)
Normalisation des entités
2001/02/01 20
la normalisation des entités permet d’obtenir un schéma de BD relationnelle de bonne qualité la normalisation – minimise laredondancedes données – facilite lamise à jourdes données – facilite l’interrogationdes données
Définition de 1FN
Une relation E est en 1FN (première forme normale) ssi tous les attributs de E sont scalaires – attribut scalaire : attribut dont le type est élémentaire (char, varchar, numeric, etc) – attribut vectoriel : ensemble, liste (càd une structure comportant des répétitions)
2001/02/01 22
24 2001/02/01
4
Exemples et contreexemples de 1FN les relationsgroupeCours,inscription, étudiant, etaccessibilitésont en 1FN la relationcoursn’est pas en 1FN, car l’attributpréalablesest unensemblede sigles la relationprofesseurn’est pas en 1FN, car les attributscompétencesetdisponibilités sont desensembles
cours sigle IFT286 IFT486
25 2001/02/01
Normalisation en 1FN de cours
titre préalables Lab. de BD IFT178 IFT286 BD IFT339
cours sigle IFT286 IFT486
titre Lab. de BD BD
préalablesCours sigle préalables IFT286 IFT178 IFT486 IFT286 IFT486 IFT339
27 2001/02/01
Le modèle logique de cours après normalisation en 1FN prealableCours cours accessibilité sigle sigle sigle siglePrealable titre session
groupeCours sigle session groupe matricule
inscription sigle session matricule groupe note
professeur matricule salaire nom
etudiant matricule coteZ nom
competence sigle matricule
disponibilite matricule session
29 2001/02/01
Normalisation en 1FN
si une relation E n’est pas en 1FN, on la 1 normalise en créant une nouvelle relation E pour 2 chaque attributvectoriel les attributs de E sont : 2 – la clé primaire de E 1 – les attributs des éléments de la structure vectorielle on enlève de la relation E les attributs vectoriel 1
Normalisation en 1FN de professeur
professeur matricule salaire nom disponibilités compétences A01 IFT286 1 35 000 $ xyz E02 IFT339 2 25 000 $ abc H01 IFT178
disponibilités matricule session 1 A01 1 E02 2 H01
professeur matricule salaire nom 1 35 000 $ xyz 2 25 000 $ abc
26 2001/02/01
compétences matricule sigle 1 IFT286 1 IFT339 2 IFT178
Pourquoi normaliser en 1FN?
28 2001/02/01
parce que le modèle relationnel ne permet pas de stocker une structure vectorielle dans un attribut d’une table d’autres modèles permettent les répétitions – modèle relationnel étendu ou relationnel objet (SQL3) – modèle orienté objets
30 2001/02/01
5
Dépendance fonctionnelle
les définitions de 2FN, 3FN, BCNF reposent sur la notion dedépendance fonctionnelle une dépendance fonctionnelle est unefonction entre des listes d’attributs on dénote une dépendance fonctionnelle comme suit : (A , ..., A )ÆA 1 n n+1 on dit que
A dépend de A , ..., A n+1 1 n
31 2001/02/01
Que représente une dépendance fonctionnelle? attention! la dépendance matriculeÆnom ne signifie pasque le nom associé à un matricule ne change jamais; le nompeutchanger, mais,en tout temps, on peut déterminer le nom d’un étudiant à partir de son matricule celane signifie pas non plusque si on a deux matricules différents, alors leurs noms associés doivent être différents cela signifie que deux étudiants ne peuvent avoir le même matricule
2001/02/01 33
Dépendance fonctionnelle et clé candidate s’il existe une dépendance fonctionnelle minimale entre (A , ..., A ) et tous les autres 1 n attributs de la relation, alors ont peut conclure que (A , ..., A ) est une clé 1 n candidate une dépendance fonctionnelle sera donc traduite en une contrainte primary key ou unique
2001/02/01 35
Que représente une dépendance fonctionnelle? c’est unefonction, donc elle associe à une liste de valeurs des attributs A , ..., A une et une seule valeur dans A 1 n n+1 exemple – dans une université, étant donné le matricule d’un étudiant, on peut donner son nom – il existe donc une dépendance fonctionnelle entre matricule et nom
matriculeÆnom – l’inverse n’est pas vrai : étant donné un nom, on ne peut déterminer le matricule d’un étudiant, car il peut y avoir plusieurs matricules, puisque plusieurs étudiants peuvent avoir le même nom
32 2001/02/01
Dépendance fonctionnelle minimale si (A , ..., A )ÆB 1 n alors on a aussi (A , ..., A , A )ÆB 1 n n+1 pour les fins de normalisation, on considère seulement les dépendances qui sont minimales selon la liste de gauche
Quelques lois sur les dépendances fonctionnelles
2001/02/01 34
36 2001/02/01
6
Comment déterminer les dépendances fonctionnelles? les dépendances fonctionnelles sont des contraintes du domaine d’application on les détermine à partir de notre connaissance des faits (règles, conditions, etc) du domaine d’application on peut déterminer s’il y a une dépendance fonctionnelle (A , ..., A )Ærépondant à laA en 1 n n+1 question suivante: – étant donné une liste de valeurs pour A , ..., A , peut 1 n on toujours associer une et une seule valeur pour A ? n+1
Exercice
identifiez les dépendances fonctionnelles entre les attributs suivants – sigle, titre, matricule, nom, session, groupe, note, salaire, coteZ
prealableCours sigle siglePrealable
groupeCours sigle session groupe matricule
inscription sigle session matricule groupe note
37 2001/02/01
2001/02/01 39
Modèle logique de cours cours accessibilité sigle sigle titre session
professeur matricule salaire nom
etudiant matricule coteZ nom
competence sigle matricule
disponibilite matricule session
41 2001/02/01
Représentation graphique
sigleÆtitre
sigle
titre
(sigle,session,groupe)Æmatricule
sigle
session
groupe
matricule
Définition de 2FN
2001/02/01 38
une relation E est en deuxième forme normale ssi tous les attributs nonpremiers de E sont endépendance fonctionnelle complètede chaque clé candidate de E – attribut premier: attribut d’une clé candidate – dépendance fonctionnelle complète: l’attribut dépend de toute la clé (càd il n’existe pas de dépendance fonctionnelle entre une partie d’une clé candidate et un attribut non premier)
Exemples de 2FN
les relations suivantes sont
cours prealablesCours accessibilité groupeCours inscription
en 2FN
professeur competence disponibilite etudiant
2001/02/0140
42 2001/02/01
7
Contreexemple de 2FN
une entité E est en deuxième forme normale ssi tous les attributsnon premiers de E sont endépendance fonctionnelle complètede chaqueclé candidatede E
sigle session groupematriculetitrenom
titre ne dépend pas de toute la clé; il dépend seulement de sigle
2001/02/01 43
Exemples denormalisationen 2FN
A1 A2A3 A4 A5
A1 A2 A3 A4
la relation n’est pas en 2NF car  lacléest (A1,A2)  A5 estnon premier  A5 dépend seulement de A2
A2 A5
Pourquoi normaliser en 2FN?
45 2001/02/01
parce que cela élimine la redondance des données cela assure une meilleure intégrité des données tout en simplifiant les mise à jour on ne perd aucune information; on peut recréer l’information avec une jointure des deux relations
2001/02/0147
Normalisation en 2FN
les attributs non premiers en dépendance partielle sont extraits – pour former une nouvelle relation
ou bien – sont ajoutés à une relation ayant une clé primaire appropriée
Sontelles en 2NF?
A1 A2A3 A4A5
A1 A2A3 A4A5
2001/02/01 44
oui  il y a deux clés candidates (A1,A2) et (A5) seuls A3 et A4 sontnonpremiers A3 et A4 dépendent complètement de toutes les clés candidates
oui  il y a deux clés candidates A2, A5 seuls A1, A3 et A4 sontnonpremiers A1, A3 et A4 dépendent complètement de toutes les clés candidates 2001/02/01 46
Définition de 3FN
Une relation E est en troisième forme normale ssi pour toute dépendance fonctionnelle XÆA de E, une des conditions suivantes est satisfaite: – X est une super clé – A est un attribut premier super clé : liste d’attributs contenant une clé candidate
2001/02/0148
8
Exemples de 3FN
les relations suivantes sont en 3FN
cours prealablesCours accessibilité groupeCours inscription
professeur competence disponibilite etudiant
Normalisation en 3FN
A1 A2 A3 A4 A5
A1 A2 A3 A4
A4 A6
A4 A5 A6
Définition de BCNF
Une relation E est en forme normale de BoyceCodd ssi pour toute dépendance fonctionnelle XÆA de E, la condition suivante est satisfaite: – X est une super clé
2001/02/0149
2001/02/0151
53 2001/02/01
Contreexemple de 3FN
Une relation E est en troisième forme normale ssi pour toute dépendance fonctionnelle XÆA de E, une des conditions suivantes est satisfaite: –X est unesuper clé –A est un attributpremier
sigle session groupematricule nom
cette relation n’est pas 3FNcar : matricule n’est pas une super clé nom n’est pas premier
Pourquoi normaliser en 3FN
2001/02/01 50
comme pour la 2FN – parce que cela élimine la redondance des données – cela assure une meilleure intégrité des données tout en simplifiant les mise à jour on ne perd aucune information; on peut recréer l’information avec une jointure des deux relations
Exemples de BCNF
les relations suivantes sont en BCNF
cours prealablesCours accessibilité groupeCours inscription
professeur competence disponibilite etudiant
2001/02/01 52
2001/02/0154
9
Contreexemple de BCNF
supposons qu’une institution d’enseignement décerne un seul diplôme (SEC, DEC, ou BAC) et qu’une personne obtient un diplôme d’une et une seule institution; on a les DF suivantes – (personne,diplôme)Æinstitution – institutionÆdiplôme
Normalisation en BCNF
personne
personne
diplôme institution
institution
diplôme institution
note:  on ne perd pas d’information,  on diminue la redondance on perd une contrainte d’intégrité (personne,diplôme)Æinstitution
Exemple de 5FN
les relations suivantes sont en 5FN
cours prealablesCours accessibilité groupeCours inscription
professeur competence disponibilite etudiant
2001/02/01 55
2001/02/01 57
2001/02/0159
Contreexemple de BCNF
Une entité E est en forme normale de BoyceCodd ssi pour toute dépendance fonctionnelle XÆA de E, la condition suivante est satisfaite: –X est une super clé
personne
diplômeinstitution
cette entité n’est pas en BCNF, car il y a la DF institutionÆdiplôme, et institution n’est pas une super clé
Définition de 5FN
2001/02/01 56
Une relation E est en cinquième forme normale ssi E ne peut être obtenue par une jointure de relations E , ..., E telle que 1 n l’une des E n’est pas une clé de E i la quatrième forme normale est un cas particulier de 5FN; nous omettons sa définition
Contreexemple de 5FN
offreDeCours(sigle ,session,matricule) représente le fait qu’un professeur peut enseigner le cours à une session donnée cette relation peut être obtenue par la jointure des 3 relations suivantes: – disponibilité(matricule, session) – compétence(matricule, sigle) – accessibilite(sigle, session)
58 2001/02/01
60 2001/02/01
10
groupe
affecte
1
N
N donne
cours
1
competence sigle matricule
groupe
Modèle ER correspondant au modèle normalisé sigle titre préalables session
disponibilite matricule session
accessibilité
sigle session
N
étudiant
nom
matricule
64 2001/02/01
clé
1
N
1
coteZ
1
N
N
N
session
inscription
disponibilités
professeur
session
matricule
accessib ilité
note
sigle
groupe
matricule
2001/02/01 63
session
11
Modèle ER de la gestion des cours
compétences
note
nom
groupe
cours
accessib ilité
inscrit (1,n)
N donne
N
1
(1,n)
61 2001/02/01
compétences
accessibilité sigle session
65 2001/02/01
disponibilitécompétence matricule sessionmatricule sigle ⌧ ⌧ 1 E011 IFT286 2 E012 IFT286 = offreDeCours sigle session matricule IFT286 E01 1 IFT286 E01 2
etudiant matricule coteZ nom
offreDeCours sigle session matricule
compétence matricule sigle
disponibilité matricule session
cours sigle titre
professeur matricule salaire nom
session
matricule
étudiant
N
(1,n)
préalables
sigle
groupeCours sigle session groupe matricule
inscription sigle session matricule groupe note
titre
accessibilité sigle session IFT286 H01 IFT286 E01
Contreexemple de 5FN
62 2001/02/01
prealableCours sigle siglePrealable
Normalisation vs Modèle ER
Modèle relationnel obtenu par traduction
coteZ
2001/02/01 66
matricule
professeur
disponibilités
Normalisation en 5FN
Il arrive parfois que la traduction d’un modèle ER ne donne pas un modèle relationnel normalisé Exercice – Produisez le modèle ER du système de gestion des inscriptions aux cours – Traduisez votre modèle en modèle relationnel – Comparez le modèle relationnel obtenu avec le modèle normalisé
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents