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

Modélisation des BD Modèle conceptuel : Entité Association Modèle logique : Relationnel Conversion Normalisation.

Présentations similaires


Présentation au sujet: "Modélisation des BD Modèle conceptuel : Entité Association Modèle logique : Relationnel Conversion Normalisation."— Transcription de la présentation:

1 Modélisation des BD Modèle conceptuel : Entité Association Modèle logique : Relationnel Conversion Normalisation

2 Thomas DevogeleISI 2042 Démarche de construction dune BD relationnelle Interview Documents Modélisation Entité association Schéma logique en Entité-Association Transformation en relationnel Schéma conceptuel en relationnel

3 Thomas DevogeleISI 2043 Démarche Analyse du problème et modélisation conceptuelle de la BD n représentation informationnelle de lorganisation étudiée m à l aide de méthodes : l AXIAL, l OMT, l MERISE l UML (étudié en VA)... Implantation logique de la BD n transformation du modèle conceptuel des données en objets propres au type de SGBD utilisé Implantation physique de la BD : n phase totalement prise en charge par le SGBD adopté

4 Modèle Conceptuel des Données Entité - Association

5 Thomas DevogeleISI 2045 Modèle ER entité-relation ou entité-association Modèle Conceptuel des Données (MCD) n description statique du système dinformation visé à laide : m Dentité : m Dassociation : m Dattributs: Pas de modélisation des traitements Langage Graphique

6 Thomas DevogeleISI 2046 Entité permet de modéliser un ensemble d'objets concrets ou abstraits de même nature. représentent des phénomènes du monde réel (élèves, écoles). n l'entité élèves représente tous les élèves de notre système d'information. Représentation graphique (rectangle) élèves écoles

7 Thomas DevogeleISI 2047 Association ou relation représentent les liens entre deux ou plusieurs entités.. n Généralement 2 : associations binaires Exemple n a pour école Représentation graphique (rectangle arrondi, ellipse, hexagone) élèves écoles a pour école

8 Thomas DevogeleISI 2048 Attributs Décrit les entités et les associations n Exemple m Lentité élèves a pour attributs : nom, prénom, pays, … m Lentité école a des attributs : adresse, ville, … m l association « a pour école » a des attributs : date dembarquement, date de débarquement Représentation graphique Élèves nom prénom pays Écoles adresse ville a pour école date embarquement date débarquement

9 Thomas DevogeleISI 2049 Types des attributs Les attributs sont de types simples n entier n flottant n chaîne de caractères n date

10 Thomas DevogeleISI Clé un ou plusieurs attributs permettant didentifier, de façon unique, chaque occurrence dune entité n exemple m num élève pour Elèves l chaque élève doit avoir un numéro unique Représentation graphique (attribut(s) souligné(s)) Élèves num élève nom prénom pays Écoles num école adresse ville a pour école date embarquement date débarquement

11 Thomas DevogeleISI Cardinalité Les entités participant aux associations ont des cardinalités minimales et maximales. n cardinalité minimale : nombre minimum de fois quune occurrence dune entité participe aux occurrences de l association (O, 1,...) n cardinalité maximale : nombre maximum de fois quune occurrence d une entité participe aux occurrences de l association (1, n,...) n Exemple m Une école à un ou plusieurs élèves m Un élève à une et une seule école

12 Thomas DevogeleISI Cardinalité Représentation graphique n Le nombre de gauche indique la cardinalité minimale, n le nombre de droite indique la cardinalité maximale. Élèves num élève nom prénom pays Écoles num école adresse ville a pour école date embarquement date débarquement 1,1 1,n

13 Thomas DevogeleISI Cardinalité : exemples lassociation « a pour époux » n BD pays monogame n BD pays polygame (homme) n BD de la mairie (service mariage) n BD historique homme femme a pour époux 1,1 homme femme a pour époux 0,1 homme femme a pour époux 0,N 0,1 homme femme a pour époux date début date fin cause fin 0,N

14 Thomas DevogeleISI Associations spécifiques Associations réflexives n Représentation graphique (ajout obligatoire de rôles) Associations n-aires n Représentation graphique (exemple de dassociation ternaire) professeur classe enseigne 1,N matière 1,N humain a pour enfants 0,2 parents enfants 0,N

15 Thomas DevogeleISI Exemple

16 Le modèle Logique Le modèle Relationnel

