Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM –...

14
Appareils électroménagers: réfrigérateur, cuisinière, hotte, robot, lave-vaisselle Couleurs: rouge,bleue,vert, blanc,noir,rose, jaune Appareils électroménagers: réfrigérateur, cuisinière, hotte, robot, lave-vaisselle Couleurs: rouge,bleue,vert, blanc,noir,rose, jaune

Transcript of Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM –...

Page 1: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

1

Bases de données Multimédia

IUT LPTAIS

Capocchi [email protected]://lcapocchi.free.fr

Approche relationnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

2

Sommaire

�Approche relationnelle

�Concepts

�Opérations du modèle relationnel

�Passage du modèle conceptuel au modèle relationnel

�Normalisation

�Exercices

Université de Corse - IUT LPM � Bases de Données Multimédiaa

3

Concepts

�Modèle relationnel

�Le modèle relationnel tire son nom de la notion de relation mathématique entre des éléments.

�Chacun de ces éléments peut prendre des valeurs dans un ensemble défini.

Appareils

électroménagers:

réfrigérateur, cuisinière,

hotte, robot, lave-vaisselle

Couleurs:

rouge,bleue,vert,

blanc,noir,rose,

jaune

Université de Corse - IUT LPM � Bases de Données Multimédiaa

4

Concepts

�Modèle relationnel

�Les combinaisons possibles sont au nombre de 5x7=40.

�Une sélection parmi ces valeurs est:� (réfrigérateur, rouge)� (robot, vert)� (cuisinière, jaune)� (lave-vaisselle, rouge)

�Cet ensemble de couple de valeur appelée attribut (ou champ) sont des tuples.

�Elle représente la relation entre les éléments« Appareil » et « Couleur ».

�Un tuple peut être appelé aussi enregistrement.

Appareils

électroménagers:

réfrigérateur, cuisinière,

hotte, robot, lave-vaisselle

Couleurs:

rouge,bleue,vert,

blanc,noir,rose,

jaune

Page 2: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

5

Concepts

�Modèle relationnel

�On peut écrire formellement la relation:ma_cuisine(appareil, couleur)

�Cette écriture représente le schéma relationnel de la relation « ma_cuisine ».

�Les valeurs énoncées précédemment pour les champs représentent leur domaine.

�Une relation est totalement d'écrite par:

� le schéma relationnel,

� les domaines des différents champs,

�Les tuples qui la constituent.

Université de Corse - IUT LPM � Bases de Données Multimédiaa

6

Concepts

�Modèle relationnel

�Le nombre de champs de la relation s'appelle son degré (ici 2 pour « ma_cuisine »).

�Le nombre de tuples se nomme la cardinalité de la relation (ici 40 pour « ma_cuisine »).

�Attention pas le même sens pour la cardinalité vu pour le modèle entité-association !

Université de Corse - IUT LPM � Bases de Données Multimédiaa

7

Concepts

�Modèle relationnel

�On représente une relation par une table, correspondant à la notion de tableau:

�Toutes les opérations sur une ou plusieurs relations retourneront une relation.

�Un ensemble de relations reliées entre ellepar des liens sémantiques constitue une BD.

Appareil CouleurRéfrigérateur Rouge

Robot VertCuisinière Jaune

Lave-vaisselle Rouge

Université de Corse - IUT LPM � Bases de Données Multimédiaa

8

Concepts

�Notion de clé et dépendance fonctionnelle

�Besoin d'accéder à un enregistrement d'une BD par le contenu d'un ou de plusieurs champs.

�On nomme clé d'une relation un champs, ou un ensemble de champs, permettant d'identifier un enregistrement.

�Une relation peut comprendre plusieurs clés possibles: ce sont les clés candidates.

�La clé doit être minimale: elle doit contenir le minimum de champs.

�La clé minimale est appelée la clé primaire.

�Une clé doit toujours contenir une valeuret celle-ci doit être unique pour chacun desenregistrements de la relation.

Page 3: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

9

Concepts

�Notion de clé et dépendance fonctionnelle

�Dans la relation « ma_cuisine »: le champ « appareil » semble être une clé minimale puisqu'il contient une valeur unique pour chacun des enregistrements.

�Cependant, il est possible que la cuisine comprenne un autre réfrigérateur de couleur bleue.

�Dans ce cas la valeur n'est plus unique est elle ne permettrait pas de retrouver l'enregistrement !

�La combinaison « Appareil + couleur » pourrait semblé être une clé, mais on ne peut pas être certaincompte tenue de l'évolution des données.

Université de Corse - IUT LPM � Bases de Données Multimédiaa

10

Concepts

�Notion de clé et dépendance fonctionnelle

