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

Programme Introduction aux BD et aux SGBD Le modèle relationnel

Présentations similaires


Présentation au sujet: "Programme Introduction aux BD et aux SGBD Le modèle relationnel"— Transcription de la présentation:

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


Télécharger ppt "Programme Introduction aux BD et aux SGBD Le modèle relationnel"

Présentations similaires


Annonces Google