CH1 BD2022 Chapitre3
CH1 BD2022 Chapitre3
CH1 BD2022 Chapitre3
Bases de données
Chapitre 3 :Conception des bases de données, le Modèle
Relationnel
[email protected]
PLAN DU COURS
Définitions
Dépendance fonctionnelle
Normalisation
Modèle relationnel
Le modèle relationnel a été défini par E.F. Codd en 1970 à IBM San José
Aspects fondamentaux du modèle relationnel:
une algèbre permettant de manipuler des tables et des relations
une démarche de conception permettant de définir une collection de relations
A ce type de modèle sont associées les notions suivantes:
domaine
table relationnelle
attribut
tuple (ou n-uplet)
Domaine
Une clé est un ensemble minimal d'attributs qui détermine tous les autres.
Il peut y avoir plusieurs clés pour une même relation; on en choisit en général une
comme clé primaire.
Le lien entre 2 tables relationnelles est réalisé par la duplication de la clé primaire d’une
table dans l’autre
Cette clé dupliquée est appelée clé externe (ou étrangère)
Degré de la relation
Contraintes relationnelles
Contraintes de domaines
Contraintes de clés
D’intégrité
D’intégrité référentiel
10
Contraintes de domaines
• La valeur de chaque attribut dans un tuple est atomique. (non divisible)
Attributs composites ou multivalués
La valeur doit respecter le format des données du domaine de l’attribut (entier, réel, date,
caractère)
Contraintes de clés
Chaque tuple dans une relation doit être unique.
Toute relation doit posséder une clé qui identifie un tuple de façon unique.
Une relation peut posséder plusieurs clés candidates.
La clé choisie est appelé clé primaire.
Elle est soulignée dans la relation.
Exemple:
ÉTUDIANT(Nom,NAS,CodeApogee,Adresse,Téléphone,DateNaissance)
11
Contraintes d'intégrité-entité
12
Attribut
Une propriété est transformée en attribut
Clé primaire
14
15
La clé primaire de la table issue de l’entité côté cardinalités (0,n) ou (1,n) est dupliquée
dans la table issue de l’entité côté cardinalités (1,1) où elle devient clé étrangère.
La clé primaire de la table issue de l’une des entités est dupliquée dans la table issue de
l’autre entité où elle devient clé externe qui peut être une valeur nulle.
16
La clé primaire de la table issue de l’entité côté cardinalités (0,n) ou (1,n) est dupliquée
dans la table issue de l’entité côté cardinalités (0,1) où elle devient clé externe qui peut
être une valeur nulle
Si l’association est porteuse de propriétés :
Les deux entités sont traités comme si l’association était (0,n) –(0,n)
L’association est transformée en relation ayant comme clé la clé primaire de la relation du côté
(0,1). On rajoute ensuite, dans la relation une référence à la clé primaire de l’autre entité.
17
La clé primaire de la table issue de l’entité côté cardinalités (0,1) est dupliquée dans la
table issue de l’entité côté cardinalités (1,1) où elle devient clé étrangère.
18
Une table ayant comme clé une clé composée des identifiants des 2 entités est créée.
Les éventuelles propriétés de l’association deviennent les attributs de la table
19
Une table ayant comme clé une clé composée des identifiants des entités est créée. Les
éventuelles propriété de l’association deviennent les attributs de la table
20
La clé primaire de la table issue de l’entité est dupliquée dans cette table où elle devient
une clé externe qui peut être une valeur nulle. Les éventuelles propriétés de
l’association deviennent des attributs de la table.
Avec un même traitement particulier lorsque l’association est porteuse de propriétés.
21
Une table ayant comme clé une clé composée de 2 fois l’identifiant de l’entité est créée.
Les éventuelles propriétés de l’association deviennent des attributs de la table.
22
23
ASSURE( NumAssure,Adresse1,Adresse2,CP,Ville,Tel)
PARTICULIER(NumAssure,Profession,ClasseAge)
ENTREPRISE(NumASSURE,N°SIREN,FormeJuridique)
24
PARTICULIER(NumAssure,Profession,ClasseAge, Adresse1,Adresse2,CP,Ville,Tel)
ENTREPRISE(NumASSURE,N°SIREN,FormeJuridique,Adresse1,Adresse2,CP,Ville,Tl)
25
Exemple : que choisir dans le cas d’une bibliothèque avec des document (livres ou
périodiques).
26
27
Une société loue des photocopieurs à ses clients. La location d’un photocopieur est
obligatoirement assortie d’un contrat de maintenance, qui prévoit l’intervention d’un
technicien dans les 24 h. Pour améliorer la gestion des interventions, La société
souhaite recourir à une base de données.
28
29
30
L’intégrité des données est conservée (mises à jour). Leur objectif est d’éviter tout
problème d’ajout, de suppression ou de mise à jour de données. Il faut normaliser les
données. Théorie de la normalisation
Basée sur la notion de dépendance fonctionnelle
32
33
Exemple
PRODUIT(numProd,nom,PrixUnit)
numProd =>nom,prixUnit
NOTE(no_controle,no_eleve,note)
no_eleve,no_controle => note 34
DF Elémentaire
DF a->B est élémentaire , s’il n’existe pas C inclus dans A ,qui assure lui-même une DF
c->B.
Ex:
numArticle->nomArticle
numFact,RefArt->quantitéArt
numFacture,numArticle->nomArticle
35
DF Directe
Une DF A->B est directe , s’il n’existe pas un attribut C qui engendrait une DF
transitive A->C->B.
Num_fact->num_représentant
Num_représentant->nom_représentant
Num_fact->nom_représentant
36
Triviale
1. Réflexivité
Tout groupe d'attributs se détermine lui même et détermine chacun de ses attributs (ou sous
groupe de ses attributs).Soient X et Y des attributs :
XY→XY et XY→X et XY→Y
2. Augmentation
Si un attribut X détermine un attribut Y, alors tout groupe composé de X enrichi avec d'autres
attributs détermine un groupe composé de Y et enrichi des mêmes autres attributs.
3. Transitivité
4. Union
Si un attribut détermine plusieurs autres attributs, alors il détermine tout groupe
composé de ces attributs. Soient X, Y et Z des attributs :
X→Y et X→Z ⇒ X→YZ 39
5. Décomposition
6. Projection
40
Fermeture transitive F+
41
On peut représenter un ensemble de DFE par un graphe orienté (ou plus précisément un
réseau de Pétri), tel que les nœuds sont les attributs et les arcs les DFE
(avec un seul attribut en destination de chaque arc et éventuellement plusieurs en
source).
Soit la relation Voiture(NVH, Marque, Type, Puis, Couleur) avec l'ensemble des DF F =
{NVH→Type, Type→Marque, Type→Puis, NVH→Couleur}.
On peut représenter F par le graphe ci-dessous :
42
AB->E
BG->C
AB->G
43
AB->E
BG->C
AB->G
45
Cette procédure fait subir à une relation une série de tests pour certifier qu’elle
appartient à une certaine forme normale. Codd (mathématicien,chercheur de
IBM,1972) a proposé trois formes normales:
Ces formes normales sont basées sur les dépendances fonctionnelles entre les attributs
d'une relation
47
Elles traitent des cas particuliers non résolus par l'application successive des trois
premières formes normales.
48
Une relation est en 1NF si elle possède au moins une clé et si tous ses attributs sont
atomiques.
Un attribut est atomique si il ne contient qu'une seule valeur pour un tuple donné,
et donc s'il ne regroupe pas un ensemble de plusieurs valeurs.
49
Une relation est en 2NF si elle est en 1NF et si tout attribut n'appartenant à aucune clé
candidate ne dépend pas d'une partie seulement d'une clé candidate.
NumeroEmployé, Profession→Nom
NumeroEmployé, Profession→Prénom
NumeroEmployé, Profession→Salaire
Profession→Salaire
50
Une relation est en 3NF si elle est en 2NF et si tout attribut n'appartenant à aucune clé candidate ne dépend
directement que de clés candidates.
C'est à dire que toutes les DFE vers des attributs n'appartenant pas à une clé, sont issues d'une clé.
Profession→Salaire
Profession→Prime
Salaire→Prime
Cette relation n'est pas en 3NF car Salaire, qui n'est pas une clé, détermine Prime.
Redondance de l'information; les attributs qui réfèrent à un attribut non clé seront
répétés pour chaque apparition de cet attribut non clé
Inconsistance; à toute les fois qu'une donnée est modifiée, toutes les réplications de ces
données doivent être modifiées.
52
1. Redondance réduite
53