Click here to load reader

normalisation (2)

  • View
    219

  • Download
    0

Embed Size (px)

Text of normalisation (2)

  • 7/23/2019 normalisation (2)

    1/46

    D endancesfonctionnelles

    1

  • 7/23/2019 normalisation (2)

    2/46

    DPENDANCESFONCTIONNELLES

    Un type important de contraintes intervenant au

    niveau dun schma de relation est la dpendancefonctionnelle

    a erm na on es pen ances onc onne esest une partie importante de la conception debase de donnes selon le modle relationnel, etdans la normalisation et d-normalisation de

    bases de donnes.

    2

  • 7/23/2019 normalisation (2)

    3/46

    NOTION DE DPENDANCE FONCTIONNELLE(DF)

    DF

    Un attribut A2 dpend fonctionnellement d'unattribut A1 si unevaleur de A1 correspond au plusune valeur de A2 :

    X

    X

    X

    X

    X

    X

    X

    X

    X

    X

    X

    X

    A1

    A2

    Non

    (A

    1 =d terminant ou 1 d termine 2)

    3

    1 2

    numEn

    NomEnseignant

    codeMatire

    matire

    Un enseignant nintervient que dans une matire.

    Plusieurs enseignants peuvent intervenir dans une mme matire.

    Les noms denseignants et de matires ne sont pas les identifiants.

    On a les DF suivantes :numEn NomEnseignant, codeMatire, matire,

    codeMatire

    matire

  • 7/23/2019 normalisation (2)

    4/46

    NOTION DE DPENDANCEFONCTIONNELLE (DF)

    Exemple:

    A lensemble de phrases suivantes:- Une voiture est identifie par un numrodimmatriculation N_imm

    - Une voiture a une couleur

    - une voiture correspond un type- un type de voiture correspond une puissance

    On peut associer lensemble de DF suivant:

    {N_imm ->Type, N_imm -> Couleur, Type ->Puissance} 4

  • 7/23/2019 normalisation (2)

    5/46

    NOTION DE DPENDANCE FONCTIONNELLE(DF)

    DF lmentaire (un unique dterminant)

    Une DF est lmentaire si ni , nine sont des DF 1 2 3,A A A 1 3A

    2 3A

    numEn

    5

    codeMatire

    matire

    ...

    a su van e :

    numEn, NomEnseignantcodeMatire

    naurait pas t lmentaire danslexemple prcdent

    En effet numEn suffit pour dduirecodeMatire

    Il nest PAS ncessaire davoir numEn ET

    enseignant pour dduire codeMatire

  • 7/23/2019 normalisation (2)

    6/46

    NOTION DE DPENDANCEFONCTIONNELLE (DF)

    X

    X

    X

    X

    X

    X

    X

    X

    X

    X

    A1 A2

    X

    X

    X

    X

    X

    A3

    1 3A A

    DF directe

    Une DF est directesi n'existe pas de DF

    et .1 2

    A A

    A A

    Nest pas une DF directe :

    numEn

    matireparce que numEn codeMatire et codeMatirematire

    X X

    6

  • 7/23/2019 normalisation (2)

    7/46

    Contraintes

    rfrentielles ou

    contraintesdinclusion7

  • 7/23/2019 normalisation (2)

    8/46

    INTGRIT RFRENTIELLE

    Cest une contrainte concernant deux relations

    (tables)

    Utilise pour spcifier une relation entre lesup es ans eux re a ons.

    8

  • 7/23/2019 normalisation (2)

    9/46

    CONTRAINTES RFRENTIELLES OUCONTRAINTES DINCLUSION

    Souvent nous voudrions assurer qu'une valeur

    apparaissant dans une relation pour un ensembledonn d'attributs apparaisse aussi pour un autreensemble d'attributs dans une autre relation. ' .

    L'intgrit rfrentielle est habituellementimpose par la combinaison d'une cl primaire ou

    cl candidate, et d'une cl trangre

    9

  • 7/23/2019 normalisation (2)

    10/46

    CONTRAINTES RFRENTIELLES OUCONTRAINTES DINCLUSION

    Une base de donnes d'employsstocke le dpartement dans lequel

    chaque employ travaille.

    Le champ "Dept.No" dans le tableauEm lo est dclar comme cl

    Name Dept.no Qualified

    Julie 27 Yes

    Employ

    trangre, et il rfre au champ"Dept.No" dans le tableauDpartement o cest une clprimaire.

    L'intgrit rfrentielle serait cassepar l'effacement d'un dpartementdu tableau Dpartement si desemploys lists dans le tableau

    Employ sont lists commetravaillant pour ce dpartement.

    .. .. ..

    Dept.no Building Name

    27 H2 Finance

    14 A4 Marketing10

    Dpartement

  • 7/23/2019 normalisation (2)

    11/46

    CONTRAINTES RFRENTIELLES OUCONTRAINTES DINCLUSION

    Le SGBD impose l'intgrit rfrentielle, Soit en effaant aussi les ranges de la cl trangre

    pour maintenir l'intgrit,

    ,

    lignes de la relation employ avec Dept.no = 27) Soit en renvoyant une erreur et en n'effectuant pas

    l'effacement.

    11

  • 7/23/2019 normalisation (2)

    12/46

    CONTRAINTES RFRENTIELLES OUCONTRAINTES DINCLUSION

    Un exemple d'une basede donne qui n'a pasimpos d'intgritrfrentielle :il y a une valeur cl

    artiste_id artiste_nom

    1 Prodigy

    2 Red Hot ChilliPeppers

    Tableau dartiste

    trang re artiste_i dans le tableau de CDqui rfrence un artistenon-existant

    En d'autres mots, il y aune valeur cltrangre sans valeur

    cl primaire.

    a o ea

    artiste_id CD_id CD-nom

    3 1 Bends

    4 2 Blue lines

    3 3 OKcomputer

    12

    Tableau de CD

  • 7/23/2019 normalisation (2)

    13/46

    CONTRAINTES RFRENTIELLES OUCONTRAINTES DINCLUSION

    Ce qu'il s'est pass :

    Il y avait un artiste appel Massive attack, avec uneartist_id de "4", qui a teffac du tableau Artiste.

    artiste_id artiste_nom

    1 Prodigy

    2 Red Hot ChilliPeppers

    Tableau dartiste

    Cependant, l'album BlueLines rfrait cet artiste.

    Avec l'intgrit rfrentielleimpose, ceci n'aurait past possible.

    3 RadioHead

    Artiste_id CD_id CD-nom

    3 1 Bends

    4 2 Blue lines

    3 3 OKcomputer13

    Tableau de CD

  • 7/23/2019 normalisation (2)

    14/46

    Normalisation

    14

  • 7/23/2019 normalisation (2)

    15/46

    SOMMAIRE

    La normalisation

    Buts de la normalisation Formes normales

    Premire forme normale

    Deuxime forme normale Troisime forme normale Forme normale de Boyce-Codd

    Algorithme de NormalisationAlgorithme de Normalisation Exemple Entre Fonctionnel et Oprationnel Dnormalisation

  • 7/23/2019 normalisation (2)

    16/46

    LA NORMALISATION

    La conception dun MCD reprsente la vision de

    la ralit de lanalyste. Le formalisme obtenu,tabli avec une mthode, ne garantit pasjustesseet optimisation.

    La justesse dpend de la comptence et delexprience de lanalyste.

    Loptimisation est obtenue par les mcanismes de

    la normalisation.

  • 7/23/2019 normalisation (2)

    17/46

    NORMALISATION

    Cest vrifier que la structure devant

    recevoir des donnes est organise pourviter: des anomalies de conception (sources

    invitables dincohrence court ou long

    terme).

  • 7/23/2019 normalisation (2)

    18/46

    NORMALISATION

    Dfinition:

    Le processus de restructurer le modle de donneslogiques pour : Eliminer les redondances,

    , Rduire le potentiel d'anomalies pendant les

    oprations sur les donnes.

  • 7/23/2019 normalisation (2)

    19/46

    LA NORMALISATION Les besoins de normalisation :

    3 problmes de cohrence lors de mises jours de laBD:

    anomalie d'insertion (si on rajoute une commande il faut quel'article existe)

    1,n 1,n

    ARTICLErefartdesignartdescriartmarqueart

    FournisseurFnonomadresse

    Commandesqute

    anomalie de suppression (si on enlve un fournisseur il fautenlever toutes les commandes de ce fournisseur)

    anomalie de modification (si on modifie le numro d'unarticle il faut modifier toutes les commandes avec ce numro

    d'article FournissuerFno

    Nom

    adresse

    Article

    Refart

    Designart

    Descriart

    marqueart

    Commandes

    Refart

    Fno

    qute

  • 7/23/2019 normalisation (2)

    20/46

    LA NORMALISATION

    La thorie de la normalisation repose sur l'analyse

    de dpendances entre attributs qui sont l'originede phnomnes de redondance. La normalisation consiste en des mthodes de

    .

    Dans certains situations, pour des raisons

    d'efficacit, on dnormalise.

  • 7/23/2019 normalisation (2)

    21/46

    NORMALISATION

    Les classifications formelles utilises pour dcrire

    le niveau de normalisation d'une base de donnesrelationnelle sont appeles les formes normales(FN)

    Il existe huit formes normales. Les quatrepremires sont les plus pratiques et sont connatre.

  • 7/23/2019 normalisation (2)

    22/46

    NORMALISATION

    Chaque nouvelle forme normale marque unetape supplmentaire de progression vers desrelations prsentant de moins en moins deredondance

    Le but..est d'obtenir une reprsentation des donnesprsentant un minimum de redondance l'intrieur de chaque relation et un maximum

    d'indpendance entre les diffrentes relations

  • 7/23/2019 normalisation (2)

    23/46

    FORMES NORMALES

    Premire forme normale

    Deuxime forme normaleTroisime forme normale

    orme norma e e oyce- oQuatrime forme normale

    Cinquime forme normale

    Forme normale de domaine/cl

    Sixime forme normale

  • 7/23/2019 normalisation (2)

    24/46

    Edgar Codd est lorigine de la dfinition des

    formes normales 1FN, 2FN, 3FN, BCFN.

    Les quatrime et cinquime formes normales

    reprsentation des relations n-n et 1-n entre lesattributs.

    La sixime forme normale (6FN) inclut desconsidrations pertinentes pour les bases dedonnes temporelles.

  • 7/23/2019 normalisation (2)

    25/46

    LA NORMALISATION

    La thorie de la normalisation est basesur les "dpendances fonctionnelles"(DF).

    C.A.D. Dpendance entre lesinformationsPar exemple, le salaire dpend de la

    qualification

  • 7/23/2019 normalisation (2)

    26/46

    Les dpendances fonctionnelles traduisent descontraintes sur les donnes Par exemple, on dcide que deux individus diffrents

    peuvent avoir mme nom et prnom mais jamais lemme numro de scurit sociale.

    Ces contraintes sont reprsentatives d'une perceptionde la ralit et imposent des limites la base

  • 7/23/2019 normalisation (2)

    27/46

    DPENDANCE FONCTIONNELLERappel: Dfinition : dpendance fonctionnelle

    On dit qu'un attribut B dpend fonctionnellement d'unattributAsi, tant donn une valeur de A, il luicorrespond uneunique valeur de B.

    o a on : -->

    Exemple :La dpendance fonctionnelle SS NOM signifie qu' unnumro est associ un nom seulement.

    Remarquons qu'une dpendance fonctionnelle n'estgnralement pas symtrique, c'est--dire que SS NOMn'interdit pas que deux personnes distinctes (correspondant

    deux SS diffrents) portent le mme nom.

  • 7/23/2019 normalisation (2)

    28/46

    NORMALISATION : 1FN1FN (rubrique lmentaire) :

    Un MLD est dit en premire forme normale, si toutes les entits

    sont composes dattributs lmentaires ou atomiques (horsclefs concatnes).

    IP Role

    Consquences :

    un attribut reprsente une donne lmentaire dumonde rel ; Un attribut ne peut dsigner, ni une donne compose

    d'entits de natures diffrentes, ni une liste de donnes

    de mme nature.

    . . . c en

    192.168.0.2 serveur

    192.168.0.4 client et serveur

  • 7/23/2019 normalisation (2)

    29/46

    NORMALISATION : 1FNExemples :

    lentit ARTICLE peut tre considre comme

    ntant pas en 1FN cause de lattribut descriart quicontient une description (avec plusieurs composants)de larticle.

    Daprs lanalyse de lexistant, il ne sagit pas dunattribut ayant subir des traitements, donc, il a tdcid de la maintenir en un seul attribut.

    Fournissuer

    Fno

    Nom

    adresse

    Article

    Refart

    Designart

    Descriart

    marqueart

    Commandes

    Refart

    Fno

    qute

  • 7/23/2019 normalisation (2)

    30/46

    NORMALISATION : 1FN Si on veut avoir les notes d'un tudiant :

    N o m N o t e s

    E in ste in 8 ,1 2 .5

    N o m N o t e

    1

    N o t e

    2

    N o t e

    3

    E ins te in 8 12 .5 N U LL

    F re ud 2 .5 0 18

    Nest pas en 1FN. Pour y remdier, on peut soit crer unattribut par note si le nombre maximal de notes est connuet si le nombre moyen de notes par personne est proche dece maximum,

    Soit fabrique autant de tuples que de couples (nom, note)

    F re ud 2 .5 , 0 , 1 8

    Nom Note

    Einstein 8Eintein 12.5

    Freud 2.5

    Freud 0

    Freud 18

  • 7/23/2019 normalisation (2)

    31/46

    NORMALISATION

    : 1FN (a) A une relation emboite.

    (b) En consquence, ce n'estpas en 1FN.

    (c) Pour normaliser la relation, on enlve les attributsemboits, et on les met dans une nouvelle relation

    (EMP_PROJ2) avec la cl primaire.

  • 7/23/2019 normalisation (2)

    32/46

    NORMALISATION : 2FN2FN (dpendance fonctionnelle

    lmentaire) :

    Un MLD est dit en deuxime formenormale, si:- il remplit les conditions de la 1FNet si,

    - tout attribut n'appartenant pas une cl nedpend pas d'une partie de cette cl.

    A B CA,B -> C

    B->C

  • 7/23/2019 normalisation (2)

    33/46

    NORMALISATION : 2FN La 2FN est base sur le concept de dpendance

    fonctionnelle totale Dfinition de la dpendance fonctionnelle totale x y:

    si la suppression d'un attribut A de x signifie que ladpendance n'existe plus

  • 7/23/2019 normalisation (2)

    34/46

    NORMALISATION : 2FN Exemple:

    Considrons une table Membres du Departement"

    dont les attributs sont :ID departement,ID employe,

    et supposons quun employ travaille dans un ouplusieurs dpartements.La combinaison de ID departement et de ID employe

    identifie de manire unique un enregistrement de la

    table.Est-ce que cette table est en 2FN?CommeDate de naissance employe ne dpend que dun

    seul de ces attributs lID employela table nest

    pas 2NF.

  • 7/23/2019 normalisation (2)

    35/46

    NORMALISATION : 2FNAutre exemple : Considrons la relation PLAGE de schma suivant :

    PLAGE (NOMP, REGION, TYPE, POLLUTION)o la cl est (NOMP, REGION). Supposons que la

    pollution est bien dpendante de la plage (identifiepar , ma s que e ype es , quan lui, dpendant de la rgion seule.

    Que pouvons nous faire?:La deuxime forme normale nous impose de

    distinguer deux relations R1 et R2 de schmasrespectifs : R1 (NOMP, REGION, POLLUTION) ;

    R2 (REGION, TYPE).

  • 7/23/2019 normalisation (2)

    36/46

    NORMALISATION : 2FN

    Etant donnes les dpendancesfonctionnelles dans (a) nous pouvonsmettre la relation en 2FN

  • 7/23/2019 normalisation (2)

    37/46

    NORMALISATION : 3FNDfinition : troisime forme normale:

    Une relation est en troisime forme normale si :- elle est en deuxime forme normale ;- tout attribut n'appartenant pas une cl ne dpend

    as d'un attribut non cl.

    - cad toute DF dont la partie droite nest pas une cl doitavoir une partie gauche qui est une cl :

    A, B, CB, C OK

  • 7/23/2019 normalisation (2)

    38/46

    NORMALISATION : 3FN Exemple :Considrons une table "Departements" dont les attributs sont

    ID departement,

    Nom departement,ID manager,Date embauche managere supposons que c aque manager peu g rer un ou p us eurs

    dpartements.ID departement est une cl candidate.Bien queDate embauche manager est fonctionnellement dpendantede {ID departement}, elle est aussi fonctionnellement dpendante delattribut ID manager.

    ID departement Date embauche managerID manager Date embauche managerX

    Ceci signifie que la table nest pas 3FN.Departements (ID department, Nom departement, ID manager

    Information Manager (ID manager, date embauche manager)

  • 7/23/2019 normalisation (2)

    39/46

    NORMALISATION : 3FNAutre exemple: Considrons maintenant la relation PLAGE de

    schmaPLAGE (NP, REGION, TYPE, POLLUTION)

    o la cl est NP.

    Supposons maintenant comme dans l'exempleprcdent que le type est dpendant de la rgion.La troisime forme normale nous impose de

    distinguer deux relations R1 et R2 de schmas

    respectifs :R1 (NP, REGION, POLLUTION) ;R2 (REGION, TYPE).

  • 7/23/2019 normalisation (2)

    40/46

    NORMALISATION : 3FNAutre Exemple :Enseignant (Nom, Bureau, Batiment, Discipline, telephone)

    Avec des contraintes dintgrit : Un btiment hberge desenseignants d'une mme discipline; un bureau donn possde unnumro de d'appel unique.

    Avec les DF: Batiment DisciplineBatiment, BureauTelephone

    Telephone Bureau, Batiment

    Note: la deuxime contrainte dfinit une relation 1-1, doncune DF reflexive.

  • 7/23/2019 normalisation (2)

    41/46

    ENSEIGNANT (NOM, BUREAU, BATIMENT,

    DISCIPLINE, TELEPHONE) La dpendance Batiment->Discipline ne concerne

    pas la cl. La relation Enseignant n'est pas 3FN. On sort donc lattributDiscipline de la relation

    Enseignant (dpendant dun attribut non-cl) et oncr une nouvelle relation Affectation:

    Affectation(Batiment,Discipline)

    Les dpendancesBatiment, Bureau->TelephoneTelephone->Bureau, Batiment

    ne concernent pas la cl. On cr la nouvelle relation:

    Annuaire(Bureau, Batiment, telephone) La relation Enseignant dorigine peut tre

    renomme Sige, avec les attributs restant:Siege(Nom,Bureau,Batiment)

  • 7/23/2019 normalisation (2)

    42/46

    NORMALISATION : BOYCE-CODD La FNBC tait propose comme une forme plus

    simple de 3FN, mais elle est finalement plusstricte que la 3FN.

  • 7/23/2019 normalisation (2)

    43/46

    NORMALISATION : BCFNDfinition : Boyce-Codd forme normale:

    Une relation est en BCFN si :- elle est en 3rd forme normale ;- aucun attribut ne dpend d'un attribut non cl.

    . . .

    flche) un cl candidate ou primaire entire.

    A, B, C

  • 7/23/2019 normalisation (2)

    44/46

    NORMALISATION : EXEMPLE FNBCConsidrons la relation suivante: Cours (Matiere, Classe,

    Professeur)

    complte par les rgles de gestion suivantes:un professeur n'enseigne qu'une seule matire,un classe n'a qu'un seul enseignant par matire

    desquelles on dduit les DF suivantes:Matire, Classe ProfesseurProfesseurMatire

    Cette relation est en 3NF, nanmoins il est impossible d'enregistrer

    un professeur sans classe affecte (puisque classe est une partiede la cl primaire de la table Cours), et la disparition d'une classepeut entraner la disparition de professeur.

    Ceci est du au fait qu'une DF n'ait pas comme origine une cl de larelation.

  • 7/23/2019 normalisation (2)

    45/46

    NORMALISATION : EXEMPLE FNBCOn pourrait alors dcomposer la table Cours en 2 tables:Spcialit (Professeur, Matire)Enseignant (Classe, Professeur)

    Mais la premire DF serait alors perdue

    N 2IME

  • 7/23/2019 normalisation (2)

    46/46

    NORMALISATION : 2IME EXEMPLE

    FNBCConsidrons la relation suivante:

    Fournisseur (nom, adresse, produit, prix)

    avec les DF suivantes :

    DF2: nom, produit prixAlors la cl de la relation Fournisseur est [nom, produit].Cette relation n'est pas en FNBC, car dans la DF1, la

    partie gauche "nom" n'est pas une cl entire.