�Pour désigner une clé primaire, il faut prendre en considération le « sens » des données réels.

� Importance des relations entre les champs d'une relation !

�On exprime ces relations à l'aide de dépendances fonctionnelles.

�Une dépendance fonctionnelle existe entre deux ensembles de champs si les valeurs contenus dans l'un des ensembles de champs permettent de déterminer les valeurs de l'autre ensemble de champs.

�Les dépendances fonctionnelles exprimentla relation de hiérarchie qui existe entre leschamps.

Université de Corse - IUT LPM � Bases de Données Multimédiaa

11

Concepts

�Notion de clé et dépendance fonctionnelle

�Lecteur(Numéro_carte, Nom, Age, Ville, Etablissement)

Numero_carte Nom Age Ville Etabli.1 Henri 10 Paris Univ. Sorbonne2 Stanislas 34 Paris Univ. Jussieu3 Henriette 44 Lyon CHU. Bron4 Dominique 19 Nancy Univ. Poincaré5 Isabelle 56 Nancy INPL6 Olivier 51 Marseille Univ. St Charles7 Henri 98 Paris Univ. Sorbonne8 Jerome 23 Nancy INPL9 Laurence 34 Bordeaux Univ. Victor Segalen10 Christian 41 Paris ENS11 Antoine 16 Marseille Univ. St Charles12 Laurence 34 Paris Univ. Jussieu

Université de Corse - IUT LPM � Bases de Données Multimédiaa

12

Concepts

�Notion de clé et dépendance fonctionnelle

�On remarque qu'il ne peut y avoir de dépendances fonctionnelles entre les couples de champs:

� (Ville, Etabli.)

� (Nom, Age)

� Il existe un enregistrement('Laurence',34) pour lequelles valeurs des champs(Nom,Age) correspondent àdeux valeurs différentes de (Ville, Etabli.)

�En revanche, on sait (pour cet exemple!) qu'unétablissement est situé dans une ville et une seule.

� Il existe une relation de dépendance entre 'Ville' et 'Etabli.':

�A une valeur de 'Etabli.' correspond une valeur unique de 'Ville'.

Numero_carte Nom Age Ville Etabli.1 Henri 10 Paris Univ. Sorbonne2 Stanislas 34 Paris Univ. Jussieu3 Henriette 44 Lyon CHU. Bron4 Dominique 19 Nancy Univ. Poincaré5 Isabelle 56 Nancy INPL6 Olivier 51 Marseille Univ. St Charles7 Henri 98 Paris Univ. Sorbonne8 Jerome 23 Nancy INPL9 Laurence 34 Bordeaux Univ. Victor Segalen10 Christian 41 Paris ENS11 Antoine 16 Marseille Univ. St Charles12 Laurence 34 Paris Univ. Jussieu

Page 4: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

13

Concepts

�Notion de clé et dépendance fonctionnelle

�La valeur du champs 'Numéro_carte' est unique.

�Ces valeurs sontidentifiantes pour les autreschamps: c'est une clécandidate.

�C'est la seule clé possiblecar les autres champs n'ontjamais de valeur unique.

�Le champs 'Numéro_carte' est choisi commeclé primaire de la relation.

�Remarque: tous les champs qui ne font paspartie d'une clé candidate d'une relation possèdentdes dépendances fonctionnelles avec cette clé.

Numero_carte Nom Age Ville Etabli.1 Henri 10 Paris Univ. Sorbonne2 Stanislas 34 Paris Univ. Jussieu3 Henriette 44 Lyon CHU. Bron4 Dominique 19 Nancy Univ. Poincaré5 Isabelle 56 Nancy INPL6 Olivier 51 Marseille Univ. St Charles7 Henri 98 Paris Univ. Sorbonne8 Jerome 23 Nancy INPL9 Laurence 34 Bordeaux Univ. Victor Segalen10 Christian 41 Paris ENS11 Antoine 16 Marseille Univ. St Charles12 Laurence 34 Paris Univ. Jussieu

Université de Corse - IUT LPM � Bases de Données Multimédiaa

14

Concepts

�Notion de clé et dépendance fonctionnelle

�Les dépendances ne peuvent pas être déduite du contenu de la relation.

�Elles sont déterminées durant la phase précédente d'analyse.

� Il est possible de vérifier si les enregistrements présents dans la relation se conforment à ces dépendances.

�La détermination des dépendances fonctionnelles entre les champs est fondamentale pour l'étape de Normalisation.

�Elles sont à la base de la méthode de la « relation universelle »

Université de Corse - IUT LPM � Bases de Données Multimédiaa

15

Concepts

�Cohérence des données et contraintes d'intégrité

