Modèle Relationnel et Contrainte SGBD
Modèle Relationnel et Contrainte SGBD
fr
2013/2014
[Link]
Plan
• Le modèle relationnel.
• Contrainte du modèle relationnel.
• Modèle E/A versus Modèle relationnel.
• Validation d’un schéma
Réda DEHAK 2
Le modèle relationnel
• modèle de niveau logique, très simple
• défini par Ted Codd (IBM lab) en 1970; prix Turing en
1986.
« A Relationnal Model for Large Shared Data Banks »,
Communications of the ACM, Juin 1970.
• aujourd'hui utilisé par beaucoup de SGBD
commerciaux
Ø (Oracle, Informix, DB2, Ingres, Sybase, dBase, Access …) et GIS
• modèle à deux concepts:
Ø relation (table)
Ø attribut (colonne)
Réda DEHAK 3
Concepts
ETUDIANT(Uid, Nom, Date_naiss, Groupe)
ETUDIANTS
Schéma Uid Nom Date_naiss Groupe
Population Attributs
Réda DEHAK 4
Règle d'identification
Ø Une relation : Un ensemble de tuple
Ø Pas d’ordre entre les tuples
Ø Pas d’ordre entre les attributs
• Le modèle relationnel.
• Contrainte du modèle relationnel..
• Modèle E/A versus Modèle relationnel.
• Validation d’un schéma
Réda DEHAK 8
Règles de structuration
• Attributs : simples et mono-valués (domaine de
valeurs atomiques)
• structure régulière
X X X X
X X X X
x
x
Interdit
Réda DEHAK 9
Valeurs nulles
• Sémantique du NULL:
– L’attribut n’est pas défini pour le tuple en question
– La valeur de l’attribut n’est pas encore connue
– …
Réda DEHAK 10
Règle d'identification
Ø Toute relation possède un identifiant (clé)
Ø Un ensemble d’attributs C est une clé d’une relation ssi :
1. Deux tuples distincts ne peuvent pas avoir les mêmes valeurs pour les
attributs de la clé.
2. La propriété 1 n’est pas vraie pour un sous ensemble d’attributs E de C.
Réda DEHAK 11
Règle d'identification
• Suit(Uid, NomC)
[Link] est un attribut clé
Uid NomC étrangère
12546 BDD
24323 Compil
24323 Algo ?
Réda DEHAK 13
Exemple
Réda DEHAK 16
Autres types de contraintes
Réda DEHAK 17
Plan
• Le modèle relationnel.
• Contrainte du modèle relationnel.
• Modèle E/A versus Modèle relationnel.
• Validation d’un schéma
Réda DEHAK 18
Plan
Réda DEHAK 19
Modèle E/A – Modèle Relationnel
Entité
• Étape 1 :
– Pour chaque type d’entités E du modèle E/A, créer une relation R
contenant tous les attributs mono-valué de l’entité E.
– Choisir une clé de l’entité E comme identifiant de la relation R.
Employe
Réda DEHAK 20
Modèle E/A – Modèle Relationnel
Entité
Pour chaque composante d’un attribut composé de l’entité
E, créer un attribut dans la relation R.
num
ville
Employe
Réda DEHAK 21
Modèle E/A – Modèle Relationnel
Attributs multivalués
• Pour chaque attribut multivalué, créer une relation R contenant la
clé primaire de l’entité et l’attribut en question.
• La clé primaire de cette relation correspond à tous les attributs de
cette relation.
diplômes
Etudiant
0,N
Personne Propriétaire Chien
Clé étrangère
EMPLOYE(NSS, NOM, prenom)
prenom, sno, poste)
SERVICE(SNO, SNOM, BUDGET)
Réda DEHAK 24
Modèle E/A – Modèle Relationnel
association
• S’il n’existe pas de cardinalité 1:1 ou 0:1, créer une relation R contenant toutes les
clés primaires des entités qui participent à cette association.
• Rajouter les attributs de l’association dans R.
• La clé est composée de toutes les clés étrangères.
depuis Jusqu’a
est composé
produit compose
0,n
est composant
0,n
Réda DEHAK 26
Modèle E/A – Modèle Relationnel
Agrégation
ssn nom prénom
Réda DEHAK 29
Modèle E/A – Modèle Relationnel
e) Spécialisation
nom Adresse
• Différentes approches : N°
b) (OO) Salaire
Vendeur
Secrétaire
Ingénieur
Région Voiture
Projet Bureau Spécialit
Bureau
Réda DEHAK
é 30
Modèle E/A – Modèle Relationnel
e) Spécialisation
nom Adresse
• Différentes approches : N°
Salaire
c) Avec des NULL
isa
Réda DEHAK 31
Plan
Réda DEHAK 32
Diagramme E/A
EDITEUR
JOURNAL
Nom Ed (1,n) (1,1)
EDITER Nom J
Adresse
(1,n)
(1,1)
DIRIGE SORTIE
JOURNAL SORTIE
(1,n)
Nom J (1,1)
AUTEUR Nom chef
Nom NUMERO
Prenom chef
Prénom N°
Adresse Date
Date de naissance
(0,n)
(1,n) ARTICLE
(1,1) Titre (1,n)
RÉDACTION PARUTION
Résumé
Réda DEHAK 34
Exemple
Réda DEHAK 35
Exercice : Aéroport
• Pour les besoins de la gestion d'un aéroport on souhaite mémoriser dans une base de
données les informations nécessaires à la description des faits suivants:
– chaque avion géré est identifié par un numéro d'immatriculation. Il est la propriété soit d'une
société, soit d'un particulier: dans les deux cas on doit connaître le nom, l'adresse et le numéro
de téléphone du propriétaire, ainsi que la date d'achat de l'avion;
– chaque avion est d'un certain type, celui-ci étant caractérisé par son nom, le nom du
constructeur, la puissance du moteur, le nombre de places;
– la maintenance des avions est assurée par les mécaniciens de l'aéroport. Par sécurité, les
interventions sont toujours effectuées par deux mécaniciens (l'un répare, l'autre vérifie). Pour
toute intervention effectuée, on conserve l'objet de l'intervention, la date et la durée;
– pour chaque mécanicien on connaît son nom, son adresse, son numéro de téléphone et les
types d'avion sur lesquels il est habilité à intervenir;
– un certain nombre de pilotes sont enregistrés auprès de l'aéroport pour chaque pilote on
connaît son nom, son adresse, son numéro de téléphone, son numéro de brevet de pilote et les
types d'avion qu'il est habilité à piloter avec le nombre total de vols qu'il a effectué sur chacun
de ces types.
Des questions types auxquelles l'application doit pouvoir répondre sont les suivantes:
– liste des avions de la société "Voltige";
– liste des avions propriété de particuliers;
– durée totale des interventions faites par le mécanicien Durand au mois d'août;
– liste des avions de plus de 4 places, avec le nomdu propriétaire;
– liste des interventions (objet, date) faites sur l'avion numéro 3242XZY78K3.
Réda DEHAK 36
Plan
• Le modèle relationnel.
• Contrainte du modèle relationnel.
• Modèle E/A versus Modèle relationnel.
• Validation d’un schéma
Réda DEHAK 37
Validation d'un schéma EA
Réda DEHAK 38
Validation du schéma E/A
Réda DEHAK 39
1. Règles de complétude
• Chaque classe d’objets (entité, association, attribut, …) possède
toutes les propriétés requise par le modèle E/A :
1. Entité :
• Nom : Auteur
• Définition : « un auteur est une personne qui a écrit au moins un article paru
dans un journal qui nous intéresse »
• Liste d’attributs : nom_auteur, prénom_auteur, adresse_auteur
• Au moins une clé : (nom_auteur, prénom_auteur)
2. Association
• Nom : Ecriture
• Définition : « l’écriture associe l’auteur à(aux) l’article(s) qu’il a écrit(s) »
• Liste d’entité qui participent à l’association : Auteur, Article
• Les rôles et leur cardinalité : (1,N) écrit: Auteur, (1,1) est écrit par :Article
• La liste des attributs :
Réda DEHAK 40
1. Règles de complétude (2)
• Chaque classe d’objets (entité, association, attribut, …) possède
toutes les propriétés requise par le modèle E/A :
3. Attribut :
• Nom : adresse auteur
• Définition : « nom de la ville dans laquelle réside l’auteur »
• Une structure (atomique ou composé, monovalué ou multivalué) : atomique
et monovalué
• Un domaine de définition : chaîne de caractères
• Attribut obligatoire ou facultatif : facultatif
4. C.I. :
• Nom : C.I. existence d’un mariage
• Les éléments que fait intervenir la C.I. : Association mariage, attributs âge et
sexe de l’entité personne
• Assertion (expression de la C.I.) : Une occurrence de l’association mariage ne
peut exister entre deux personnes p1 et p2 que si âgep1, âgep2 ≥ 18 et
sexep1 ≠ sexep2
Réda DEHAK 41
Validation du schéma E/A
Réda DEHAK 42
2. Cohérence du schéma
spécialité
Est inscrit (0,N) Inscritption
étudiant organisation
suit (1,N)
(0,N)
suivre
cours
Réda DEHAK 44
3. Mise sous forme canonique
Réda DEHAK 45
3. Mise sous forme canonique
Réda DEHAK 46
a) Unicité des noms absence
d’homonymes
• Chaque objet du schéma (entité, association, attribut,
rôle et C.I.) reçoit un nom unique.
Ø La présence d’homonymes :
Ø On a attribué le même nom à deux objets sémantiques
différents ⇒ Compléter ou changer le nom.
Ø On a modélisé deux fois le même objet sémantique ⇒
éliminer un des objets et restructurer le schéma.
Ø On tolère la présence d’homonymes pour les
associations ISA
Réda DEHAK 47
b) Absence de synonymes
Réda DEHAK 48
c) La clé doit être minimale
Exemple :
Réda DEHAK 49
c) La clé doit être minimale
Etudiant
n°carte, nom, prénoms, date naissance et adresses sont les attributs directs
d’Etudiant, qui a pour identifiant n°carte
Réda DEHAK 50
Exemples incorrects
La règle est contredite si un attribut dépend d'une partie
de l'identifiant ou d'un autre attribut non identifiant.
Etudiant
mauvais
No-carte nom-section directeur section nom étudiant
Etudiant
mauvais
Réda DEHAK 51
Normalisation
Processus de modification d'un schéma qui conduit à obtenir un
schéma offrant les propriétés désirées.
Etudiant
mauvais
No-carte nom-section directeur section nom étudiant
Etudiant
Correct !
No-carte section nom étudiant
ligne montant
Règle : Un attribut du ième niveau peut
seulement dépendre d'une combinaison
d'attributs du même niveau et de niveaux
supérieurs contigus.
Réda DEHAK 53
Dépendances entre TE
0:n 0:1
Labo Emploie Chercheur
1:n
mauvais
Projet
• Si tout projet n'est fait que par un seul labo, le schéma est
incorrect
Règle : un TA n-aire (n>2) avec une
dépendance entre ses TE doit être
décomposé
Réda DEHAK 54
Normalisation du TA: incorrect
mauvais
0:n 0:1
Labo Emploie Chercheur
0:n
Conduit
• Mauvaise décomposition du TA
1:1 ternaire incorrect en deux TA binaires
Projet • Cette décomposition n'est pas correcte
car elle induit une perte d'information
– on ne sait plus sur quel projet
travaille un chercheur !!
Réda DEHAK 55
Normalisation du TA: correct
Décomposition du TA ternaire
incorrect en deux TA binaires
Labo
sans perte d'information:
0:n un chercheur est employé par le
labo qui conduit le projet sur
Conduit lequel le chercheur travaille
1:1
1:n 0:1
Projet Emploie Chercheur
Réda DEHAK 56
3. Mise sous forme canonique
Réda DEHAK 57
d) Mise en évidence des attributs
dérivables
Réda DEHAK 58
e) Élimination de structures
redondantes
1. Attribut redondant avec une association:
1,1 0,N
numéro Sortie sort journal
est
sorti
par
Nom de journal Nom
Réda DEHAK 59
e) Élimination de structures
redondantes
2. Association sémantiquement redondante avec d’autres
associations :
publie
Editeur
Réda DEHAK 60
e) Élimination de structures
redondantes
3. Attention :
habite
Habitation localisation
héberge
pays
Réda DEHAK 61
f) Désagrégation d’une entité
personne
Code postal
1,1 0,N
personne Localisation localité
Est localisée localise
nom prénom
Réda DEHAK Code postal 63
f) Désagrégation d’une entité
3. Lorsqu’il y a des attributs prenant la valeur « inéxistante » en
fonction de la valeur des autres attributs.
hauteur
type ouvrage dimension
largeur
titre
auteur
N° édition ISBN ISSN périodicité
ouvrage titre
ISBN périodicité
ISA ISA
livre périodique
dimension
Réda DEHAK 66
g) TA ou TE : (TA->TE)
0:n 1:1
Personne Assure Voiture
0:n 1:1
Personne Souscrit Contrat
Réda DEHAK
numéro type 67
g) TA ou TE : (TA->TE)
Jusqu’a
depuis
mauvais
Employe travailler Service
1,n 0,n
Réda DEHAK 68
g) TA ou TE : (TA->TE)
Jusqu’a
depuis
durée
Réda DEHAK 69
g) TA ou aggrégation
0,n
Jusqu’a dirige Employe
1,1
Réda DEHAK 70
g) TA ou aggrégation
Jusqu’a Employe
depuis
0,n
Réda DEHAK 71
h) Validation des attributs d’un TA
0,n 0,n
Etudiant Evaluation Matière
Réda DEHAK 73
i) Remplacement d’un attribut par un TA
mauvais
Employé Service
1:1 0:n
Employé Travaille Service
0:1
Règle de remplacement
Réda DEHAK 74
Élimination des TE inutiles
Un TE est inutile s'il ne présente d'intérêt
pour aucun traitement de l'application
1,1
Employé Travaille Service
Réda DEHAK 76
Conclusions
Réda DEHAK 77