26
1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S ’inspire de la notion mathématique de relation Propose de percevoir les données sous une forme simple de tables Ces tables possèdent une indépendance physique totale indépendance entre traitements et données La manipulation des données s ’effectue à l ’aide d ’un ensemble d ’opérateurs algébriques pour lesquels les relations (ou tables ) sont opérandes et résultat Se démarque de ses prédécesseurs par des règles qui appliquées aux tables permettent de définir de manière efficace leur contenu Règles de normalisations

1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

Embed Size (px)

Citation preview

Page 1: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

1

Le modèle logique (Relationnel) de données

MODELE RELATIONNEL (introduit par CODD en 1970)

S ’inspire de la notion mathématique de relation Propose de percevoir les données sous une forme simple

de tables Ces tables possèdent une indépendance physique totale

indépendance entre traitements et données La manipulation des données s ’effectue à l ’aide d ’un

ensemble d ’opérateurs algébriques pour lesquels les relations (ou tables ) sont opérandes et résultat

Se démarque de ses prédécesseurs par des règles qui appliquées aux tables permettent de définir de manière efficace leur contenu Règles de normalisations

Page 2: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

2

Modèle Relationnel

CONCEPTS STRUCTURELS : DOMAINE : Un attribut prend ses valeurs dans un domaine. C ’est

un ensemble de valeurs caractérisé par un nom. Cet ensemble peut être défini en extension ou en intension

Extension COULEUR ={ Blanc, Noir, Rouge} Intension ENTIER, REEL

RELATION (TABLES) : Sous-ensemble du produit cartésien d ’une liste de domaines caractérisé par un nom. Représente les entités et les associations du monde réel.

Page 3: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

3

Modèle Relationnel

SCHEMA D ’UNE RELATION :

Page 4: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

4

Modèle Relationnel

ATTRIBUT (COLONNES) : colonne d ’une relation caractérisée par un nom et un domaine.

CLE D ’UNE RELATION : ensemble minimum d ’attributs d ’une relation qui détermine les autres attributs.

N-UPLET (LIGNE, TUPLE) : correspond à une occurrence (ou ligne) d ’une relation

VALEUR NULLE : Valeur inconnue d ’un attribut dans la base de données. Différente de 0 (zéro) et de chaîne vide.

Page 5: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

5

Modèle Relationnel

INTEGRITE DES DONNEES Objectif : garantir la cohérence des données afin d ’avoir une

concordance entre la base et le monde réel qu ’elle modélise.

Intégrité de domaine : concerne le contrôle syntaxique et sémantique d ’un attribut et fait référence au type de définition du domaine.

Exemple : age : entier compris entre 0 et 120.

Intégrité d ’entité : concerne les valeurs prises par une clé primaire qui doivent être unique et non nulles.

Exemple : pour la relation CLIENT, CODE_CLIENT est unique et non nul.

Intégrité de référence : Si un même attribut apparaît dans une relation comme clé et dans une autre comme non clé, toute valeur de l ’attribut non clé doit exister dans l ’attribut clé.

Page 6: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

6

Règles de passage d ’un un modèle Entité-Association vers un schéma Relationnel

REGLE n°1 : TOUTE ENTITE DEVIENT UNE RELATION Les attributs traduisent les propriétés de l ’entité la clé primaire traduit l'identifiant de l'entité

Page 7: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

7

Règles (suite)

REGLE n°2 : UNE ASSOCIATION DE DIMENSION 2 AVEC CARDINALITE 1 A PLUSIEURS SE REECRIT EN :

portant dans la relation fille la clé primaire de la relation mère.

L'attribut ainsi ajouté s'appelle clé étrangère.

Page 8: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

8

Règles (suite)

REGLE n°3: UNE ASSOCIATION DE DIMENSION 2 AVEC CARDINALITES PLUSIEURS A PLUSIEURS SE REECRIT EN :

créant une relation contenant comme attributs les identifiants des 2 entités associées

ces attributs constituent à eux 2 la clé primaire de la relation ajoutant la ou les éventuelles propriétés de l'association à cette

relation.

Page 9: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

9

Règles (suite)

REGLE n°4: UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 SE REECRIT SELON LA REGLE 3 :

