SlideShare une entreprise Scribd logo
1  sur  33
Le modèle relationnel et la normalisation

                 Objectifs d'apprentissage
  • 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
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 c'est 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
•   Il n'existe pas 2 n-uplets identiques
•   L'ordre des colonnes n'importe pas
•   L'ordre des lignes n'importe 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
* chaque valeur d'un domaine(attribut) n'est pas décomposable
⇒     relation normalisée 3FN
Exemple:                                 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é d'une 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
Exemple d'un modèle relationnel
                                                                               CP


FUN
OR      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 000
F       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
Règles ou contraintes d'inté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 d'intégrité
• Conception d'une base relationnelle
    – méthode       ->         décomposition
                          -> composition
    – normalisation      1FN, 2FN,...... 5FN


                                                                             6
• Ajout: Il est facile d'ajouter une nouvelle pièce (P7) -> ajout d'un nouveau tuple

• Suppression: On peut supprimer F1 sans perdre l'information 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é d'incohé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 d'indépendance recherchés

• Optimisation nécessaire




                                                                                  7
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
     l'usager 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 n'est pas un Système Relationnel (S.R.).


                                                                               8
RAISONS
• S, P, J sont un sous-ensemble de l'algèbre (très utile). Ils résolvent
  presque tous les problèmes.
• un système qui supporte uniquement l'aspect relationnel (tables) ne
  permet pas la qualité d'utilisation d'un S.R.véritable
• un système qui fournit les opérateurs relationnels mais nécessite une
  prédéfinition des chemins d'accès n'obéit pas au principe
  d'indépendance physique.
• les opérateurs relationnels doivent être implémentés avec optimisation
  => tâche non triviale => raison du délai d'apparition des SGBD
  industriels.




                                                                    9
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 d'opérateurs)
                ==> ce ne sont pas des relationnels.

                                                                                    I
      » tables + opérations de S, P, J (pas d'autres)
                ==> 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 d'intégrité, est
        totalement relationnel                                    S                     M
      actuellement aucun, mais en préparation.



                                                                           I       10
_ 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
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 d'adresse 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 l'adresse du fournisseur f1 on doit le faire pour
  tous les tuples sinon F --> AF n'est plus valide
• ===>> redondance d'information
                                                                     12
• 2- Anomalies d'insertion
• On ne peut introduire un fournisseur que s'il approvisionne une pièce
  pour un projet.
• Si valeurs indéfinies => valeur de clé (PR, P, F) indéfinie

• 3- Anomalies de suppression
• Suppression d'un tuple fait perdre de l'information (adresse d'un
  fournisseur s'il 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 l'avion a.
• R(vol,avion,pilote)     vol --> avion, vol --> pilote, avion --> pilote

                                                                     13
• 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
Algèbre des dépendances fonctionnelles
• On dispose d’un certain nombre de règles d'infé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
• 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
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 d'une 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
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 n'y 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 n'y a rien de plus dans X+
                                                               18
• _ 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
• 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) l'ensemble 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
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)      n'est 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
• 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 n'est pas partiellement   dépendant
  d'une clé de R

• 3e forme normale

• Ex1: Logement (Numloc, Immeuble, Loyer)

• Immeuble --> Loyer
• Numloc --> Immeuble --> Loyer


                                                                   22
Numloc           Immeuble         Loyer
      100              Cartier          1200
      150              Champlain        800
      200              Cartier          1200
      250              Maisonneuve      1000
      300              Cartier          1200

Relation en 2FN mais on une dépendance transitive.
Si on supprime le second tuple ? On perd l’information sur
la personne mais aussi sur le loyer de l ’immeuble.
On ne peut pas introduire le fait que le coût du loyer de Hull est
de 900 sans avoir de personne qui habite.

--> on enlève cette dépendance transitive
                                                            23
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 --> dept
dir transitivement dépendant de dept stock via dept

                                                         24
• DEF: R en 3FN, si chaque attribut non premier n'est pas transitivement dépendant d'une
  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
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
• 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
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
• Si la connaissance d'un 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
Forme normale de clé élémentaire (FNCE)