�Les contraintes d'intégrité sont des restrictions sur le contenu des BD afin de garantir la cohérence des données pour l'ensemble des relations.

�La vérification de la cohérence se situe à plusieurs niveaux:

�Adapter le contenu des champs / au sens des données réels

�Préserver la cohérence du contenu de l'ensemble des relations

�Éliminer les problèmes d'incohérence dus à la redondance.

Université de Corse - IUT LPM � Bases de Données Multimédiaa

16

Concepts

�Cohérence des données et contraintes d'intégrité

�Adapter le contenu des données réels

�On parle de contrainte de domaine ou cohérence sémantique

� Ex: l'âge d'une personne ne peut être négatif ou excéder 130.

�On a déjà défini une contrainte d'intégrité sur l'ensemble des champs constituant une clé primaire: une clé primaire ne peut contenir de champs vides et ses valeurs doivent être uniques.

�Définition des contraintes lors de l'étape d'analyse.

�Mise en oeuvre des contraintes au moment de la création de la relation.

�Utilisation des contraintes par le SGBD.

Page 5: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

17

Concepts

�Cohérence des données et contraintes d'intégrité

�Préserver la cohérence des données

�BD: ensemble de relations reliées entre elles.

�Les contenues des champs doivent être cohérents entre eux pour pouvoir effectuer l'opération de jointure.

� Ex: dans l'exemple de la BD 'casse' , on ne doit pas permettre la saisie d'une valeur identifiant une voiture dans la relation 'vente' qui n'existe pas dans la relation 'voiture'.

�Définition des références pour la cohérences des données pendant la phase d'analyse.

�Réalisation par le SGBD.

Université de Corse - IUT LPM � Bases de Données Multimédiaa

18

Concepts

�Cohérence des données et contraintes d'intégrité

�Éliminer la redondance des données

�Principal souci du concepteur de BD !

�Lorsque les données sont dupliquées aucun mécanisme ne peut garantir que le changement de la valeur d'une donnée est répercuté correctement sur les autres données.

� Ex. lecteur dans une bibliothèque: il existe une redondance d'information entre les champs 'Ville' et 'Etablissement'.

� Si le nom d'établissement 'INPL' change, il faut mettre à jour toutes les lignes qui contiennent son nom !

� Mise en évidence par le dépendance fonctionnellequi existe entre ces deux champs.

� Les incohérences de ce type sont résolues par la phase de normalisation des relations.

Université de Corse - IUT LPM � Bases de Données Multimédiaa

19

Opérations du modèle relationnel

� La manipulation des données se fait à l'aide d'opérations formelles reposant sur des concepts mathématiques issus de la théorie des ensembles: l'algèbre relationnelle.

� Les opérations de l'algèbre relationnelle portent sur une ou plusieurs relations (ou tables).

� Le résultat retourné par ces opérations est toujours une relation.

� Il existe:

� les opérations classiques issues de la théorie des ensembles (union, intersection, différence);

� les opérations plus spécifiques du monde relationnel (projection, sélection, jointure) issues de l'algèbre relationnelle;

� les opérations de types calcul et agrégat qui ne constituent pas réellement des opérations fondamentales mais qui sont le complément des opérations précédentes.

Université de Corse - IUT LPM � Bases de Données Multimédiaa

20

Opérations du modèle relationnel

�Opérations Ensemblistes

�Union: consiste à la mise en commun des enregistrements.

Num_carte Nom Age Ville Etabli.1 Henri 10 Paris Univ. Sorbonne2 Stanislas 34 Paris Univ. Jussieu3 Henriette 44 Lyon VHU Bron

Num_carte Nom Age Ville Etabli.3 Henriette 44 Lyon CHU Bron4 Dominique 19 Nancy Univ. Poin- caré5 Isabelle 56 Nancy INPL

Lecteur_1(Num_carte, Nom, Age, Ville, Etabli.)

Num_carte Nom Age Ville Etabli.1 Henri 10 Paris Univ. Sorbonne2 Stanislas 34 Paris Univ. Jussieu3 Henriette 44 Lyon VHU Bron4 Dominique 19 Nancy Univ. Poin- caré5 Isabelle 56 Nancy INPL

Lecteur_2(Num_carte, Nom, Age, Ville, Etabli.)

Page 6: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

21

Opérations du modèle relationnel

�Opérations Ensemblistes

�Différence : Consiste à désigner les enregistrements qui appartiennent à une relation sans appartenir à l'autre.

Num_carte Nom Age Ville Etabli.1 Henri 10 Paris Univ. Sorbonne2 Stanislas 34 Paris Univ. Jussieu3 Henriette 44 Lyon VHU Bron

