Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parHonoré Dias Modifié depuis plus de 10 années
1
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Le langage de requête SQL La conception d’une BD relationnelle Protection des informations Perspectives des BD Evry, mai 2000
2
Comment concevoir une base de données ?
3
Dictionnaire de données
liste des rubriques + renseignements associés des indications comme la nature et le type, l’entité ou l’association de rattachement, les contrôles, la date de création et l’auteur, les autorisations de mise à jour, le nombre d’occurrences de valeurs, des exemples de valeurs, le contexte d’utilisation, .... Evry, mai 2000
4
Dictionnaire de données (2)
code libellé nature : rubriques non calculées (NC) : par exemple le nom d’un client les paramètres (P) : par exemple le taux de TVA les rubriques calculées (C) : par exemple le montant T.T.C. sur une facture les rubriques calculées incrémentées (CI) : par exemple le numéro d’une facture commentaires Evry, mai 2000
5
Epuration du dictionnaire de données
Rubrique ayant plusieurs significations => remplacée par plusieurs Date peut être remplacée par date_commande, date_livraison; Elimination des synonymes numéro client et code_client : idem; Rubriques décomposées en sous rubriques => décomposition Par exemple, une adresse peut être décomposée en un numéro de rue, un nom de rue, un code postal et une ville. La notion d’adresse disparaît alors Outils d’aide à la constitution d’un DD : AGL Evry, mai 2000
6
Présentation du dictionnaire de données
Un dictionnaire de données se présente sous forme tabulaire: Evry, mai 2000
7
Théorie de la normalisation
organisations : Bains(nn, nom, prénom, qualité, date, durée, np, nomp, type région, pollution) et Nageur(nn, nom, prénom, qualité) Plage(np, nomp, type, région, pollution) Baignade(nn, np, date, durée) Evry, mai 2000
8
But Mauvaise conception Redondance des données
Incohérence en modification Anomalie d’insertion Anomalie de suppression Evry, mai 2000
9
Dépendance fonctionnelle (DF)
Modélisation contraintes sur les données réalité limites à la base Définition Un attribut B dépend fonctionnellement de A si, étant donné une valeur de A, il lui correspond une unique valeur de B (quel que soit l’instant t) A détermine B Notation A B Evry, mai 2000
10
Dépendance fonctionnelle (2)
L ’attribut A peut être composé de plusieurs attributs. immatriculation, date no_propriétaire DF : propriété définie sur tous les tuples, vérifiée en permanence DF non symétrique en général nom nn n’est pas vérifiée. Deux nageurs différents peuvent posséder le même nom (Dupont, Martin) Evry, mai 2000
11
Exemples nn nom ? nn prénom ? nom, prénom qualité ?
nn qualité ? np nomp ? np région ? np pollution ? np type ? Région np ? nom, région np ? Evry, mai 2000
12
Axiomes d’Armstrong Réflexivité Augmentation Transitivité
Y X X Y Augmentation X Y XZ YZ Transitivité X Y et Y Z X Z Evry, mai 2000
13
Propriétés déduites Union Pseudo-transitivité Décomposition
X Y et X Z X YZ Pseudo-transitivité X Y et YW Z XW Z Décomposition X Y et Z Y X Z Evry, mai 2000
14
Dépendance fonctionnelle élémentaire
DF + Axiomes => toutes les DF DF élémentaire : DF non déductibles Une dépendance fonctionnelle X A est dite élémentaire si A n’est pas inclus dans X il n’existe pas X’ inclus dans X tel que X’ A famille génératrice = couverture minimale Exemple : nomp, région pollution nomp pollution ou région pollution faux Evry, mai 2000
15
Graphe de dépendances fonctionnelles
noeuds = attributs arcs = DF Evry, mai 2000
16
Fermeture transitive FT = DF + DF obtenues par transitivité Notée F+
Nouvelles DF : nomp, région type nomp, région pollution. Evry, mai 2000
17
Couverture minimale Définition Exemple Théorème
sous ensemble minimum de dépendances fonctionnelles élémentaires permettant de générer toutes les autres Exemple (nn nom, nn prénom, nn qualité, np nomp, np région, nomp, région pollution, nomp, région type, nomp, région np) Théorème Tout ensemble de dépendances fonctionnelles admet une couverture minimale, en général non unique Evry, mai 2000
18
Clé d’une relation Définition
ensemble minimum d’attributs permettant de déterminer tous les autres Soit R(A1, A2, ..., An) un schéma de relation. Soit F+ l’ensemble des dépendances fonctionnelles associées à R. Soit X un sous-ensemble d’attributs de R. X est une clé de R ssi : X A1, A2, ..., An il n’existe pas de sous-ensemble Y de X tel que Y A1, A2, ..., An Evry, mai 2000
19
Clé d’une relation (2) Exemple Remarques
nn est une clé de la relation nageur Remarques Plusieurs clés peuvent être candidates pour une même relation Dans l’écriture du schéma, la clé est soulignée Evry, mai 2000
20
Décomposition d’une relation
Evry, mai 2000
21
Décomposition d’une relation (2)
Décomposition sans perte Décomposition préservant les DF Décomposition d’un schéma de relation La décomposition d’un schéma de relation R(A1, A2, ..., An) est sa substitution par un ensemble de schéma de relations R1, R2, ..., Rp telles que : schéma(R) schéma(R1) schéma(R2) ... schéma(Rp) Evry, mai 2000
22
Décomposition sans perte
La décomposition d’un schéma de relation R(A1, A2, ..., An) par un ensemble de schéma de relations R1, R2, ..., Rp est sans perte ssi : R R1>< R2 ><...>< Rp Une décomposition d’une relation en deux relations est sans perte si l’attribut de jointure est clé d’une des deux relations Evry, mai 2000
23
Décomposition préservant les DF
La décomposition d’un schéma de relation R(A1, A2, ..., An) par un ensemble de schéma de relations R1, R2, ..., Rp préserve les dépendances fonctionnelles si la fermeture transitive de R est la même que l’union des fermetures transitives de chacune des relations Evry, mai 2000
24
Formes normales Première forme normale Deuxième forme normale
Troisième forme normale Evry, mai 2000
25
1ère forme normale Définition Un attribut atomique n’est pas :
Une relation est en première forme normale si tous ses attributs sont atomiques. Un attribut atomique n’est pas : multivalué (liste de valeurs) composé (structuré en sous-attributs) Pour toute relation en première forme normale, un attribut représente une donnée élémentaire du monde réel Evry, mai 2000
26
Exemple Bains(nn, np, date, durées) Solutions :
«durées» : liste des durées de baignade - attribut multivalué Cette relation n’est donc pas en première forme normale Solutions : nombre de baignades limité par jour Bains(nn, np, date, durée1, durée2, durée3) nombre illimité Bains(nn, np, date, durée) autant de tuples qu’il y a de baignade Evry, mai 2000
27
Deuxième forme normale
Définition Une relation est en deuxième forme normale ssi: elle est en première forme normale tout attribut non clé dépend de la totalité de la clé R(A,B,C,D) interdit ok Evry, mai 2000
28
Deuxième forme normale (2)
Exemple Plage(nomp, région, type, pollution) est-elle en deuxième forme normale ? Remarque Toute relation contenant une clé non composée est automatiquement en deuxième forme normale si elle est en première forme normale Evry, mai 2000
29
Troisième forme normale
Objectif : élimination des redondances dues aux dépendances fonctionnelles déduites par transitivité Définition Une relation est en troisième forme normale ssi: Elle est en deuxième forme normale Si tout attribut non clé dépend directement de la clé, il n’existe donc aucune dépendance avec un attribut non clé R(A,B,C,D,E) interdit ok Evry, mai 2000
30
Propriétés Toute relation R admet au moins une décomposition en troisième forme normale telle que : elle préserve les dépendances fonctionnelles elle est sans perte Exemple plage(np, région, type, pollution) Hypothèse : région type => plage n’est pas en troisième forme normale Transformation plage(np, région, pollution) région (région, type) Evry, mai 2000
31
Algorithme de décomposition en troisième forme normale
Pré : connaissance du contenu de la relation universelle + DF Principe de l’algorithme : A partir du graphe G des DF, calculer une couverture minimale C Editer l’ensemble des attributs isolés dans une même relation (tous sont clés) Recherche le plus grand ensemble X d’attributs qui détermine d’autres attributs Editer la relation R(X, A1, ..., An) Supprimer les DF X A1, .., X An du graphe de couverture minimale C Supprimer les attributs isolés de C Reprendre l’opération à partir de l’étape 3 jusqu’à ce que C soit vide Evry, mai 2000
32
Conclusions Importance de la normalisation des relations
Autres formes normales Evry, mai 2000
33
Modèle entité-association
Concepts et définitions Entité Type d’entité Domaine Attribut Clé Association Type d’association Evry, mai 2000
34
Traduction d’un modèle entité-association vers un modèle relationnel
Exemple Evry, mai 2000
35
Entité Entité = objet (concret ou abstrait)
Existe en tant que tel, sans être soumis à l’existence d’une autre entité Exemples : Produit X Module d’enseignement de mathématiques Lion Evry, mai 2000
36
Type d’entité Regroupement des entités en fonction de leurs caractéristiques communes => Type d’entité Exemple : Regrouper éléphant, tortue et zèbre en un type d’entité : « animal » Informations en commun (par leur structure) : poids, taille, alimentation, .... Evry, mai 2000
37
Domaine Ensemble de valeur A partir de type communs : Plus finement :
entier, chaîne de caractères, ... Plus finement : par extension en listant les valeurs possibles en définissant des plages de valeurs Exemples : âge : entier âge : entier compris entre 0 et 130 situation familiale : ensemble de valeurs (‘célibataire’, ‘marié’, ‘veuf’, ‘divorcé’) Evry, mai 2000
38
Attribut Attribut : propriété d’un type d’entité
Pour chaque entité d’un type d’entité une valeur est associée à cet attribut Exemple : Type d’entité animal, Entité éléphant : Taille = 2,30 m Poids = 1000 kg Alimentation = 'végétarien' Evry, mai 2000
39
Clé Attribut (ou groupe d’attributs) particulier d’un type d’entité
Différencie toutes les entités d’un même type d’entité Exemple : Numéro d’étudiant Plaque d’immatriculation Evry, mai 2000
40
Représentation graphique
Evry, mai 2000
41
Association Association d’entités : regroupement d’entités
Traduit plutôt une action entre les entités Exemple : Alimenter :association entre un le lion Clarence et le gardien John Se baigner: association entre le nageur Gaël et la plage de Binic Evry, mai 2000
42
Type d ’association Regroupement des associations en type d’association Peuvent posséder des attributs Attribut d’un type d’association: propriété dépendant de tous les types d’entités intervenant dans l’association Exemple: la date de prise en charge d’un animal par un gardien dépend de gardien + animal Evry, mai 2000
43
Représentation graphique
Attention : une association ne possède pas de clé!!!! Evry, mai 2000
44
Exemples Un enseignant est responsable d’un module ....
Evry, mai 2000
45
Exemples (2) Une personne peut être le parent (père ou mère) d’une autre ... Evry, mai 2000
46
Exemples (3) A vous de jouer : le type d’association "inscrit" défini entre les types d’entités "étudiant" et "module" a pour attribut le numéro d’ordre d’inscription pour ce module (l’étudiant s’inscrit pour la 1ère, la 2ème fois à ce module, ..) Evry, mai 2000
47
Remarques On ne crée jamais de type d’entité pour représenter un ensemble d’entité réduit à un seul élément Un attribut n’apparaît qu’à une seule place s’il n’y a pas de polysèmes (mots ayant plusieurs sens). Pas de duplication de l’information! Toutes les rubriques du DD ne deviennent pas attributs du modèle. Attribut : rubrique non paramètre, non calculée Evry, mai 2000
48
Différentes configurations d’associations
Associations binaires Associations n-aires Evry, mai 2000
49
Associations binaires de type 1:1
À une entité E peut correspondre par l’association A au plus une entité de F À une entité F peut correspondre par l’association A au plus une entité de E Evry, mai 2000
50
Exemple Evry, mai 2000
51
Associations binaires de type 1: n
À une entité E peut correspondre par l’association A plusieurs entités de F À une entité F peut correspondre par l’association A au plus une entité de E Evry, mai 2000
52
Exemple Evry, mai 2000
53
Associations binaires de type n:m
À une entité E peut correspondre par l’association A plusieurs entités de F À une entité F peut correspondre par l’association A plusieurs entités de E Evry, mai 2000
54
Exemple Evry, mai 2000
55
Association n-aires Plus de deux entités
Par exemple, type d’association ternaires. Case d’emploi du temps déterminée que si l’on a l’horaire le jour la matière la classe Type d’association quaternaire Evry, mai 2000
56
Cardinalités d’un couple entité-association
La cardinalité d’un couple entité-association E, A est un couple de nombre m, n où : m définit le nombre minimum d’association de type A pouvant exister pour une entité E n définit le nombre maximum d’association de type A pouvant exister pour une entité E Evry, mai 2000
57
Valeurs caractéristiques
Valeurs caractéristiques du minimum : 1 Entier plus grand que 1 Valeurs caractéristiques du maximum: n Evry, mai 2000
58
Représentation graphique
Evry, mai 2000
59
Exemples Evry, mai 2000
60
Rôle Evry, mai 2000
61
Spécialisation/généralisation d’entités
Spécialisation d’un type d’entité Définir des sous-types d’entités Affiner la représentation des données Généralisation Créer un sur-type d’entité Mettre en facteur les attributs communs à plusieurs types d’entités Evry, mai 2000
62
Exemple Personne Femme Homme Effectuer Service Evry, mai 2000
63
Intervention de la théorie de la normalisation
Types d’entités Cardinalités Attributs des types d’association Evry, mai 2000
64
Type d’entité Clé d’un type d’entité E : ensemble d’attributs qui détermine fonctionnellement tous les autres attributs de ce type d’entité Un type d'entité doit vérifier les trois formes normales Evry, mai 2000
65
Cardinalités Association ?,1
Si la cardinalité du couple (E, A) où E est un type d’entité et A est un type d’association est (?,1) => une occurrence de E participe au plus à une association de A Cette occurrence détermine donc les autres entités participant à cette association Toute clé de E détermine fonctionnellement les clés des autres types d’entité participants Evry, mai 2000
66
Attributs de type d’association
Si T est un attribut d’un type d’association A => T dépend fonctionnellement de l’ensemble des clés de chacun des types d’entité participants Exemple: date_affect du type d’association ‘ diriger ’ défini entre les deux types d’entités ‘ Enseignant ’ et ‘ département ’: num_ens, num_dept date_affect => aucun type d’association ne peut posséder de clé Evry, mai 2000
67
Construction du schéma entité-association
Méthode descendante Méthode ascendante Evry, mai 2000
68
Méthode descendante Point de départ : univers du discours Etapes:
1- DD + règles de gestion 2- Recensement des entités et des associations (intuitif) 3- Placement des attributs au sein des types d’entités et d’association 4- Calcul des cardinalités (DF) Evry, mai 2000
69
Méthode descendante (2)
5-Vérification : Respects des règles du formalisme E/A Absence de répétition d’attribut Une clé par type d’entité Vérifier les DF Vérifier les cardinalités /règles de gestion Evry, mai 2000
70
Méthode descendante (3)
Vérification :(suite) Normalisation : Vérifier la 3 FN pour tous les types d’entité Vérifier les types d’association n-aire : décomposition en plusieurs types d’association de degré plus faible Supprimer les types d’associations qui se déduisent par transitivité d’autres types d’associations 6-Validation : Par l’utilisateur Par l’analyse des traitements Evry, mai 2000
71
Méthode ascendante Point de départ : sorties Méthode de Flory Etapes :
1- Recensement des rubriques (existantes ou souhaitées) => DD 2- Rechercher les DF (matrice carrée) 3- Couverture minimale 4- Elimination des circuits Evry, mai 2000
72
Méthode ascendante (2) 5- Construction du schéma :
Recherche des clés primaires : S : ensemble des attributs correspondant à des sommets du graphe des dépendances fonctionnelles G B : ensemble des attributs étant le but d’au moins une dépendance fonctionnelle et origine d’au moins une dépendance fonctionnelle Chaque attribut de S ou de B est une clé primaire d’un des types d’entité du modèle entité-association Evry, mai 2000
73
Méthode ascendante (3) Construction du schéma : (suite)
Recherche des types d’entité : Chaque attribut de S et de B devient clé d ’un type d’entité E Si s est dans S, les attributs déterminés par s n’étant ni dans S ni dans B sont attributs de E; Recherche des types d’associations : Deux clés définies liées par un arc dans G induisent une association de type 1,n La cardinalité (?,1) est rattachée à l’entité dont la clé est source de la dépendance fonctionnelle a b ?, ,? Evry, mai 2000
74
Méthode ascendante (4) Construction du schéma : (suite)
Recherche des types d’associations : un arc de G provenant de plusieurs sommets (n sommets) vers un attributs non clé se traduit par un type d’association n-aire A de type n:m associant les types d’entités correspondant aux sommets Evry, mai 2000
75
Méthode ascendante (5) Construction du schéma : (suite) 6- Validation
Recherche des types d’associations : un arc G provenant de plusieurs sommets (p sommets) et allant vers un attribut clé constitue un type d’association (p+1)-aire; Ajouter les associations sans attribut (non déductibles des DF) 6- Validation Evry, mai 2000
76
Remarques Peu de types d’association ternaire ou plus Abus de langage
Entité à la place de type d’entité Association à la place de type d’association Entité = objet ; Entité = occurrence d’entité Type d’entité = concept abstrait détaché de la réalité Modèle entité-association = modèle entité-relation Représentation graphique variable Rédiger des hypothèses! Evry, mai 2000
77
Traduction d’un modèle entité-association vers un modèle relationnel
Exemple Evry, mai 2000
78
Règle 1 Type d'entité -> relation
Attribut atomique -> constituant (attribut) Attributs composites -> n constituants Attribut(s) clé(s) -> clé candidate Exemple Etudiant(No_etu, Nom_etu, Adr_etu) Cours(Code, Libellé) Prof(Nom_prof, Prénom) Evry, mai 2000
79
Règle 2 Clé associée à E1 (ou E2) -> attribut de E2 (ou E1)
Attributs de R -> attributs de E2 (ou E1) Exemple: Etudiant(No_etu, Nom_etu, Adr_etu, No_plaque) Evry, mai 2000
80
Règle 3 Clé associée à E1 -> attribut de E2
Attributs de R -> attributs de E2 Exemple Cours(Code, Libelle, Prof_resp) Evry, mai 2000
81
Règle 4 Création d'une nouvelle relation R
Clé de E1 + Clé de E2 -> clé de R Attributs de R-> Attributs de R Exemple Inscription(No_étudiant, No_cours, Date_inscription) Evry, mai 2000
82
Règle 5 Création d'une nouvelle relation R
Attribut multivalué -> constituant Clé du type d'entité associé -> constituant Clé de la relation : tout le schéma Exemple: Fonctions(Nom_enseig, Fonction) Evry, mai 2000
83
Résultat Prof(Nom_prof, Prénom)
Etudiant(No_etu, Nom_etu, Adr_etu, No_plaque) Cours(Code, Libelle, Prof_resp) Inscription(No_étudiant, No_cours, Date_inscription) Fonctions(Nom_enseig, Fonction) Evry, mai 2000
84
Remarques Règles de traduction => relations en 3ème FN
Bon schéma E/A => bon schéma relationnel Evry, mai 2000
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.