17 Thomas DevogeleISI Le modèle relationnel Inventé par CODD en 1970 (IBM) fondement mathématique n Basé sur les relation n-aire. n algèbre relationnel langage dinterrogation simple déclaratif n SQL Organisation des données en Tables (relations): n des lignes (enregistrements ou n-uplets) n des colonnes (champs ou attributs)

18 Thomas DevogeleISI Le modèle relationnel (2) Une BD relationnels n Composés de plusieurs tables Les associations n sont matérialisées par les valeurs dattributs, n non par des références physiques (pointeurs) Les tables n Sont une représentation naturelle

19 Thomas DevogeleISI Exemple de BD relationnelle Intuitivement, il est possible de passer dune table à une autre

20 Thomas DevogeleISI Concepts fondamentaux (1) Relation (table relationnelle, table) : n caractérisé par: m un nom m des champs (attributs) qui correspondent aux noms de chacun des domaines mis en jeu (les colonnes) m des n-uplets (tuples, enregistrements) qui correspondent à une ligne de la relation. chaque attribut, a une unique valeurs NomPrénom TRICHETFrancky GILBERTJacques ANDREPascal Personne

21 Thomas DevogeleISI Concepts fondamentaux (2) Exemple la relation Client

22 Thomas DevogeleISI Concepts fondamentaux (3) Valeurs scalaires n Une valeur scalaire représente la plus petite unité sémantique de données. n Atomiques n Nom d une ville m St Denis possède une sémantique m S, t,, D, e, n, i, s n en possèdent pas

23 Thomas DevogeleISI Concepts fondamentaux (4) Domaine n Ensemble nommé de valeurs scalaires toutes du même type n Groupe de valeurs doù sont extraites les valeurs effectives n Exemple m D1={rouge,vert, NULL}, m D2={3,2, NULL} m jours = {lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche, NULL} m couleurs = {rouge, vert, bleu, jaune,..., pourpre, NULL} m âges = [0, 125] NULL m salaires = R + NULL n Tous les domaines ont une valeur NULL qui représente soit m Valeur inconnue m Pas de valeur m la valeur NULL est différente de la valeur zéro.

24 Thomas DevogeleISI Concepts fondamentaux (5) Produit Cartésien n dun ensemble de domaines D 1, D 2... D n n lensemble des n-uplets { } tels que m v i D i m D1 × D2 = {,,,,,,, }

25 Thomas DevogeleISI Concepts fondamentaux (5) Relation n Une relation R sur un ensemble de domaines D 1, D 2, …, D n est constituée de deux parties m L en-tête : ensemble fixé d attributs ( ) {,, …, } Chaque attribut A j prend ses valeurs dans D j et les noms des attributs sont distincts

26 Thomas DevogeleISI Concepts fondamentaux (6) Relation n Le corps : ensemble de n-uplets ( ) {,, …, } pour le n-uplet i n Tout couple attribut - valeur doit correspondre à un couple attribut - domaine de len-tête et toute valeur v ij D j n Le corps est un sous-ensemble du produit cartésien n Le corps est un ensemble non ordonnée n Chaque n-uplet est unique (Impossible davoir 2 n- uplets qui ont exactement les mêmes valeurs)

27 Thomas DevogeleISI Concepts fondamentaux (7) Attribut n Colonne dune relation caractérisée par un nom n Pas d ordonnancement des attributs m référence par nom n Les valeurs des attributs sont n homogènes :Elles appartiennent au même domaine n atomiques : Une unique valeur pour chaque attribut de chaque n- uplet) NF PRODUIT NF NP QTE NP QTE F1 F2 P1 100 P2 350 P3 175 F1 P1 100 F1 P2 350 F2 P3 175

28 Thomas DevogeleISI Concepts fondamentaux (8) Degré dune relation n nombre dattributs Cardinalité dune relation n nombre de n-uplets

29 Thomas DevogeleISI Exemple rouge, vert, gris, jaune bleu, blanc, noir Domaine Attribut n-uplet Cardinalité 8 Degré 5 Concepts fondamentaux (9)

30 Thomas DevogeleISI Concepts fondamentaux (10) Deux facettes du concept de table relationnel n Schéma dune table (intention) m Définition de son type (sa structure) m Décrit par le nom de la table puis entre parenthèse les noms des attributs m Ex. Client(n°Client, nom, prénom) n Instance dune table (extension) m État de la table à un instant donné m Ensemble de n lignes (enregistrements) Schéma dune BD relationnel n Ensemble de schémas des tables

31 Thomas DevogeleISI Exemple de BD relationnelle produits(pno,design,prix,poids,couleur) fournisseurs(fno,nom,adresse,ville) commandes(cno,fno,pno,qute) Le schéma :