Num_carte Nom Age Ville Etabli.3 Henriette 44 Lyon CHU Bron4 Dominique 19 Nancy Univ. Poin- caré5 Isabelle 56 Nancy INPL

_

Lecteur_1(Num_carte, Nom, Age, Ville, Etabli.)

Num_carte Nom Age Ville Etabli.1 Henri 10 Paris Univ. Sorbonne2 Stanislas 34 Paris Univ. Jussieu

Lecteur_2(Num_carte, Nom, Age, Ville, Etabli.)

Université de Corse - IUT LPM � Bases de Données Multimédiaa

22

Opérations du modèle relationnel

�Opérations Ensemblistes

�Intersection : désigne les enregistrements qui sont en communs aux deux relations.

Num_carte Nom Age Ville Etabli.1 Henri 10 Paris Univ. Sorbonne2 Stanislas 34 Paris Univ. Jussieu3 Henriette 44 Lyon VHU Bron

Num_carte Nom Age Ville Etabli.3 Henriette 44 Lyon CHU Bron4 Dominique 19 Nancy Univ. Poin- caré5 Isabelle 56 Nancy INPL

Lecteur_1(Num_carte, Nom, Age, Ville, Etabli.)

Num_carte Nom Age Ville Etabli.3 Henriette 44 Lyon CHU Bron

Lecteur_2(Num_carte, Nom, Age, Ville, Etabli.)

Université de Corse - IUT LPM � Bases de Données Multimédiaa

23

Opérations du modèle relationnel

�Opérations Ensemblistes

�Produit cartésien: permet la combinaison des enregistrements de deux relations sans tenir compte des données.

X

Appareil CouleurRéfrigérateur Rouge

Robot VertCuisinière Jaune

ma_cuisine(Appareil, couleur)

Appareil Couleur Nom InstrumentRéfrigérateur Rouge Jaco BasseRéfrigérateur Rouge Bill Piano

Robot Vert Jaco BasseRobot Vert Bill Piano

Cuisinière Jaune Jaco BasseCuisinière Jaune Bill Piano

Nom InstrumentJaco BasseBill Piano

musicien(Nom, Instrument)

Le_résultat(Appareil, Couleur, Nom, Instrument)

Université de Corse - IUT LPM � Bases de Données Multimédiaa

24

Opérations du modèle relationnel

�Opérations Relationnelles

�Projection: consiste à extraire certains champs de la relation afin de d'obtenir un degré inférieur à la relation de départ.

�Ex. projection des champs 'Nom' et 'Ville' à partir de la relation 'Lecteur'

Nom VilleHenri Paris

Stanislas ParisHenriette Lyon

Dominique NancyIsabelle NancyOlivier MarseilleHenri Paris

Jerome NancyLaurence BordeauxChristian ParisAntoine Marseille

Laurence Paris

Lecteur_proj(Nom,Ville)

Page 7: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

25

Opérations du modèle relationnel

�Opérations Relationnelles

�Sélection ou restriction: consiste à extraire les enregistrements de la relation par le biais de critères.

�Ex. sélection les enregistrements dont le contenu du champ 'Ville' est 'Marseille' dans la relation 'Lecteur':

Numéro_carte Nom Age Ville Etabli.6 Olivier 51 Marseille Univ. St Charles11 Antoine 16 Marseille Univ. St Charles

Lecteur_sel(Numéro_carte, Nom,Age, Ville, Etabli.)

Université de Corse - IUT LPM � Bases de Données Multimédiaa

26

Opérations du modèle relationnel

�Opérations Relationnelles

�Jointure: permet d'exprimer le sens du lien entre les relations.

�Peut être vu comme la sélection des enregistrements obtenus par le produit cartésien des relations, dont les champs sur lequel on effectue la jointure sont égaux.

�Ex. jointure entre deux relations sur le champ 'Num_Etabli.':

Num_carte Nom Num_Etabli.1 Henri 12 Stanislas 23 Henriette 1

Lecteur_bis(Num_carte, Nom, Num_Etabli.)

Num_Etabli. Ville Nom_Etabli1 Paris Univ. Jussieu2 Lyon CHU Bron3 Nancy Univ. Poincaré4 Paris Univ. Sorbonne

Etabli(Num_Etabli., Ville, Nom_Etabli.)Num_carte Nom Num_Etabli._1 Num_Etabli._2 Ville Nom_Etabli

1 Henri 1 1 Paris Univ. Jussieu2 Stanislas 2 2 Lyon CHU Bron3 Henriette 1 3 Nancy Univ. Poincaré

