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

2012/03/12 1 Modélisation de données (modèle relationnel)

Présentations similaires


Présentation au sujet: "2012/03/12 1 Modélisation de données (modèle relationnel)"— Transcription de la présentation:

1 2012/03/12 1 Modélisation de données (modèle relationnel)

2 2012/03/12 2 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 sassurer de sa qualité Dans cette partie, on utilisera la deuxième

3 2012/03/12 3 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

4 2012/03/12 4 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éralement un modèle relationnel normalisé

5 2012/03/12 5 Identifier les entités une relation est un objet dintérêt pour lutilisateur du système une relation peut représenter un objet physique ou virtuel (artificiel) du monde critères de pertinence –la relation a-t-elle une valeur pour le processus daffaires? –est-elle référencée par une fonction de maj et une fonction dinterrogation? –y a-t-il plusieurs instances de lentité?

6 2012/03/12 6 Sources pour lidentification des entités texte de létude de faisabilité diagramme des fonctions rapport ou autre document que lon désire informatiser procédures

7 2012/03/12 7 La modélisation dans le processus de développement

8 2012/03/12 8 Processus de modélisation

9 2012/03/12 9 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 –lidentification dune relation entraîne lidentification de fonctions (maj, interrogation) –lidentification dune fonction entraîne lidentification de relations choisir lapproche la plus naturelle selon le domaine dapplication

10 2012/03/12 10 Exemple didentification 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 lannuaire de luniversité. On désire affecter les cours selon les disponibilités des professeurs, leur compétence et laccessibilité des cours par session. Un étudiant sinscrit à un groupe dun cours pour une session donnée sil a complété tous ses préalables. On désire également y consigner la note dun étudiant.

11 2012/03/12 11 Exemple candidats dentité 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 lannuaire de luniversité. On désire affecter les cours selon les disponibilités des professeurs, leur compétence et laccessibilité des cours par session. Un étudiant sinscrit à un groupe dun cours pour une session donnée sil a complété tous ses préalables. On désire également y consigner la note dun étudiant.

12 2012/03/12 12 Exemple délicitation de la liste des entités inscription –oui (elle a une valeur pour le processus daffaires) cours –oui (valeur, idem) université –non –aucune valeur; –le système sapplique toujours à la même université; –si on gérait les cours pour un réseau duniversité, ou pour des programmes multi-universitaires, lentité université serait alors pertinente)

13 2012/03/12 13 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 –cest un attribut de professeur; il a une valeur pour gérer laffectation des cours compétence –cest un attribut de professeur; il a une valeur pour gérer laffectation des cours

14 2012/03/12 14 Exemple délicitation de la liste des entités accessibilité –oui (valeur pour gérer laffectation des cours) session –non; pas nécessaire de gérer les sessions; il sagit plutôt dun attribut de plusieurs entités étudiant –oui (valeur) note –oui (valeur)

15 2012/03/12 15 Exemple délicitation de la liste des entités groupe –oui (valeur) préalables –non (considérons le comme un attribut de cours)

16 2012/03/12 16 Représentation graphique

17 2012/03/12 17 Définition des attributs des entités pour chaque attribut, il faut –nom –type –contraintes dintégrité pour linstant, on se concentre sur le nom représentation textuelle des attributs dune entité –entité(attribut 1,..., attribut n )

18 2012/03/12 18 Exemple didentification des attributs inscription(sigle, session, groupe, matricule) cours(sigle, titre, préalables) annuaire –cest un ensemble de cours, donc déjà traité par lentité cours; on élimine cette entité professeur(nom, matricule, salaire, disponibilités, compétences)

19 2012/03/12 19 Exemple didentification des attributs accessibilité(sigle, session) étudiant(matricule, nom, coteZ) groupeCours(sigle, session, groupe, matricule) –matricule du prof qui enseigne le cours

20 2012/03/12 20 Exemple didentification des attributs note (sigle, session, groupe, matricule, note) on peut combiner lentité note avec inscription, car tous les attributs dinscription sont inclus dans note inscription(sigle, session, groupe, matricule,note)

21 2012/03/12 21 Le modèle logique de gestion des cours avant normalisation Clé étrangère

22 2012/03/12 22 Normalisation des entités la normalisation des entités permet dobtenir un schéma de BD relationnelle de bonne qualité la normalisation –minimise la redondance des données –facilite la mise à jour des données –facilite linterrogation des données