32 Contraintes et clés Les contraintes dintégrité les clés primaires Les clés étrangères

33 Thomas DevogeleISI Contraintes dintégrité (1) A tout instant la base représente une partie du monde réel à travers une configuration particulière des valeurs des données Mais il faut restreindre lensemble des états possibles de la BD par exemple éviter les erreurs n Certaines configurations des valeurs nont pas de sens m exemple age d une personne = -35

34 Thomas DevogeleISI Contraintes dintégrité (2) Comment ? n Lors de la programmation, vérifier les données entrées m Exemple : la balance des paiements doit être équilibré n Ajouter des contraintes : règles dintégrité m au niveau du SGBD pour obliger que la contrainte soit vraie.

35 Thomas DevogeleISI Contraintes dintégrité (3) Exemple de contraintes dintégrité n Le numéro de produit (pno) doit être sous la forme de 3 chiffres n La valeur de lattribut couleur doit appartenir à lensemble {rouge, vert, gris, jaune, bleu, blanc, noir } n La quantité commandé (qute) doit être positive n La valeur de pno de la table commandes, doit être une valeur dun pno de la table produits

36 Thomas DevogeleISI Intégrité et clés Propriétés dintégrité générale n clés uniques n clés candidates et clés primaires n clés étrangères Clé unique n Un ensemble de colonnes de la table est dite clé unique si deux lignes de la table ne peuvent pas avoir les mêmes valeurs. n Identifie de manière unique une ligne de la table n Une clé composée est un ensemble contenant plusieurs colonnes

37 Thomas DevogeleISI Clés candidates (1) Définition n une clé unique minimale est dite clé candidate n Ensemble minimal dattributs dont la connaissance des valeurs permet didentifier un n-uplet unique de la relation considérée n Chaque relation contient au moins une clé candidate Remarque : n Une clé candidate ne peut pas avoir de valeur NULL

38 Thomas DevogeleISI Clés candidates (2) Clés candidates n Propriétés Soit R et une relation et soit K un ensemble dattributs (clé candidate) m Unicité : t 1 et t 2 R, K(t 1 ) K(t 2 ) m Irréductibilité : il n existe pas densemble L tel que L K et L clé candidate

39 Thomas DevogeleISI Clés candidates (3) Clés candidates n Utilité m mécanisme dadressage au niveau des n-uplets dune table m Exemples l Professeur WHERE MAT = 34560, produit un seul n- uplet en résultat l Professeur WHERE AN_ENT = 1994, va produire un nombre imprévisible de n-uplets en résultat

40 Thomas DevogeleISI Clés primaire (1) Définition n Parmi les clés candidates, il y en a une qui est choisie comme la clé primaire. La clé primaire est utilisée pour faire référence aux lignes dune table. Propriétés n Une clé choisie parmi lensemble des clés candidates n Le choix est arbitraire n Peux se faire selon des heuristiques m Plus simple par exemple n Les attributs formant la clé primaire dune table relationnelle sont soulignés dans le schéma

41 Thomas DevogeleISI Clés primaire (2) Exemple num-insee n ETUDIANT(matricule, nom, prénom, adresse, num-insee) n Etudiant (Code_per, Nom, Prenom, Adresse, Date_nais, Lieu_nais, NASS) m Quelles sont les clés candidates ? m Quelle clé primaire choisir ? Clé primaireClé candidate

42 Thomas DevogeleISI Clé étrangère (1) Définition n Une clé étrangère est un ensemble dune ou de plusieurs colonnes dune table qui fait référence à une clé primaire dune autre table. n Soir R2 une relation, un sous-ensemble dattributs FK dans R2 est dit clé étrangère dans le cas où : m il existe une relation R1 avec une clé candidate CK (R1 peut être R2) m à tout instant, chaque valeur de FK dans R2 est identique à une valeur de CK dans R1

43 Thomas DevogeleISI Clé étrangère (2) Propriétés n Il nest pas nécessaire davoir pour toute valeur de CK dans R1 une valeur identique de FK dans R2 n Une clé étrangère est composée ou simple n Chaque attribut dune clé étrangère doit être défini sur le même domaine que son équivalent dans la clé candidate correspondante n Une clé étrangère peut avoir pour valeur NULL

44 Thomas DevogeleISI Clé étrangère (3) Un attribut dune clé étrangère peut faire partie dune clé primaire de sa relation Employe (Mat, Nom, …) Projet (Num, Designation, …) Role (Mat, Num, role) Pour Role lattribut Mat fait partie de la clé primaire et est une clé étrangère (vers Employe) Pour Role lattribut Num fait partie de la clé primaire et est une clé étrangère (vers Projet)