Lecteur_joint_Etabli(Num_carte, Nom, Num_Etabli_1, Num_Etabli_2, Ville, Nom_Etabli.)

Université de Corse - IUT LPM � Bases de Données Multimédiaa

27

Opérations du modèle relationnel

�Opérations Relationnelles

�Jointure naturelle: Le champ 'Num_Etabli.' figure deux fois car une occurrence vient de la relation 'Lecteur' et l'autre de la relation 'Etablissement'.

�Afin de ne conserver qu'une valeur du champ 'Num_Etabli.' on utilise l'opération de jointure naturelle.

Num_carte Nom Num_Etabli. Ville Nom_Etabli1 Henri 1 Paris Univ. Jussieu2 Stanislas 2 Lyon CHU Bron3 Henriette 1 Nancy Univ. Poincaré

Lecteur_jointnat_Etabli(Num_carte, Nom, Num_Etabli, Ville, Nom_Etabli.)

Université de Corse - IUT LPM � Bases de Données Multimédiaa

28

Opérations du modèle relationnel

�Opérations Relationnelles

�La jointure peut être vu comme la sélection des enregistrements obtenus par le produit cartésien des relations, dont les champs sur lequel on effectue la jointure sont égaux:

Num_carte Nom Num_Etabli_1. Num_Etabli_2. Ville Nom_Etabli1 Henri 1 1 Paris Univ. Jussieu1 Henri 1 2 Lyon CHU Bron1 Henri 1 3 Nancy Univ. Poincaré1 Henri 1 4 Paris Univ.Sorbonne2 Stanislas 2 1 Paris Univ. Jussieu2 Stanislas 2 2 Lyon CHU Bron2 Stanislas 2 3 Nancy Univ. Poincaré2 Stanislas 2 4 Paris Univ.Sorbonne3 Henriette 1 1 Paris Univ. Jussieu3 Henriette 1 2 Lyon CHU Bron3 Henriette 1 3 Nancy Univ. Poincaré3 Henriette 1 4 Paris Univ.Sorbonne

Page 8: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

29

Opérations du modèle relationnel

�Opérations Relationnelles

�Jointure externe: est une opération de jointure étendue qui inclut dans le résultat les lignes n'ayant pas de correspondance sur le contenu du champ de jointure.

�Ex. jointure externe de la relation 'Etabli' avec ma relation 'Lecteur' sur le champ 'Num_Etabli'.

�La selection des lignes contenant NULL répond à la question « Quels sont les établissements qui n'ont pas de lecteurs?

Etabli_jointext_Lecteur(Num_Etabli._1, Ville, Nom_Etabli, Num_carte, Num_Etabli._2)

Num_Etabli._1 Ville Nom_Etabli Num_carte Nom Num_Etabli._21 Paris Univ. Jussieu 1 Henri 12 Lyon CHU Bron 2 Stanislas 23 Nancy Univ. Poincaré NULL NULL NULL4 Paris Univ. Sorbonne NULL NULL NULL

Université de Corse - IUT LPM � Bases de Données Multimédiaa

30

Opérations du modèle relationnel

�Calculs et Agrégats

�Tout ce qui peut se calculer ne doit pas être stocké.

�On évite ainsi la perte de place et l'incohérence qui peut en découler suite au stockage d'information redondantes.

�Des fonctions de calculs ont étés définies afin de répondre à ce besoin:

�On considère la relation suivante:La_boutique(Num_Facture,Article,Prix,Quantite)

Num_Facture Article Prix Quantite101 Bananes 12 451034 Choux 5 1292345 Riz 4 60987 Gazelle 15 48

Université de Corse - IUT LPM � Bases de Données Multimédiaa

31

Opérations du modèle relationnel

�Calculs et Agrégats

�On suppose que l'on veut par exemple trouver le total pour chaque facture.

� Il est possible d'ajouter un champ 'Total' dont le contenu sera calculé par l'expression 'Prix'*'Quantite'.

Num_Facture Article Prix Quantite Total101 Bananes 12 45 5401034 Choux 5 129 6452345 Riz 4 60 240987 Gazelle 15 48 720

La_boutique_total(Num_Facture,Article,Prix,Quantite,Total)

Université de Corse - IUT LPM � Bases de Données Multimédiaa

32

Opérations du modèle relationnel

�Calculs et Agrégats

�On peut également effectuer des opérations statistiques globales d'un champ comme de moyenne.

�Les opérations de base de l'algèbre relationnelle ne permette pas de répondre à des questions du genre:« Combien trouve-t-on de personnes par ville? »

�La solution consiste alors à regrouper les enregistrements qui contiennent les mêmes valeurs dans le champs 'Ville':ce regroupement s'appelle un agrégat.

