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

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Modèle Conceptuel des données
Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Licence pro MPCQ : Cours
Additions soustractions
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
Un modèle conceptuel Le modèle Entité-Association Frédéric Gava (MCF)
Les numéros 70 –
Les numéros
Les identités remarquables
Modèle Entités-Associations
Bases de Données Relationnelles Modélisation Conceptuelle (Chapitre 3) Validation et transformations.
Le Modèle Logique de Données
Introduction à la logique
Algorithme et structure de données
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Technologies et pédagogie actives en FGA. Plan de latelier 1.Introduction 2.Les technologies en éducation 3.iPads 4.TNI 5.Ordinateurs portables 6.Téléphones.
La législation formation, les aides des pouvoirs publics
1 7 Langues niveaux débutant à avancé. 2 Allemand.
La méthodologie………………………………………………………….. p3 Les résultats
Initiation au système d’information et aux bases de données
Développement d’applications web
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
B.Shishedjiev - Modèle relationnel
Présentation générale
L’indicateur de développement humain
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Le drapeau canadien comme symbole de fierté nationale : une question de valeurs partagées Jack Jedwab Association détudes canadiennes 28 novembre 2012.
Le Concours de Conaissance Francais I novembre 2012.
Les formes normales.
Les nombres.
Les quartiers Villeray – La Petite-Patrie et les voisinages
Mai 2001FRANCOROIII - Challenge Recherche Locale Guidée Par Le Coût Des Contraintes Gavranovic Haris Univerzitet U Sarajevu IMAG, Grenoble.
LES NOMBRES PREMIERS ET COMPOSÉS
SYSTEMES D’INFORMATION
Les chiffres & les nombres
MODELE RELATIONNEL concept mathématique de relation
RACINES CARREES Définition Développer avec la distributivité Produit 1
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Jean-Marc Léger Président Léger Marketing Léger Marketing Les élections présidentielles américaines.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Initiation à la conception des systèmes d'informations
Aire d’une figure par encadrement
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
Les fondements constitutionnels
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Chapitre 3 La normalisation du modèle relationnel
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Certains droits réservés pour plus d’infos, cliquer sur l’icône.
Nom:____________ Prénom: ___________
Annexe Résultats provinciaux comparés à la moyenne canadienne
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
Bases de données : modèlisation et SGBD
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Notion de Dépendance Fonctionnelle (DF)
LES FORMES NORMALES Les trois premières formes normales ont pour objectif de permettre la décomposition de relations sans perdre d’informations. Elles.
INTRODUCTION AUX BASES DE DONNEES Dépendances et normalisation
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20041 Cours n°2 La conception d ’un schéma relationnel (suite) Chantal Reynaud Université.
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
Transcription de la présentation:

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, 29-31 mai 2000

Comment concevoir une base de données ?

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

Présentation du dictionnaire de données Un dictionnaire de données se présente sous forme tabulaire: Evry, 29-31 mai 2000

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, 29-31 mai 2000

But Mauvaise conception Redondance des données Incohérence en modification Anomalie d’insertion Anomalie de suppression Evry, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

Graphe de dépendances fonctionnelles noeuds = attributs arcs = DF Evry, 29-31 mai 2000

Fermeture transitive FT = DF + DF obtenues par transitivité Notée F+ Nouvelles DF : nomp, région  type nomp, région  pollution. Evry, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

Décomposition d’une relation Evry, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

Formes normales Première forme normale Deuxième forme normale Troisième forme normale Evry, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

Conclusions Importance de la normalisation des relations Autres formes normales Evry, 29-31 mai 2000

Modèle entité-association Concepts et définitions Entité Type d’entité Domaine Attribut Clé Association Type d’association Evry, 29-31 mai 2000

Traduction d’un modèle entité-association vers un modèle relationnel Exemple Evry, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

Représentation graphique Evry, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

Représentation graphique Attention : une association ne possède pas de clé!!!! Evry, 29-31 mai 2000

Exemples Un enseignant est responsable d’un module .... Evry, 29-31 mai 2000

Exemples (2) Une personne peut être le parent (père ou mère) d’une autre ... Evry, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

Différentes configurations d’associations Associations binaires Associations n-aires Evry, 29-31 mai 2000

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, 29-31 mai 2000

Exemple Evry, 29-31 mai 2000

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, 29-31 mai 2000

Exemple Evry, 29-31 mai 2000

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, 29-31 mai 2000

Exemple Evry, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

Valeurs caractéristiques Valeurs caractéristiques du minimum : 1 Entier plus grand que 1 Valeurs caractéristiques du maximum: n Evry, 29-31 mai 2000

Représentation graphique Evry, 29-31 mai 2000

Exemples Evry, 29-31 mai 2000

Rôle Evry, 29-31 mai 2000

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, 29-31 mai 2000

Exemple Personne Femme Homme Effectuer Service Evry, 29-31 mai 2000

Intervention de la théorie de la normalisation Types d’entités Cardinalités Attributs des types d’association Evry, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

Construction du schéma entité-association Méthode descendante Méthode ascendante Evry, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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 ?,1 1,? Evry, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

Traduction d’un modèle entité-association vers un modèle relationnel Exemple Evry, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

Règle 3 Clé associée à E1 -> attribut de E2 Attributs de R -> attributs de E2 Exemple Cours(Code, Libelle, Prof_resp) Evry, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

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, 29-31 mai 2000

Remarques Règles de traduction => relations en 3ème FN Bon schéma E/A => bon schéma relationnel Evry, 29-31 mai 2000