Cours bd

  • 253 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
253
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
14
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Le modèle relationnel et la normalisation Objectifs dapprentissage • connaître les principes et caractéristiques du modèle relationnel • connaître les principes de normalisation • connaître les diverses notions de clés • connaître les règles de dépendances fonctionnelles • connaître les principales formes normales • savoir comment concevoir une base à partir de dépendances fonctionnelles • connaître les principaux SGBD relationnels 1
  • 2. Le modèle Relationnel• Basé sur la théorie des Relations• Étant donnés les ensembles D1, D2, ... Dn Codd(IBM) R est une relation sur ces n ensembles si cest un ensemble ordonné de n-uplets <d1, d2, ... dn> tels que d1 ε D1, d2 ε D2, ... dn ε Dn D1, D2, ... Dn sont des domaines de R n est le degré de la Relation-> Ex: Relation Pièce Pièces Pno Pnom Couleur Poids P1 boulon blanc 5 P2 vis noir 2 P3 boucho rouge 7 Tuple ou nuplet n P4 cle vert 25 P5 volant jaune 15 2
  • 3. • Il nexiste pas 2 n-uplets identiques• Lordre des colonnes nimporte pas• Lordre des lignes nimporte pas• Un domaine particulier est la "clé primaire" (Ex.: Pno)• Chaque valeur de Pno est différente* Chaque valeur identifie de manière unique le n-uplet• Cas où deux domaines(attributs) représentent le même ensemble (domaine): Composant (PnoC, Pnoc Qté) P1 P2 2 P1 P4 4 Clé Primaire P5 P3 1 P3 P6 3 P6 P7 9 P5 P6 8 P2 P4 4 3
  • 4. * chaque valeur dun domaine(attribut) nest pas décomposable⇒ relation normalisée 3FNExemple: rlto eain VNE ET Fo n P Q Fo n Po n, Qé t Po n, Qé t F 1 P 1 3 F 1 3 F 1 P 2 P 1 F 1 2 P 3 P 2 2 . 0FN P 3 4 . . . . . . 4 . 1FN P 4 2 . . P 5 1 . F 2 P 1 3 P 2 4 F 3 P 3 4 P 5 2 Le modèle relationnel est formé dune collection de relations normalisées de différents degrés (variable avec le temps).• Avec relation ≅ fichier, domaine ≅ champs, n-uplet enregistrement , mais propriétés (normalisation) différentes 4
  • 5. Exemple dun modèle relationnel CPFUNOR Po Po n nm ct a vle il P Po n Po nm cuer olu pis od FP Fno Pno Qte Dtot éri P1 Clse uas bac ln 25 F1 Fr od 1 F1 P1 1 000F F2 GE 2 NY .. P2 buo oln jue an 8 CE F1 P2 10 000 Tko oy P3 Vs i bac ln 5 F3 Htci iah 2 F1 P4 10 000 Trno oot P4 crut ici ni or 2 F4 RdoS ai- 4 F2 P4 100 LA .. P5 cpt ao bie eg 5 F5 Mtrl oooa 4 F2 P6 200 LA .. P6 taso rnf ni or 58 F6 .. . 4 F3 P4 300 F1 P2 F4 P4 1 000 F5 P4 200 • Chaque fournisseur fournit des pièces et chaque pièce est fournie par des fournisseurs (correspondance plusieurs-plusieurs) clé candidate ≠ clé alternée 5
  • 6. Règles ou contraintes dintégrité1- Aucune clé primaire ne peut être nulle (en tout ou partie)2- Intégrité référentielle FP ( #F, #P , Qté ) C lé é trangè re clés primaire P ( #P, NOM, POIDS, COULEUR )⇒ Chaque valeur de #P dans FP doit être égale à celle de #P dans P.• Définition: schéma relationnel – structure – contraintes dintégrité• Conception dune base relationnelle – méthode -> décomposition -> composition – normalisation 1FN, 2FN,...... 5FN 6
  • 7. • Ajout: Il est facile dajouter une nouvelle pièce (P7) -> ajout dun nouveau tuple• Suppression: On peut supprimer F1 sans perdre linformation sur la pièce fournie• M.A.J. : On peut changer la couleur de la pièce P2 (en jaune) sans problèmes de recherche et sans possibilité dincohérence.⇒ Résout de nombreux problèmes des modèles hiérarchiques et en réseau.• Modèle industrialisé petit à petit depuis début 80. Diffusion large actuellement• Offre la plus grande souplesse de vue, de manipulation• Réalise les objectifs dindépendance recherchés• Optimisation nécessaire 7
  • 8. Caractéristiques des SGBD relationnels• Suivant Codd, un système est relationnel<=> il supporte au moins les propriétés suivantes: 1 - Il y a une Base de données relationnelle (la base de données est perçue par lusager selon les tables) 2 - On a au moins les opérations: sélection, projection, jointure naturelle sans détails sur les accès physiques entraînés par ces opérations. Par exemple, si on ne peut que sélectionner des enregistrements indexés (champs indexés), ce nest pas un Système Relationnel (S.R.). 8
  • 9. RAISONS• S, P, J sont un sous-ensemble de lalgèbre (très utile). Ils résolvent presque tous les problèmes.• un système qui supporte uniquement laspect relationnel (tables) ne permet pas la qualité dutilisation dun S.R.véritable• un système qui fournit les opérateurs relationnels mais nécessite une prédéfinition des chemins daccès nobéit pas au principe dindépendance physique.• les opérateurs relationnels doivent être implémentés avec optimisation => tâche non triviale => raison du délai dapparition des SGBD industriels. 9
  • 10. Schématiquement – Chaque secteur => une propriété fondamentale du modèle (structurale, intégrité, manipulation) (S I M) – Le degré de la propriété S M » Systèmes tabulaires (sans set dopérateurs) ==> ce ne sont pas des relationnels. I » tables + opérations de S, P, J (pas dautres) ==> est relationnel minimal => Dbase 4 S M » tables + tous les opérateurs ==> Relationnel complet⇒ DB2, SQL/DS, INGRES, ORACLE RdB/VMS, ... I » tous les aspects du modèle => notions de domaines et les deux règles dintégrité, est totalement relationnel S M actuellement aucun, mais en préparation. I 10
  • 11. _ DEPENDANCES FONCTIONNELLES _• soit uj C U ou U est l ’ensemble des attributs• soient x et y C uj et R(uj) une relation définie sur les attributs uj x y est appelée dépendance fonctionnelle (DF) si la connaissance de x entraine celle de y Ou encore si on a x1 y1 et x1 y2 alors y1=y2• Si on a 2 DF x --> y et si y --> x alors x <--> y Ex.: dept <-->dir.• Un schéma relationnel est défini à partir de U et Σ R = (U, Σ) Σ = ensemble des DF 11
  • 12. Problèmes posés par un schéma relationnel• --> Insertion, mise-à-jour, suppression• R(PR,P,F,AF,N) et PR,P --> F, F --> AF• N: nombre de pièces fournies par un fournisseur pour un projet et un produit• R: (PR, P, F, AF, N) un fournisseur f dadresse af Ex.: P4 100 f1 af1 500 a fourni n pièces p pour le P5 100 f1 af1 600 projet P P4 200 f1 af1 100 F --> AF• 1- Anomalies de mise-à-jour• Si on veut mettre à jour ladresse du fournisseur f1 on doit le faire pour tous les tuples sinon F --> AF nest plus valide• ===>> redondance dinformation 12
  • 13. • 2- Anomalies dinsertion• On ne peut introduire un fournisseur que sil approvisionne une pièce pour un projet.• Si valeurs indéfinies => valeur de clé (PR, P, F) indéfinie• 3- Anomalies de suppression• Suppression dun tuple fait perdre de linformation (adresse dun fournisseur sil est unique)• Une solution: décomposition de R en projections• R1(PR, P, F, N) et R2(F, AF)• 4- Remplacement de schémas• Le pilote p effectue le vol v sur lavion a.• R(vol,avion,pilote) vol --> avion, vol --> pilote, avion --> pilote 13
  • 14. • R ( vol avion pilote )• v1 a1 p1• v2 a1 p1 vol --> avion• v3 a2 p2 vol --> pilote• v4 a3 p2 avion --> pilote• Même anomalies décomposition en R1 et R2• R1 (vol pilote ) R2 (vol, avion )• v1 p1 v1 a1• v2 p1 v2 a1• v3 p2 v3 a2• v4 p2 v4 a3• SI : Ajout de v4 a1 à la place de v4 a3 => ok, mais:R1 JOIN R2 = R1*R2 (vol, avion, pilote )• v1 a1 p1• v2 a1 p1• v3 a2 p2• v4 a1 p2• sauf que la dépendance avion --> pilote plus vérifiée, a1 -->p1 et a1 -->p2 14
  • 15. Algèbre des dépendances fonctionnelles• On dispose d’un certain nombre de règles dinférence (ou dérivation) ou axiomes• FD1 (réflexivité): si Y C X , alors X --> Y• ==>Dépendance triviale• X C X => X --> X• FD2 (augmentation):• Si X --> Y alors XZ --> YZ, et aussi XZ --> Y• FD3(transitivité):• Si X --> Y et Y --> Z, alors X --> Z• FD4 (pseudo-transitivité):• Si X --> Y et YW --> Z, alors XW --> Z 15
  • 16. • FD5 (union ou additivité):• Si X --> Y et X --> Z, alors X --> YZ• Pour: X --> Y | - X --> YZ X --> Z• FD6 (décomposition et projection):• Si X --> YZ alors X --> Y• X --> Z• Remarque• Si (U, Σ) quels sont les r(u) qui satisfont chaque DF dans Σ ?• L’algorithme de vérification est de temps polynomial• On doit vérifier== > | r | (| r | - 1) tuples au total• 2• Soit == > 0 (| Σ | . | r |2) au total 16
  • 17. Dérivation de dépendances fonctionnelles• Séquence de dérivation de σ dans Σ• Σ |-σ une séquence finie σ 1, σ 2,..., σ κ ou – chaque σj peut-être dérivé de σ 1, σ 2,..., σ j−1 ou σj est un membre de σ qui peut-être dérivé de σ 1, σ 2,..., σ j−1 par application dune règle deDF et – σ est le dernier élément σ k dans la séquence – on dit que est σ dérivable à partir de Σ Exemple de dérivation• S {P -> T; H,P ->Y; H,N ->P; H,Y ->N}• H,N --> T• H,N --> Y• P,H,N --> Y• P,H,N --> H• P,N,H --> H 17
  • 18. Fermeture des DF• (U, Σ ) Σ+ est la fermeture de Σ si• 1 - Σ est sous-ensemble de la fermeture (Σ C Σ+)• 2 - si Σ | - X -->Y pour Σ C Σ alors• X --> Y est dans Σ +• 3 - il ny a rien de plus dans Σ +• Cas particulier: si Σ = Σ + alors Σ est complet• Fermeture de X• Étant donné Σ et U et X CU• la fermeture de X notée X + est telle que• 1 - Χ C X+• 2 - si Ζ C X+ et Z --> Y est dans Z alors• Y C X+• 3 - il ny a rien de plus dans X+ 18
  • 19. • _ Redondance _• Une DF est redondante si elle peut être dérivée de Σ - { σ }, et non redondante dans cas ≠• Un ensemble est non redondant si il est constitué de DF non redondantes.• Exemple: Σ 1 { A --> B, B --> C} non redondant Σ 2 { A --> BC, B --> C} redondant• Clés et superclés• R (U Σ )• X CU est une superclé de R si – X --> U est dans Σ +• XCU est une clé de R si – X est une superclé de R et – Y --> U ∉ Σ + pour chaque Y C X• Exemple: R = (U, Σ ) U= ABCDEFG Σ {A --> BCF, C --> D, BD --> E, EF --> G}• A+ = U, C+ = CD• BD+ = BDE, EF+ = EFG ==> A clé (A est non décomposable) 19
  • 20. • Attributs superflus A C X ou B C Y est superflu pour X --> Y si• (X - A) --> Y est dans Σ + ou si• X --> B est redondant• (c.a.d. si Σ - (X-->B) | -(X -->B)• Couverture• Soient FD(u) lensemble des DF sur U Σ 1 et Σ 2 C FD(u) Σ 1 est une couverture de Σ 2 si Σ 1+ = Σ 2 +• Ex: Σ 1 {A-->BC} Σ2 {A-->B}• {B-->C} {B-->C} redondant non redondant Σ 1 + = Σ 2+• A+ = ABC B+ = BC 20
  • 21. NORMALISATION• 1ère forme normale• R = A1 ... Ai ... Ar...• est en première forme normale (1FN) si le domaine de chaque attribut est simple• Ex: (dept, stock, dir, qte) en 1FN• si depk = dept stock• ==> la relation (depk*,dir, qte) nest pas en 1FN• *relation• 2e forme normale• Déf.: attribut premier,A, si A C clé• Déf: dépendance partielle• soit X --> A , A est partiellement dépendant de X si ∃ Y --> A pour YCX• X --> A est dépendance partielle (DP) 21
  • 22. • Déf.:dépendance totale (DT)• X --> A DT si Y -/-> A pour Y C X• Def.:R = ( U, Σ ) en 2FN Si chaque attribut non premier de U nest pas partiellement dépendant dune clé de R• 3e forme normale• Ex1: Logement (Numloc, Immeuble, Loyer)• Immeuble --> Loyer• Numloc --> Immeuble --> Loyer 22
  • 23. Numloc Immeuble Loyer 100 Cartier 1200 150 Champlain 800 200 Cartier 1200 250 Maisonneuve 1000 300 Cartier 1200Relation en 2FN mais on une dépendance transitive.Si on supprime le second tuple ? On perd l’information surla personne mais aussi sur le loyer de l ’immeuble.On ne peut pas introduire le fait que le coût du loyer de Hull estde 900 sans avoir de personne qui habite.--> on enlève cette dépendance transitive 23
  • 24. Numloc Immeuble Immeuble Loyer 100 Cartier Cartier 1200 150 Champlain Champlain 800 200 Cartier Maisonneuve 1000 250 Maisonneuve 300 Cartier Logement1 (Numloc, Immeuble) Logement2 (Immeuble, Loyer)Ex2: (dept, stock, dir, qte) dept --> dir, dept stock --> qte dept stock --> deptdir transitivement dépendant de dept stock via dept 24
  • 25. • DEF: R en 3FN, si chaque attribut non premier nest pas transitivement dépendant dune clé.• Ex: de la relation précédente on déduit• (dept, dir) et (dept, stock, qte) en 3FN• R (emp, nom, dept, dir) Σ: emp --> nom, dept dept --> dir• (emp)+ = U ==> R1 (emp, nom, dept)• R2 (dept, dir)• La troisième forme normale suffit généralement à éliminer la majorité des problèmes• Ex: R (A B C D) Σ: {A --> B, B --> C}• A+ = ABC B+ = BC ==> AD est clé• B, C non premiers• Comme AD --> B et A --> B dep part et dep transit. On transforme en deux relations• ==> R1(A C D) AD --> C• R2 (A B) A --> B 25
  • 26. Forme normale de Boyce- Codd (FNBC)• Une relation est FNBC, si toutes les DF proviennent des clés. ou encore: R est en FNBC si pour chaque DF non triviale X --> A, X est une super-clé de R, c ’est à dire dire contient une clé.• Ex1: R (A, B, C) AB --> C, C --> A est en 3FN mais pas en FNBC• C --> A ne contient pas une clé / C --> A pas super-clé. R1(A B) R2(C A) OUI• Ex 2: R(A B C D E F) AB --> E, AC --> F, AD --> B, B --> C, C --> D non en FNBC• dans B --> C et C --> D B et C ne sont pas superclés. 26
  • 27. • Ex: R (A B C D) Σ: {A --> B, B --> C}• A+ = ABC B+ = BC ==> AD est clé• B, C non premiers• Comme AD --> B et A --> B dep part et dep transit. On transforme en deux relations• ==> R1(A C D) AD --> C• R2 (A B) A --> B 27
  • 28. 4e forme normale• Fait intervenir la notion de dépendances multivaluées DMV• Il existe une dépendance multivaluée entre les constituants x et y si la connaissance de x détermine un ensemble de valeurs de y.• Ex:• R (Employé, année,fonction, enfants) e1 1995 pgmeur anabelle e1 1995 pgmeur eric e1 1998 analyste anabelle e1 1998 analyste eric e2 1999 graphiste philippe e3 1999 graphiste nathalie 28
  • 29. • Si la connaissance dun employé implique la connaissance des fonctions alors on a une DMV entre fonction et enfants• employé, année --- »fonction• employé, année --- » enfants• Pour éliminer cette anomalie on élimine les dépendances multivaluées• R1(employé, année, fonction)• R2(employé, année, enfants) 29
  • 30. Forme normale de clé élémentaire (FNCE)• DEF: X --> A est une DF élémentaire (DFE) Α ⊄ X, si elle nest pas partielle. une clé K est élémentaire si K --> A est élémentaire dans toutes les DF possibles• Ex:• R (A B C D E) Σ: AB --> CE, AC --> BD, B --> CE,• C --> BD 30
  • 31. • DEF :une relation est en forme normale de clé élémentaire (FNCE) si pour chaque DFE de la forme X --> A, une des conditions suivantes est satisfaite: A• 1- X est une clé OU• 2- A est un attribut premier élémentaire• Ex: R (A B C) AB --> C, C --> A• AB+ = ABC• 1 - AB --> C DFE et AB est clé• 2 - C --> A DFE A est attribut premier élémentaire (fait partie dune clé élémentaire)• R est FNCE• Ex: R1 (AC) R2 (ABE) R3 (BCDEF)• C --> A AE --> B BF --> C, CD --> EF, EF --> CD BEF BCD BDF• Ne sont pas FNCE (toutes) car R3 nest pas FNCE 31
  • 32. Conception de bases de donnés relationnelles1 - Méthode de compositionAlgorithme de synthèse de Bernstein (U1, Σ) --> un ensemble de Ri normalisées en 3 FN1 - Prendre les DF,2 - Pour chaque DF les rendre DFE (Σ --> Σ1)3 − Chercher la fermeture Σ1+ non redondante. Enlever les dépendances transitives4 - Partitionner Σ1+ en groupe tels que toutes les DF aient la même partiegauche. Fusionner des groupes ayant partie gauche équivalente (tels que Xi--> Xj et Xj --> Xi .5 - Pour chaque groupe construire un schéma (Xi, Σ i), la partie gaucheétant clé 32
  • 33. • 2- Méthode de décomposition FAGIN• Chaque décomposition utilise une DF ou une DMV dans une relation et le reste des attributs - ceux impliqués dans la DF} dans la 2e relation. On élimine les dept. transitives.• Ex : U: {A B C D E F G H I J}• A--> BCD D A ->-> D• CD --> A A ->-> B, C, F, D• E, G --> A A ->-> E, G, J, H, I• A --> F• GBC --> A• E --> H, J• GA --> I 33