�Lecteur_parville(Ville,Nombre)

Moyenne_Prix9La_boutique_moyenne(Moyenne_Prix)

Ville NombreLyon 1

Bordeaux 1Marseille 2

Nancy 3Paris 5

Page 9: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

33

Passage du modèle conceptuel au relationnel

� Règles générales

� Il existe des règles simples pour passer des modèles conceptuels à un ensemble de relations qui sera utilisable directement dans le SGBD.

�Cet ensemble de règles s'appelle le schéma relationnel et constitue le modèle logique des données.

�Deux grandes règles s'appliquent toujours, quel que soit le cas:

�Une entité devient une relation composée des champs de l'entité. La clé de cette relation est le même que celle de l'entité.

�Une association devient une relation composéedes deux clés des entités associées. L'ensemblede ces deux clés constitue celle de la relation.Lorsqu'elle en possède, les champs de l'associationforment les champs « non clés » de cette nouvelle relation.

Université de Corse - IUT LPM � Bases de Données Multimédiaa

34

Passage du modèle conceptuel au relationnel

� Règles générales

�Modèle entité-association de la BD 'Casse':

�Les entités 'Voiture' et 'Client' deviennent les relationsvoiture(NumVoit, Marque,Type,Couleur)client(NumAch, Nom, Age, Ville, Sexe)

�L'association se transforme en relationvente(DateVent, Prix, NumAch, NumVoit)

#NumVoit

Marque

Type

Couleur

Voiture #NumAch

Nom

Age

Ville

sexe

Client

DateVente

Prix

Vente0,1

0,n

Université de Corse - IUT LPM � Bases de Données Multimédiaa

35

Passage du modèle conceptuel au relationnel

� Cas particulier des associations avec cardinalité 1-1

�Modèle entité-association:

�Un séminaire est animé par un ou plusieurs intervenants.

�Un séminaire ne possède qu'un seul responsable.

#NumInter

NomInter

TelInter

Intervenant#NumSéminaire

DateSem

NbeJours

Prix

Séminaire

Salaire

NbeHeures

Anime0,n

1,n

Prime

Est_resp0,n

1,1

Université de Corse - IUT LPM � Bases de Données Multimédiaa

36

Passage du modèle conceptuel au relationnel

� Cas particulier des associations avec cardinalité 1-1

�Si l'on applique les règles générales:

� Intervenant(NumInter, NomInter, TelInter)

�Séminaire(NumSem, DateSem, Prix, NbeJour)

�Anime(NumInter, NumSem, NbeHeures, Salaire)

�Est_responssable(NumInter, NumSem, Prime)

#NumInter

NomInter

TelInter

Intervenant#NumSem

DateSem

NbeJours

Prix

Séminaire

Salaire

NbeHeures

Anime0,n

1,n

Prime

Est_resp

0,n1,1

Page 10: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

37

Passage du modèle conceptuel au relationnel

� Cas particulier des associations avec cardinalité 1-1

�La cardinalité de l'association 'Est_resp' est de 1-1

�La clé de la relation 'Est_resp' n'est pas minimale: Pour la relation 'Est-resp' l'identifiant du séminaire détermine celui du responsable

�On peut identifier une dépendance fonctionnelle entre les champs 'NumSem' et 'NimInter'

�On choisi le champ 'NumSem' comme clé de 'Est_resp'

�La relation devient: Est_resp(NumSem,NumInter,Prime)

� 'Est_resp' et ''Séminaire' ont la même clé (regroupement):Seminaire_res(NumSem,DateSem,Prix,NbeJours,NumInter,Prime)

�Règles: lorsque l'association entre deux entités est 1-1, on ne crée pas de relation. Les champs de l'association seront intégrés à la relation créee pour l'entité qui est associée avec la cardinalité 1-1.

Université de Corse - IUT LPM � Bases de Données Multimédiaa

38

Normalisation

� Première forme normale

Tout champ contient une valeur atomique

�Elle interdit la présence, appelée multivaluation, de plusieurs valeurs dans un même champ d'une relation.

�Comment passer en première forme normale?

NumPubli Titre Auteurs

1345 Le vin et l'avenir

12345 Bière et progrès social

2345 Le champagne et la france

Jean Lasso,Hubert De la Turque,

Stanislas WilskiAristide Salem,

Jean Lasso,Salome DupondPenelope Light,

Vanessa Martinez,Salome Dupond

Université de Corse - IUT LPM � Bases de Données Multimédiaa

39

Normalisation

� Première forme normale

�Une solution est de décomposer en Auteur_1, Auteur_2, etc

�Problème: on ne connais pas à l'avance le nombre d'auteurs que peut posséder une publication !