23 2012/03/12 23 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 –BCNF 3FN 2FN –5FN 4FN la plus courante est la 3FN les deux premières (1FN et 2FN) sont à éviter

24 2012/03/12 24 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)

25 2012/03/12 25 Exemples et contre-exemples de 1FN les relations groupeCours, inscription, étudiant, et accessibilité sont en 1FN la relation cours nest pas en 1FN, car lattribut préalables est un ensemble de sigles la relation professeur nest pas en 1FN, car les attributs compétences et disponibilités sont des ensembles

26 2012/03/12 26 Normalisation en 1FN si une relation E 1 nest pas en 1FN, on la normalise en créant une nouvelle relation E 2 pour chaque attribut vectoriel les attributs de E 2 sont : –la clé primaire de E 1 –les attributs des éléments de la structure vectorielle on enlève de la relation E 1 les attributs vectoriel

27 2012/03/12 27 Normalisation en 1FN de cours

28 2012/03/12 28 Normalisation en 1FN de professeur

29 2012/03/12 29 Le modèle logique de cours après normalisation en 1FN

30 2012/03/12 30 Pourquoi normaliser en 1FN? parce que le modèle relationnel ne permet pas de stocker une structure vectorielle dans un attribut dune table dautres modèles permettent les répétitions –modèle relationnel étendu ou relationnel objet (SQL3) –modèle orienté objets

31 2012/03/12 31 Dépendance fonctionnelle les définitions de 2FN, 3FN, BCNF reposent sur la notion de dépendance fonctionnelle une dépendance fonctionnelle est une fonction entre des listes dattributs on dénote une dépendance fonctionnelle comme suit : (A 1,..., A n ) A n+1 on dit que A n+1 dépend de A 1,..., A n

32 2012/03/12 32 Que représente une dépendance fonctionnelle? cest une fonction, donc elle associe à une liste de valeurs des attributs A 1,..., A n une et une seule valeur dans A n+1 exemple –dans une université, étant donné le matricule dun étudiant, on peut donner son nom –il existe donc une dépendance fonctionnelle entre matricule et nom matricule nom –linverse nest pas vrai : étant donné un nom, on ne peut déterminer le matricule dun étudiant, car il peut y avoir plusieurs matricules, puisque plusieurs étudiants peuvent avoir le même nom

33 2012/03/12 33 Que représente une dépendance fonctionnelle? attention! la dépendance matricule nom ne signifie pas que le nom associé à un matricule ne change jamais; le nom peut changer, mais, en tout temps, on peut déterminer le nom dun étudiant à partir de son matricule cela ne signifie pas non plus que 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

34 2012/03/12 34 Dépendance fonctionnelle minimale si (A 1,..., A n ) B alors on a aussi (A 1,..., A n, A n+1 ) B pour les fins de normalisation, on considère seulement les dépendances qui sont minimales selon la liste de gauche

35 2012/03/12 35 Dépendance fonctionnelle et clé candidate sil existe une dépendance fonctionnelle minimale entre (A 1,..., A n ) et tous les autres attributs de la relation, alors on peut conclure que (A 1,..., A n ) est une clé candidate une dépendance fonctionnelle sera donc traduite en une contrainte primary key ou unique

36 2012/03/12 36 Quelques lois sur les dépendances fonctionnelles

37 2012/03/12 37 Comment déterminer les dépendances fonctionnelles? les dépendances fonctionnelles sont des contraintes du domaine dapplication on les détermine à partir de notre connaissance des faits (règles, conditions, etc) du domaine dapplication on peut déterminer sil y a une dépendance fonctionnelle (A 1,..., A n ) A n+1 en répondant à la question suivante: –étant donné une liste de valeurs pour A 1,..., A n, peut- on toujours associer une et une seule valeur pour A n+1 ?

38 2012/03/12 38 Représentation graphique sigle titre (sigle,session,groupe) matricule sigletitre siglesessiongroupematricule

39 2012/03/12 39 Exercice identifiez les dépendances fonctionnelles entre les attributs suivants –sigle, titre, matricule, nom, session, groupe, note, salaire, coteZ

40 2012/03/12 40 Définition de 2FN une relation E est en deuxième forme normale ssi tous les attributs non premiers de E sont en dépendance fonctionnelle complète de chaque clé candidate de E –attribut premier : attribut dune clé candidate –dépendance fonctionnelle complète : lattribut dépend de toute la clé (c-à-d il nexiste pas de dépendance fonctionnelle entre une partie dune clé candidate et un attribut non premier)

