1 le modèle logique (relationnel) de données modele relationnel (introduit par codd en 1970) s...
TRANSCRIPT
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
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.
3
Modèle Relationnel
SCHEMA D ’UNE RELATION :
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.
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é.
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é
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.
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.
9
Règles (suite)
REGLE n°4: UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 SE REECRIT SELON LA REGLE 3 :
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
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
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)
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)
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
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
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
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
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
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
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.
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
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
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
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
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
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