�La solution la plus correcte (mais aussi la plus lourde à mettre en oeuvre) est de décomposer cette relation en trois relations:

�Publication(NumPubli,Titre)

�Auteur(NumAuteur,Nom, Prenom)

�EstEcrite(NumPubli, NumAuteur)

�« une publication est écrite par des auteurs »

�On doit effectuer des jointures sur les différentes relations afin de reconstituer l'information dans son intégralité.

Université de Corse - IUT LPM � Bases de Données Multimédiaa

40

Normalisation

� Première forme normale

�Publication(NumPubli,Titre)

�Auteur(NumAuteur,Nom, Prenom)

�EstEcrite(NumPubli, NumAuteur)

NumPubli Titre1345 Le vin et l'avenir12345 Bière et progrès social2345 Le champagne et la france

NumAuteur Nom Prenom1 Lasso Jean2 De la Tuque Hubert3 Wilski Stanislas4 Salem Aristide5 Dupont Salome6 Light Penelope7 Martinez Vanessa

NumPubli NumAuteur1345 11345 21345 3

12345 412345 112345 52345 62345 72345 5

Page 11: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

41

Normalisation

� Deuxième forme normale

La relation est en première forme normaleTout champ qui n'appartient pas à la clé ne dépend pas d'une partie de la clé

�La deuxième forme normale recherche la redondance d'information dans une relation.

�Elle interdit les dépendances fonctionnelles possibles entre les champs qui composent la clé et les autres champs.

�Comment passer en deuxième forme normale?

�Décomposer la relation en deux relations.

�La nouvelle relation a pour clé la partie de la clé dont dépendent les autres champs.

Université de Corse - IUT LPM � Bases de Données Multimédiaa

42

Normalisation

� Deuxième forme normale

�Produit(Article,Fournisseur,Adresse,Prix)

�La clé est constituée des champs 'Article' et 'Fournisseur'

� Il existe une dépendance entre le champs 'Fournisseur' (partie de la clé) et le champ 'Adresse'

�On décompose alors la relation pour éliminer la redondance

�Produit(Article,Fournisseur,Prix)

�Fournisseur(Fournisseur,Adresse)

� Il faudra faire une jointure pour reconstituer l'information.

�La décomposition se fait sans perte d'information

�Remarque: Si la clé d'une relation est atomique, elle est naturellement en deuxième forme normale

Article Fournisseur Adresse PrixMarteau SOGENO Paris 5

Tournevis ARTIFACT Lille 10Tournevis SOGENO Paris 23

Pince LEMEL Paris 34Mètre ARTIFACT Lille 24

Université de Corse - IUT LPM � Bases de Données Multimédiaa

43

Normalisation

� Troisième forme normaleLa relation est en deuxième forme normaleTout champ n'appartenant pas à une clé ne dépend pas d'un autre champ non clé

�Elle recherche la redondance d'information dans une relation

�On cherche s'il existe une dépendance entre deux champs qui ne font pas partie d'une clé

�La troisième forme normale interdit donc les dépendances fonctionnelles dites transitives entre les champs.

�Comment passer en troisième forme normale?

�Décomposer la relation en deux

Université de Corse - IUT LPM � Bases de Données Multimédiaa

44

Normalisation

� Troisième forme normale

�Baladeur(NumBal, Marque, Type, Couleur)

�La clé est NumBal car il peut y avoir dans notre stock plusieurs baladeurs de même marque, type et couleur.

�Les marques déposent les noms des objets qu'elles fabriquent de façon à les identifier sur le marché.

� Il existe une dépendance entre le champ 'Type' (appartient pas à la clé) et 'Marque' (appartient pas à la clé).

�Nouvelle relation qui à pour clé le champ dont dépendent les autres champs constituant la dépendance transitive: le champ 'Type'. Les autres champs sont les champs qui en dépendent: le champ 'Marque'.

�Baladeur(NumBal, Type, Couleur)

�Baladeur_type(Type, Marque)

NumBal Marque Type Couleur12 Apple Ipod Blanc43 Creative Zen Noir23 Apple Ipod Noir29 Creative Zen Gris34 Sony MZ-RH910 Rouge

Page 12: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

45

Normalisation

� Forme normale de Boyce-Codd

Tout champ appartenant à une clé ne dépend pas d'un autre champ non clé

� Il s'agit du cas où une partie d'une clé dépend d'un champ

�Comment passer en forme normale de Boyce-Codd?

�Plusieurs choix sont possibles lors de la décomposition

�On choisit celle qui permet de reconstituer strictement l'information d'origine sans générer de données supplémentaires.

�Dictaphone(Marque,Produit,Prix,Couleur)