41 2012/03/12 41 Modèle logique de cours

42 2012/03/12 42 Exemples de 2FN les relations suivantes sont en 2FN – cours – prealablesCours – accessibilité – groupeCours – inscription – professeur – competence – disponibilite – etudiant

43 2012/03/12 43 Contre-exemple de 2FN une entité E est en deuxième forme normale ssi tous les attributs non premiers de E sont en dépendance fonctionnelle complète de chaque clé candidate de E siglesessiongroupematriculetitrenom titre ne dépend pas de toute la clé; il dépend seulement de sigle

44 2012/03/12 44 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

45 2012/03/12 45 Exemples de normalisation en 2FN A1A2A3A4A5 la relation nest pas en 2NF car - la clé est (A1,A2) - A5 est non premier - A5 dépend seulement de A2 A1A2A3A4 A2A5

46 2012/03/12 46 Sont-elles en 2NF? A1A2A3A4A5 oui - il y a deux clés candidates (A1,A2) et (A5) -seuls A3 et A4 sont non premiers -A3 et A4 dépendent complètement de toutes les clés candidates A1A2A3A4A5 oui - il y a trois clés candidates (A1,A2), (A5), (A2) -seuls A3 et A4 sont non premiers -A3 et A4 dépendent complètement de toutes les clés candidates

47 2012/03/12 47 Pourquoi normaliser en 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 la relation originale avec une jointure des deux relations normalisées

48 2012/03/12 48 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 dattributs contenant une clé candidate

49 2012/03/12 49 Exemples de 3FN les relations suivantes sont en 3FN – cours – prealablesCours – accessibilité – groupeCours – inscription – professeur – competence – disponibilite – etudiant

50 2012/03/12 50 Contre-exemple de 3FN siglesessiongroupematriculenom 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 cette relation nest pas 3FN car : matricule nest pas une super clé nom nest pas premier

51 2012/03/12 51 Normalisation en 3FN A1A2A3A4A5 A1A2A3A4 A5 A4A6

52 2012/03/12 52 Pourquoi normaliser en 3FN 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 la relation originale avec une jointure des deux relations normaliées

53 2012/03/12 53 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é

54 2012/03/12 54 Exemples de BCNF les relations suivantes sont en BCNF – cours – prealablesCours – accessibilité – groupeCours – inscription – professeur – competence – disponibilite – etudiant

55 2012/03/12 55 Contre-exemple de BCNF supposons quune institution denseignement décerne un seul diplôme (SEC, DEC, ou BAC) et quune personne obtient un diplôme dune et une seule institution; on a les DF suivantes –(personne,diplôme) institution –institution diplôme

56 2012/03/12 56 Contre-exemple de BCNF personnediplômeinstitution cette entité nest pas en BCNF, car il y a la DF institution diplôme, et institution nest pas une super clé 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é

57 2012/03/12 57 Normalisation en BCNF personnediplômeinstitution personneinstitutiondiplômeinstitution note: - on ne perd pas dinformation, - on diminue la redondance -on perd une contrainte dintégrité (personne,diplôme) institution

58 2012/03/12 58 Définition de 5FN Une relation E est en cinquième forme normale ssi E ne peut être obtenue par une jointure de relations E 1,..., E n telle que lune des E i nest pas une clé de E la quatrième forme normale est un cas particulier de 5FN; nous omettons sa définition

59 2012/03/12 59 Exemple de 5FN les relations suivantes sont en 5FN – cours – prealablesCours – accessibilité – groupeCours – inscription – professeur – competence – disponibilite – etudiant

60 2012/03/12 60 Contre-exemple de 5FN offreDeCours(sigle,session,matricule) représente le fait quun 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)

61 2012/03/12 61 Contre-exemple de 5FN =

62 2012/03/12 62 Normalisation en 5FN

63 2012/03/12 63 Normalisation vs Modèle ER Il arrive parfois que la traduction dun 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é

64 2012/03/12 64 Modèle ER (erroné) de la gestion des cours

65 2012/03/12 65 Modèle relationnel obtenu par traduction

66 2012/03/12 66 Modèle logique nornalisé de la gestion des cours

67 2012/03/12 67 Modèle ER correspondant au modèle normalisé

68 2012/03/12 68 Modèle UML correspondant au modèle normalisé

69 2012/03/12 69 Modèle ER avec une notation adaptée


Télécharger ppt "2012/03/12 1 Modélisation de données (modèle relationnel)"

Présentations similaires


Annonces Google