• DEF: X --> A est une DF élémentaire (DFE) Α ⊄ X, si elle
  n'est 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
• 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 d'une 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 n'est pas FNCE




                                                                               31
Conception de bases de donnés relationnelles

1 - Méthode de composition
Algorithme de synthèse de Bernstein
 (U1, Σ) --> un ensemble de Ri normalisées en 3 FN
1 - Prendre les DF,
2 - Pour chaque DF les rendre DFE (Σ --> Σ1)
3 − Chercher la fermeture Σ1+ non redondante. Enlever les dépendances
         transitives
4 - Partitionner Σ1+ en groupe tels que toutes les DF aient la même partie
gauche. 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
• 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

Contenu connexe

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Cours bd

  • 1. Le modèle relationnel et la normalisation Objectifs d'apprentissage • 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 c'est 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 n'existe pas 2 n-uplets identiques • L'ordre des colonnes n'importe pas • L'ordre des lignes n'importe 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 d'un domaine(attribut) n'est pas décomposable ⇒ relation normalisée 3FN Exemple: 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é d'une 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 d'un modèle relationnel CP FUN OR 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 000 F 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 d'inté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 d'intégrité • Conception d'une base relationnelle – méthode -> décomposition -> composition – normalisation 1FN, 2FN,...... 5FN 6
  • 7. • Ajout: Il est facile d'ajouter une nouvelle pièce (P7) -> ajout d'un nouveau tuple • Suppression: On peut supprimer F1 sans perdre l'information 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é d'incohé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 d'indé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 l'usager 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 n'est pas un Système Relationnel (S.R.). 8
  • 9. RAISONS • S, P, J sont un sous-ensemble de l'algèbre (très utile). Ils résolvent presque tous les problèmes. • un système qui supporte uniquement l'aspect relationnel (tables) ne permet pas la qualité d'utilisation d'un S.R.véritable • un système qui fournit les opérateurs relationnels mais nécessite une prédéfinition des chemins d'accès n'obéit pas au principe d'indépendance physique. • les opérateurs relationnels doivent être implémentés avec optimisation => tâche non triviale => raison du délai d'apparition 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 d'opérateurs) ==> ce ne sont pas des relationnels. I » tables + opérations de S, P, J (pas d'autres) ==> 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 d'inté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 d'adresse 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 l'adresse du fournisseur f1 on doit le faire pour tous les tuples sinon F --> AF n'est plus valide • ===>> redondance d'information 12
  • 13. • 2- Anomalies d'insertion • On ne peut introduire un fournisseur que s'il approvisionne une pièce pour un projet. • Si valeurs indéfinies => valeur de clé (PR, P, F) indéfinie • 3- Anomalies de suppression • Suppression d'un tuple fait perdre de l'information (adresse d'un fournisseur s'il 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 l'avion 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 d'infé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 d'une 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 n'y 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 n'y 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) l'ensemble 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) n'est 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 n'est pas partiellement dépendant d'une 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 1200 Relation en 2FN mais on une dépendance transitive. Si on supprime le second tuple ? On perd l’information sur la personne mais aussi sur le loyer de l ’immeuble. On ne peut pas introduire le fait que le coût du loyer de Hull est de 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 --> dept dir transitivement dépendant de dept stock via dept 24
  • 25. • DEF: R en 3FN, si chaque attribut non premier n'est pas transitivement dépendant d'une 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 d'un 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 n'est 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 d'une 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 n'est pas FNCE 31
  • 32. Conception de bases de donnés relationnelles 1 - Méthode de composition Algorithme de synthèse de Bernstein (U1, Σ) --> un ensemble de Ri normalisées en 3 FN 1 - Prendre les DF, 2 - Pour chaque DF les rendre DFE (Σ --> Σ1) 3 − Chercher la fermeture Σ1+ non redondante. Enlever les dépendances transitives 4 - Partitionner Σ1+ en groupe tels que toutes les DF aient la même partie gauche. 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