bases de données relationnelles

of 38/38
Bases de Données Relationnelles Modélisation Conceptuelle (Chapitre 3) Validation et transformations

Post on 21-Jan-2016

37 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

Bases de Données Relationnelles. Modélisation Conceptuelle (Chapitre 3 ) Validation et transformations. V alidation d'un schéma EA. Syntaxique: respect des règles du modèle Par confrontation aux dépendances: règles de normalisation Par jeu d'essai Complétude par rapport aux traitements - PowerPoint PPT Presentation

TRANSCRIPT

  • Bases de Donnes RelationnellesModlisation Conceptuelle(Chapitre 3)

    Validation et transformations

  • Validation d'un schma EASyntaxique: respect des rgles du modlePar confrontation aux dpendances: rgles de normalisationPar jeu d'essaiCompltude par rapport aux traitementsPar les utilisateurs

    Rgles connatre et appliquer !!!

  • Concept de dpendance A B si le fait que deux occurrences aient la mme valeur pour A entrane ncessairement qu'elles aient la mme valeur pour B. A B : B dpend de A, A dtermine B

  • Validation d'un TE(TA) / dpendancesncarte, nom, prnoms, date naissance et adresses sont les attributs directs dEtudiant, qui a pour identifiant ncarteRgle 1: dans un TE (TA) valide, tous les attributs directs (simples et complexes) dpendent uniquement de chaque identifiant entier du TE (TA).EtudiantNo-carte nom prnoms date naissance adressesjour mois anne no rue ville code postal

  • Schmas incorrects La rgle est contredite si un attribut dpend d'une partie de l'identifiant ou d'un autre attribut non identifiant.

  • Normalisation Processus de modification d'un schma qui conduit obtenir un schma offrant les proprits dsires.Correct !

  • Dpendance et identifiantGraphe des dpendancesNo-carte nom-section directeur section nom tudiantL'identifiant est la racine du grapheNo-cartenom-sectiondirecteur sectionnom tudiant

  • Validation / attributs complexesRgle 2: Un attribut du ime niveau peut seulement dpendre d'une combinaison d'attributs du mme niveau et de niveaux suprieurs contigus.

  • Dpendances entre TESi tout projet n'est fait que par un seul labo, le schma est incorrectRgle 3: un TA n-aire (n>2) avec une dpendance entre ses TE doit tre decompos

  • Normalisation du TA: incorrectMauvaise dcomposition du TA ternaire incorrect en deux TA binairesCette dcomposition n'est pas correcte car elle induit une perte d'information on ne sait plus sur quel projet travaille un chercheur !!

  • Normalisation du TA: correctDcomposition du TA ternaire incorrect en deux TA binaires sans perte d'information:un chercheur est employ par le labo qui conduit le projet sur lequel le chercheur travailleChercheurEmploieProjetConduitLabo

  • Validation des attributs dun TARgle 4: dans un TA sans dpendance entre les TEs lis, les attributs du TA dpendent de tous les TE lis par ce TA.

    (No-carte,No-Mat) moyenne, notesEtudiantMatireNo-carte nom moyenne notes No-Mat coefficientEvaluation

  • Validation des attributs dun TA

  • Elimination des TA redondantsSi "Est lve de" = Inscrit Cours Assurealors il y a redondance inutile. On supprime "Est lve de".EtudiantCoursEnseignantInscrit

  • Remplacement dun attribut par un TAmauvaisRgle de remplacement

  • Elimination des TE inutilesUn TE est inutile s'il ne prsente d'intrt pour aucun traitement de l'applicationSi il n'existe pas pas de requte portant directement sur les services, Services est transform en attribut. No-emp . no tage nomEmployServiceTravaille

  • TE rpertoires ou attributs ?Nom Type NumA moins que l'on souhaite grer un rpertoire des salles. CoursSalleA lieu dansCoursNom Type Num_salle

  • Transformations de schmas EA

  • Relativisme smantiqueLa mme ralit peut tre modlise de plusieurs faons diffrentesLes choix sont dicts par les objectifs des applicationsSi les objectifs divergent, le choix le moins contraignant est retenu

  • Relativit des classifications

    Exemple

    DB Hydrologie

    DB Forestire

    DB Environnement

  • Relativisme

  • Choix de modlisationTE ou attribut ?TE ou TA ?TA ou attribut ?Types gnriques ou types spcialiss ?Attribut optionnel ou sous-type ?

  • TE ou attribut ?

  • Transformation d'attribut en TEAttribut directLe lien de composition TE-attribut devient un rle TE-TA, avec les mmes cardinalits

  • Transformation d'attribut en TEAttribut indirectnomLabdirecteurchercheursnomCadressedate_entre%tempsprojetsnomPbudgetdescriptionlignemontantLaboratoire

  • Attribut TE: 1re tape

  • Attribut TE: 2me tape

  • Attribut TE: 3me tapenomLabdirecteurnomCadressedate_entre%tempsLaboratoireChercheurEmploieChercheur -> nomC, adresse => nomC, adresse attributs de Chercheur

    (Chercheur,Laboratoire) -> date_entre,%temps=> date_entre,%temps attributs de Emploie

  • Attribut TE: 3me tapenomLabdirecteurnomCadressedate_entre%tempsLaboratoireChercheurEmploienomPbudgetlignemontantProjetnomC -> adresse : nomC identifiant de Chercheur

    Projet -> nomP, budget, description => attributs de Projet

    nomP -> budget, descriptiondescription

  • Attribut TE: rsultatnomLabdirecteurnomCadressedate_entre%tempsLaboratoireChercheurEmploienomPbudgetlignemontantProjetdescriptionTravaille

  • TE ou TA: reification (TA->TE)

  • TA ou attributSimilaire TE ou attributnomadressenumrotypechanceNo-contratPersonneVoitureAssureAssure: TA->attribut n'est pas l'inverse de assure:attribut->TE

  • Attribut de TA ou attribut de TE ?

  • TE gnriques/spcifiquesounomadresse sexePersonnenomadresse sexePersonnesexe = FFemme sexe = MHommedomaine:- {F ou M}- {F ou M ou vide}

  • Attribut optionnel ou sous-typeounomadresse ntlPersonnenomadressePersonnentlCommuniquant

  • ConclusionLes transformations de schma semantique quivalente (i.e., sans perte d'information) sont un outil puissant de flexibilitElles permettent d'offrir des vues diffrentes (personnalises) sur un mme contenu informatifElles permettent de passer d'une structure obissant certaines rgles une autre structure quivalente obissant d'autres rgles (exemple: traduction d'un schma EA en schma relationnel)

  • Exercice de conception

  • Fin du chapitre EAProchain chapitre:

    Modle relationnel

    Stefano SpaccapietraCours Bases de donnes relationnellesStefano Spaccapietra

    vrification "syntaxique": vrifier que les rgles du modle EA sont respectes (concepts du modle + rgles de vrification d'un diagramme)

    par jeu d'essai: vrifier sur une mini BD que le diagramme permet effectivement de stocker toutes les informations ncessaires

    compltude par rapport aux traitements: vrifier que le diagramme contient tous les types d'information ncessaires l'excution des traitements prvus

    par les utilisateurs: prsenter le diagramme accompagn des dfinitions aux personnes qui utiliseront la BD et vrifier que les informations contenues correspondent bien aux besoins

    + d'autres rgles de validation de schmaValidation des attributs dun TE, dun TA, limination des TA redondants, Transformation des attributs traduisant une association, Elimination des TE inutiles, Validation des attributs multivalus...Cours Bases de donnes relationnellesStefano SpaccapietraRegarder le schma fini ne suffit pas dire sil est correct => vrifications rigoureuses=> concept de dpendance entre donnes ou TE, utile pour certaines rgles de vrificationpas propre lEA / concept gnrique utilis aussi en relationnel pour exprimer les proprits intrinsques des donnes

    Dfinition: Soit un attribut ou un ensemble A d'un TE (ou TA), et B un attribut du mme TE (ou TA), il y a dpendance A vers B, si dans la population du TE (ou TA) toutes les occurrences qui ont mme valeur pour A ont toujours mme valeur pour B.

    On dit aussi que B dpend de A, ou que A dtermine B. A est dit la source de la dpendance, dont B est la cible.Par dfinition, l'identifiant d'un TE (ou TA) dtermine tous les autres attributs du TE (TA).

    Dans lexemple, les dpendances:NcartenomNcarteprnomsNcarteadresse Ncartedatenaissont supposes vraies !!!

    Si nom + prnoms tait un autre identifiant de Etudiant, on aurait en + les dpendances:(nom , prnoms) Ncarte(nom , prnoms) adresse(nom , prnoms) datenais

    Cours Bases de donnes relationnellesStefano Spaccapietra

    Rgle 1: Dans un TE (TA) valide, tous les attributs directs (simples et complexes) dpendent de chaque identifiant entier du TE (TA). Sinon le TE (TA) est incorrectement dfini.

    Exemple: ntudiant, nom et adresses = attributs directs de Etudiant, didentifiant ntudiant Si les seules dpendances existantes sont celles illustres sur le diagramme => TE correctement dfini

    Cours Bases de donnes relationnellesStefano Spaccapietra

    rgle contredite si un attribut dpend d'une partie de l'identifiant, et non de l'identifiant entier.

    exemple: L'identifiant de Etudiant est ntudiant+dpartement (on suppose que les numros sont donns par les dpartements suivant une numrotation qui leur est propre, telle que: 2 tudiants diffrents de dpartements diffrents peuvent recevoir le mme numro). Les dpendances sont: (ntudiant, dpartement) nom_tudiant dpartement directeur_dpartement.

    La 2ime dpendance (qui exprime qu'un dpartement n'a qu'un directeur) contredit la rgle. => on modifie la dfinition du TE comme sur le 2ieme schma...Cours Bases de donnes relationnellesStefano Spaccapietra

    rgle contredite si un attribut dpend d'une partie de l'identifiant, et non de l'identifiant entier.

    exemple: L'identifiant de Etudiant est ntudiant+dpartement (on suppose que les numros sont donns par les dpartements suivant une numrotation qui leur est propre, telle que: 2 tudiants diffrents de dpartements diffrents peuvent recevoir le mme numro). Les dpendances sont: (ntudiant, dpartement) nom_tudiant dpartement directeur_dpartement.

    La 2ime dpendance (qui exprime qu'un dpartement n'a qu'un directeur) contredit la rgle. => on modifie la dfinition du TE comme sur le 2ieme schma...Cours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano Spaccapietra

    Rgle 2: un attribut direct (du 1ier niveau) dpend de l'identifiant, et qu'un attribut du ime niveau peut dpendre d'une combinaison d'attributs du mme niveau et de niveaux suprieurs contigus.

    Exemple: Les attributs du TE Laboratoire respectent la rgle 2: les attributs directs: directeur et chercheurs dpendent de l'identifiant nomLab-l'attribut du 2me niveau: adresse dpend de nomC l'adresse du chercheur ne dpend que du chercheur et pas du labo; si le mme chercheur (nomC) apparait dans 2 occurrences de Labo, il y apparaitra avec la mme adresse;-les attributs du 2me niveau: data-entre, %temps et projets dpendent de (nomC, nomLab) si un chercheur travaille dans 2 labos (par ex. mi-temps), il peut y tre entr des dates diffrentes, travailler sur des projets diffrents ... ;-l'attribut du 4me niveau: montant dpend de (nomP, ligne), le montant allou chaque ligne (matriels, fonctionnement, ...) dpend du projet et de la ligne.Cours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano Spaccapietra

    La rgle de validation des attributs d'un TE s'applique aussi aux attributs d'un TA. =>Rgle 3 : Les attributs d'un TA dpendent de tous les TEs dont l'identifiant fait partie dun identifiant du TA. Dans un TA sans dpendance entre les TEs lis, les attributs dpendent de tous les TE lis par ce TA.

    Exemple:

    Les dpendances existantes sont:(NCarte, NumMat) notes(NCarte, NumMat) moyenneNumMat coef

    Par contre: FAUXNCarte moyenne, NumMat moyenneNCarte notes, NumMat notes

    Diagramme correctement dfini CAR les attributs notes et moyenne dpendent la fois de l'tudiant et de la matire: un tudiant a des notes et une moyenne par matire, et pour une matire il y a des notes et une moyenne par tudiant. NB: l'attribut coef est bien plac, car il ne dpend que de la matire et pas de l'tudiant.

    Cours Bases de donnes relationnellesStefano SpaccapietraAutre exemple:

    Un enseignant peut enseigner plusieurs cours. Un cours peut tre enseign par plusieurs enseignants; => les notes mises par chaque enseignant ont un poids diffrent (coef) fonction du nombre d'heures assures par l'enseignant dans ce cours

    MAIS en vrifiant les attributs du TA Contrle, on voit que l'attribut notes dpend des 3 TE lis, mais que l'attribut coef ne dpend que des TE Enseignant et Cours.

    Le bon diagramme est alors le 2imeCours Bases de donnes relationnellesStefano Spaccapietra

    Un TA est redondant si les associations correspondantes peuvent tre tablies sans ambigut par composition des associations d'autres TA.

    Si "Est lve de" tablit une association entre un tudiant et l'enseignant dont il suit un cours, cette association est la mme que celle rsultant de la composition des associations correspondantes Inscrit et Assure: Dupont est lve de Durand si Dupont est inscrit un cours assur par Durand.

    Le TA "Est lve de" n'apporte aucune information supplmentaire. Doit tre supprim!!!

    Cours Bases de donnes relationnellesStefano Spaccapietra

    Si l'on trouve dans un TE un attribut = identifiant d'un autre TE, cest quil exprime un lien entre les 2 TE. La rgle de reprsentation par un TA n'a pas t respecte. => on corrige le schma: le lien doit tre explicitement dcrit comme un TA entre les deux TE et l'attribut doit tre supprim du 1ier TE.

    Exemple:

    on supprime l'attribut nservice de Employ et on tablit le lien correspondant entre les deux TE:Cours Bases de donnes relationnellesStefano SpaccapietraOn peut avoir inclu des TE qui paraissaient utiles a priori, MAIS qui se rvlent inutiles une fois la conception du schma termine. => supprimer ces TE inutiles.Regle de repres. dun TE: un TE est inutile s'il ne prsente d'intrt, en tant que TE, pour aucun traitement de l'application. S'il faut cependant conserver l'info correspondante => la rattacher au TE (ou TA) o elle est pertinente (i.e. dont elle dpend).

    Exemple

    SI les info sur les services ne sont utilises que comme info supplmentaire sur les employs, sans qu'il y ait de traitements portant directement sur les services (pas de requtes du type " quel tage est le service comptabilit?), ALORS Service est un TE inutile. Les info sur les services seront rattaches au TE Employ et dcriront, pour chaque employ, le service dans lequel il travaille

    => les mmes info sur les services apparaissent dans tous les employs d'un service donn MAIS pas un inconvnient dans une modlisation conceptuelle CAR le schma conceptuel reprsente la structure des donnes telle qu'elle est vue par l'appli. Cette structure conceptuelle n'est pas ncessairement implante telle quelle aux niveaux logique et/ou physique.

    INVERSEMENT, si TE possde un attribut complexe, vrifier que cet attribut ne fait pas l'objet de traitements (cration de nouvelles valeurs, interrogations, MAJ, suppressions) indpendamment du TE en question. Si VRAI, remplacer cet attribut par un TE, plus un TA qui conserve le lien avec le TE origine.Cours Bases de donnes relationnellesStefano Spaccapietra

    Autre exemple: un TE qui na pas de sur-type et qui n'est porteur que d'un attribut doit probablement tre transform en attribut des TE auxquels il est li.

    Enfin, supprimer tout TE qui n'aurait qu'une seule occurrenceex: BD de la bibliothque...Cours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano Spaccapietra11We group in this first category the conflicts which are due to differences in the classification abstractions used in the database design process. For example, to integrate three environment databases : water database, forest database, and environment databases with two classes, Wetlands and Wood for each databases. However, wooden wetlands are described differently in the three databases :For Water management DataBases:a wooden wetland is an instance in Wetland class because the main topic is water. For Forest management DataBases:a wooden wetland is an instance in Wood class.For Environment management Databases:a wooden wetland is an instance in both Wetland and Wood classes.This means that: the two classes, Wetlands and Wood are overlapping and the designers of the databases have different definitions for the Wetlands and Wood classes,Typically, classification conflicts are solved by defining in the integrated schema a generalization/specialization class hierarchy which represents all objects from the input databases or by merging these two classes or by multi-instanciation.Cours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnellesStefano SpaccapietraThe art to model is to make the right decisions.Cours Bases de donnes relationnellesStefano SpaccapietraCours Bases de donnes relationnelles