Page 10: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

10

La Normalisation du modèle Relationnel

BUTS Conformité des tables et relations avec le modèle

conceptuel Écriture simplifiée des requêtes Assurer l’intégrité des données Utilisation optimale des ressources

PRINCIPE Appliquer les règles : Formes Normales Une forme normale: une méthode de classification de

table qui repose sur les dépendances fonctionnelles

Page 11: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

11

Les dépendance Fonctionnelles DEPENDANCE FONCTIONNELLE (DF) SIMPLE :

Il existe une dépendance fonctionnelle entre deux attributs d ’une relation, si à toute valeur de A on ne peut associer à tout instant qu ’une et une seule valeur de B.

A B : A détermine B

Exemple : Le numéro de salarié dans une entreprise détermine

son nom

DF DE PLUSIEURS VARIABLES:A <-> B A détermine plusieurs B

Exemple : Le nom d’un professeur détermine la liste de ses

étudiants

Page 12: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

12

Les dépendance Fonctionnelles DF ELEMENTAIRE :

A B est élémentaire s ’il n ’existe pas X A tel que X B Autrement dit A,X B, X B n ’est pas une DF élémentaire

Exemple : R1(Fournisseur,Article,Adresse,Prix)

Fournisseur,Article Prix est une DF élémentaire

Fournisseur,Article Adresse est juste mais redondante car

Fournisseur Adresse, donc dans R1, Adresse ne dépend que d ’une partie de la clé.

R1 doit être décomposée en :R2(Fournisseur, Adresse)R3(Fournisseur, Article, Prix)

Page 13: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

13

Les dépendance Fonctionnelles DF DIRECTE :

A B est directe s ’il n ’existe pas X tel que A X et X B

Exemple :R1(Numéro_Véhicule, Marque, Type_Véhicule, Puissance,

Couleur)Les dépendances fonctionnelles sont les suivantes :Numero_Vehicule Type_Vehicule,CouleurType_Vehicule Marque,PuissanceType_Vehicule est donc une clé pour Marque et Puissancedonc R1 doit être décomposée en :R2(Type_Vehicule, Marque,Puissance)R3(Numero_Vehicule,Couleur,Type_Vehicule)

Page 14: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

14

Les Formes Normales

Ce sont des règles à appliquer: A la conception d’une base pour s’assurer de sa cohérence Sur une base existante pour en vérifier la cohérence

1FN: 1ère Forme Normale: Les champs doivent être atomiques Il ne peut y avoir de champs répétitifs Les champs ont une signification constante et précise dans le

temps

Exemple1NOM Adresse Vill

eJean Durand 28 rue des quarks Paris 75

NOM Prénom Adresse

Ville DépDuran

dJean 28 Rue des quarks Paris 7

5

Page 15: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

15

Formes Normales

1FN: exemple 2

Emprunteur LivrecodEmprunteur

NomTitre

emprunter

1,3 1,1

CodEmprunt Livre1 Livre2 Livre3

1501

1502

La relativité

Tintin et le Lotus bleu

Alice au pays..

Mobby Dick

CodEmpru

1501

1502

NOM

Durand

Leroux

Titre

CodEmpLa relativité

Alice au pays ..

Tintin et le Lotus

Mobby Dick

1501

1501

1502

1502

Page 16: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

16

Formes Normales

Seconde Forme Normale 2FN : Une relation respecte la seconde forme normale si :

Elle est en 1FN Toutes les DF sont élémentaires

ou

lorsque toutes ses propriétés non-clé sont totalement dépendantes fonctionnellement de la totalité de la clé primaire

Si X et Y sont des colonnes et que X est une clé, alors pour tout Z qui est un sous ensemble de X il ne peut y avoir Z -> Y

Page 17: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

17

Formes Normales

2FN : ExempleNumSalarié Nom NumProjet Heures

NumSalarié Nom

NumSalarié NumProjet

Heures

2036

3690

45024502

Durand

Durand

Leroux

Frank

Frank

1

2

2

3

1

18

6.5

8.5

23

4.8

2036

3690

4502

Durand

Leroux

Frank

2036

2036

20363690

4502

4502

1