Marque Produit Prix CouleurPhilips LD 1024 49 Blanc

Olympus VN 1664 49 NoirPhilips LD 5647 H 59 Blanc

ImaginR VN 1664 69 GrisOlympus VN 234 PC 79 Rouge

Université de Corse - IUT LPM � Bases de Données Multimédiaa

46

Normalisation

� Forme normale de Boyce-Codd

�Un produit est fabriqué sous licence par la société ImaginR et a donc le même nom que celui proposé par la société Olympus

� Il faut utiliser les deux champs 'Marque' et 'Produit' pour constituer la clé

�Pour se démarquer les sociétés utilisent des couleurs destinées à identifier les marques:

�Philips, le blanc et l'orange

�Olympus, le rouge et le noir

� ImaginR, le gris

�On a donc une relation de dependance entre les deux champs 'Marque' et 'Couleur'

Marque Produit Prix CouleurPhilips LD 1024 49 Blanc

Olympus VN 1664 49 NoirPhilips LD 5647 H 59 Blanc

ImaginR VN 1664 69 GrisOlympus VN 234 PC 79 Rouge

Université de Corse - IUT LPM � Bases de Données Multimédiaa

47

Normalisation

� Forme normale de Boyce-Codd

�Plusieurs décomposition sont possible:

�Dictaphone(Marque,Produit,Prix)

�Marque_coul(Couleur,Marque)

� Génère des tuples non désirés au moment de la jointure

�Dictaphone(Produit,Prix, Couleur)

�Marque_coul(Couleur,Marque)

� Elle permet de reconstruire l'information de départ par une jointure dur le champ 'Couleur'

Université de Corse - IUT LPM � Bases de Données Multimédiaa

48

Résumé

�L'approche relationnelle modélise les faits de la vie réelle par des tuples qui sont des ensembles de valeurs de différent champs: (réfrigérateur, 2003,rouge)

�L'ensemble des tuples s'appelle une relation qui peut être représenté par une table

�Pour identifier un tuple, on utilise le contenu d'un ou de plusieurs champs que l'on nomme la clé d'une relation

�La clé est établie en utilisant le concept de dépendance fonctionnelle entre les différents champs

�La clé est constituée par le plus petit ensemble de champs dont dépendent fonctionnellement les autres champs

�Si plusieurs clé sont possibles on parle de clé candidates

�La clé choisie sera nommée la clé primaire

Page 13: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

49

Résumé

�Les opérations de manipulation des relations:

�Les opérations ensemblistes.

�Les opérations spécifiques relationnelles.

�Les opérations et les fonctions de calcul.

�La cohérence des données contenus dans les relations est améliorée par la définition de contraintes.

�Elles expriment les conditions d'appartenance à un ensemble que l'on nomme le domaine du champ.

�La mise en oeuvre de ces contraintes est assurée par le SGBD en utilisant le langage de Définition de Données (LDD).

Université de Corse - IUT LPM � Bases de Données Multimédiaa

50

Résumé

�La qualité des relations se fait par les formes normales.

�Ces propriétés visent essentiellement à détecter la redondance et la cohérence des données dans les relations:

�La première forme normale qui interdit les champs multivalués;

�La deuxième forme normale qui détecte une relation de dépendance entre une partie de la clé et un champ;

�La troisième forme normale qui détecte une dépendance « transitive » entre une clé et un champ, i.e. Qu'un champ non-clé dépend d'un autre champ non-clé qui dépend lui même de la clé;

�La forme normale de Boyce-Codd qui détecte la relation de dépendance entre un champ non-clé et une partie d 'une clé.

Université de Corse - IUT LPM � Bases de Données Multimédiaa

51

Résumé

�La normalisation est une méthode de réorganisation qui consiste à décomposer une relation pour la rendre conforme aux formes normales.

�La re-composition des données se fait alors par une opération de jointure qui peut se révéler coûteuse en ressources

�C'est pour cette raison que certaines relation sont parfois laissées en forme non normalisée.

�Les deux étapes de passage du modèle conceptuel au schéma relationnel et la normalisation peuvent être quasiment automatisées.

Université de Corse - IUT LPM � Bases de Données Multimédiaa

52

Exercices

� Feuilles TD !

Page 14: Approche relationnelle · 2020-02-11 · Lave-vaisselle Rouge Université de Corse - IUT LPM – Bases de Données Multimédia a 8 Concepts Notion de clé et dépendance fonctionnelle

Université de Corse - IUT LPM � Bases de Données Multimédiaa

53

Bibliographie et Webographie

� Création de bases de donnéesNicolas Larrousse, Pearson Education, 2006.