45 Thomas DevogeleISI Employe Role Projet Dept Clé étrangère (4) Diagramme référentiel m représentation graphique des références

46 Thomas DevogeleISI Clé étrangère (5) Exemple Employe (mat, nom, adresse, dept, superieur) Projet (num, designation) Departement (dept, directeur, nom) Role (mat, num, role_emp) n Remarques : m directeur et superieur ont pour valeur des valeurs prisent par mat m Le couple mat, num est la clé primaire de Role m Mat est la clé primaire de la table Employe et est une clé étrangère de la table Role

47 Thomas DevogeleISI Clé étrangère (6) Intégrité référentielle n La base de données ne doit pas contenir une valeurs de clé étrangère non « unifiable » n Cest-à-dire : une clé étrangère non nulle doit faire référence à une valeur existante de la clé primaire correspondante n Cette contrainte est dite référentielle n Conséquence : Il faut créer et détruire les n-uplets dans un ordre particulier

48 Thomas DevogeleISI Exemple de BD relationnelle produits(pno,design,prix,poids,couleur) fournisseurs(fno,nom,adresse,ville) commandes(cno,fno,pno,qute) Le schéma : Question : peut on supprimer cno ?

49 Conversion du modèle conceptuel en modèle logique ER Relationnel

50 Thomas DevogeleISI Conversion des entités chaque entité devient une table n attributs colonnes n clé clé primaire n occurrences n-uplets Exemple Élèves num élève nom prénom pays eleves (numeleve, nom, prenom, pays )

51 Thomas DevogeleISI Association...,1...,N n exemple Ô recopie de la clé de Écoles en tant que colonne de Élèves (clé étrangère) Ô migration des attributs de lassociation en tant que colonne de Élèves ecole(num_ecole, nom, adresse, ville) eleve( num_eleves, nom, prénom, pays,num_école, date_embarquement, date débarquement) conversion des associations binaires (1) Élèves num élève nom prénom pays Écoles num école nom adresse ville a pour école date embarquement date débarquement 1,1 1,n

52 Thomas DevogeleISI conversion des associations binaires (2) Association...,N...,N Ô création dune nouvelle table avec comme colonnes, les clés de homme et de femme Ô création de colonnes pour les attributs de lassociation tables relationnelles correspondantes homme (numhomme…), femme (numfemme…), a_pour_epoux (numhomme, numfemme, date_debut, date_fin, cause_fin…), homme femme a pour époux date début date fin cause fin 0,N Clé de a_pour_epoux ???

53 Thomas DevogeleISI conversion des associations binaires (3) Clés primaires de tables relationnelles représentant des associations Association...,N...,N Remarques : n Il faut une clé primaire unique n Les attributs clés primaires des entités associées font partie de la clé n Pas toujours suffisant n Exemple m Si impossible de se remarier avec son ancien conjoint l a_pour_epoux (numhomme, numfemme, date_debut, date_fin, cause_fin…) m Si possible de se remarier avec son ancien conjoint l a_pour_epoux (numhomme, numfemme, date_debut, date_fin, cause_fin…)

54 Thomas DevogeleISI homme femme a pour époux 0,1 Exemple de conversion des associations binaires Association...,1...,1 tables relationnelles correspondantes homme ( numhomme… numfemme), femme (numfemme…) ou homme ( numhomme…), femme (numfemme… numhomme)

55 Thomas DevogeleISI Exemple de conversion des associations binaires Les tables relationnelles correspondantes : Produits(pno,design,prix,poids,couleur) Fournisseurs(fno,nom,adresse,ville) Commandes(cno, qute fno,pno) Produits pno design prix poids couleur Commandes cno Fournisseur fno nom adresse ville Concerne qute Est passé à 1,N 1,1 1,N

56 Thomas DevogeleISI conversion des associations binaires Fonction des cardinalités max min des entités E1 et E2 n (0,1) et (0,1) Ô recopie de la clé de E1 en tant que colonne de E2 (ou inverse) Ô migration des attributs de lassociation en tant que colonne de E2 n (0,1) et (1,1) (ou inverse) Ô recopie de la clé de E1 en tant que colonne de E2 Ô migration des attributs de lassociation en tant que colonne de E2 n (1,1) et (1,1) Ô recopie de la clé de E1 en tant que colonne de E2 (ou inverse) Ô migration des attributs de lassociation en tant que colonne de E2 n (-,N) et (-,1) (ou inverse) Ô recopie de la clé de E1 en tant que colonne de E2 Ô migration des attributs de lassociation en tant que colonne de E2 n (-,N) et (-,N) Ô création dune table avec comme colonnes, les clés de E1et E2 Ô création de colonnes pour les attributs de lassociation