2

2

3

1

18

6.5

8.5

234.8

Page 18: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

18

Formes Normales

3ème Forme Normale 3FN

Une relation est dite dans la troisième forme normale si : elle est en 2FN, toutes les DF sont directes

ou aucun champ non-clé n’est en dépendance transitive

avec la clé primaire Soit (A, B , C) trois colonnes, A étant la clé primaire

Si A -> B et B -> C on peut en déduire que A -> C dans ce cas il existe une relation transitive entre A et C et la table n’est pas en 3FN

Page 19: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

19

Formes Normales

3FN: Exemple

Nom NumSalariéDate-naiss Service

Nomservice NumChef

NumSalarié Nom Date-naiss

Service

Service Nom

NumSalarié_chef

Durand

Martin

501

502

15/01/1950

12/04/1957

5

6

Vente

Info

458412

5

6

vente

Info

458

412

501

502

Durand

Martin

15/01/195012/04/1957

5

6

Page 20: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

20

Les opérateurs relationnels

UNION:

Exemple

R1 U R2 = R A01 Durand A32 Dupont A01 DurandA25 Dubois A01 Durand A32 Dupont A25 Dubois

Pour 2 relations, définies sur les mêmes domaines fournit une nouvelle relation qui contient tous les n-uplets des 2 relations initiales.

Page 21: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

21

Opérateurs relationnels

INTERSECTION: Pour 2 relations (ayant mêmes domaines) fournit une nouvelle relation qui contient les n-uplets communs aux 2 relations initiales

Exemple

R1 R2 = RA01 Durand A01 Durand A01 Durand

A32 Dubois B15 Martin A32 DuboisC14 Dupin A32 DuboisC15 Dupont

Page 22: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

22

Opérateurs Relationnels

DIFFERENCE : Pour 2 relations (ayant mêmes domaines) fournit une nouvelle relation qui contient les n-uplets de la 1ère qui ne se trouvent pas dans la 2ème.

Exemple

R1 - R2 = R A01 Dupont A01 Dupont A25 Durand A25 Durand B15 Martin C14 DupinA32 Dubois A32 Dubois C14 Dupin

Page 23: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

23

Opérateurs Relationnels

PROJECTION : pour une relation (opérateur unaire) fournit une nouvelle relation définie pour les seuls attributs demandés

Exemple Soit la table OuvrageCodouv Auteur Titre EditeurA3 V.Hugo Les Misérables La PléiadeA6 V.Hugo Les Misérables PocheA2 A.Camus L’étranger Hachette

Projection d’ouvrage sur Auteur et Titre

Auteur TitreV.Hugo Les MisérablesA.Camus L’étranger

Page 24: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

24

Opérateurs Relationnels

SELECTION ou RESTRICTION: pour une relation (opérateur unaire) fournit une nouvelle relation restreinte aux n-uplets qui respectent une proposition logique formulée à l'aide d'opérateurs de comparaison et /ou d'opérateurs logiques

Exemple : Soit la table Etudiant

Noetud Nom Filière A25 Dupont GSIA12 Duval GMA30 Dubois GSISélection des étudiants de GSINoetud Nom Filière A25 Dupont GSI A30 Dubois GSI

Page 25: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

25

Opérateurs Relationnels

JOINTURE: pour 2 relations (ayant un attribut commun) fournit une nouvelle relation concaténant les n-uplets des 2 relations initiales ayant même valeur pour l'attribut commun.

Exemple :Soient les tables produit et CommandePRODUIT COMMANDERef Désignation Prix N°Cl Ref QuantiteX01 Chemise 150 A01 X01 10X25 costume 2000 A01 X25 1Y18 pantalon 200 A02 X01 3

La jointure Sur l’attribut commun Ref donne le détail des produits commandés par les clients

Page 26: 1 Le modèle logique (Relationnel) de données MODELE RELATIONNEL (introduit par CODD en 1970) S inspire de la notion mathématique de relation Propose de

26

La jointure

Grâce à la jointure on peut savoir les commandes de chaque client

N°Client Ref Désignation Prix Quantité

A01 X01 chemise 150 10A01 X25 costume 2000 1A02 X01 chemise 150 3