57 Thomas DevogeleISI conversion des associations N-aires (N >2) création dune nouvelle table avec comme colonnes, les clés n Professeur (numprof…) n Classe (numcla…) n Matiere (nummat…) n Enseigne (numprof,numcla, nummat) professeur classe enseigne 1,N matière 1,N

58 Thomas DevogeleISI Conversion des associations réflexives Humain(num, nom, prénom) A_pour_enfants(num_parent,num_enfant) humain a pour enfants 0,2 parents enfants 0,N

59 Thomas DevogeleISI Conversion des associations réflexives Humain(num, nom, prénom, num_père) humain a pour père 0,1 père enfants 0,N

60 Les principes de normalisation Les 3 formes normales et les Dépendances Fonctionnelles

61 Thomas DevogeleISI La normalisation objectif de la normalisation n définir un schéma de relations permettant déviter : m la redondance de données m les incohérences lors des mises à jour m les anomalies lors dinsertion et/ou suppression Repose sur lanalyse des dépendances entre attributs n moyen : m décomposer les relations sujettes à redondance m conserver la possibilité de reconstituer les relations originelles en combinant les n-uplets des tables (jointure)

62 Thomas DevogeleISI La normalisation : exemple Une entreprise de vente de bateaux qui souhaite constituer un système d information relatif à leur activité Achats(IdClient, NomClient, PrénomClient, AdresseClient, ImmatriculationBateau, ModèleBateau, LongueurBateau, DateAchat, MontantAchat) Problèmes potentiels n redondance de données : m une personne qui achète plusieurs bateaux n incohérence suite à une Mise à jour : m une personne qui change dadresse n anomalies lors dinsertion/suppression : m un client potentiel ne peut être enregistré dans la BD sil na pas encore acheté de bateau m lorsquun client vend son bateau, il est supprimé du système dinformation

63 Thomas DevogeleISI Comment normaliser ? Décomposition des relations jusquà ce que toutes respectent les 3 Formes Normales suivantes : n Première Forme Normale m Une relation est dite en Première Forme Normale si tous ses attributs sont atomiques ; l aucun des attributs ne doit être une relation entre « sous- attributs » l pas de colonnes dans une colonne

64 Thomas DevogeleISI Dépendance Fonctionnelle Définition n Deux groupes dattributs X et Y de la relation R sont en Dépendance Fonctionnelle si dans R, chaque valeur de X détermine une et une seule valeur de Y m si je connais la valeur de X alors je connais la valeur de Y n une DF est une assertion sur toutes les extensions possibles dune relation et pas uniquement sur ses n-uplets actuels Exemple : ensemble de DF pour une table

65 Thomas DevogeleISI Seconde Forme Normale Condition n Première Forme Normale n tous les attributs nappartenant pas à la clé sont en dépendance fonctionnelle élémentaire avec la clé m dès quun attribut non-clé dépend dune partie de la clé, la relation nest pas en 2FN. Exemple n pretK7 (numcli, numk7,nomcli,adrcli,titrek7,dateprêt) n DF m numcli nomcli, adrcli m numk7 titrek7 m numcli, numk7 dateprêt n pretK7 n est pas en 2 FN car m nomcli dépend uniquement de numcli et pas de numcli et de numk7 m … n décomposition à laide des DF m client (numcli, nomcli,adrcli) m K7 (numk7,titrek7) m prêt (numcli, numk7,dateprêt)

66 Thomas DevogeleISI Troisième Forme Normale Condition n Seconde Forme Normale (2FN) n Aucun de ses attributs non-clés dépend dun autre attribut non-clé ; m il n existe pas de DF entre 2 attributs non-clés Exemple n ville(num_ville, nom_ville, num_dept, nom_dept) n DF m num_ville nom_ville, num_dept, nom_dept m num_dept nom_dept n ville nest pas en 3 FN car m nom_dept dépend de num_dept n décomposition à laide des DF m ville(num_ville, nom_ville, num_dept) m dept (num_dept, nom_dept)


Télécharger ppt "Modélisation des BD Modèle conceptuel : Entité Association Modèle logique : Relationnel Conversion Normalisation."

Présentations similaires


Annonces Google