0% ont trouvé ce document utile (0 vote)
24 vues77 pages

Modèle Relationnel et Contrainte SGBD

Transféré par

ibrahimasamba.diop
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
24 vues77 pages

Modèle Relationnel et Contrainte SGBD

Transféré par

ibrahimasamba.diop
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Réda DEHAK reda@[Link].

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)

Nom de la relation Nom des attributs

ETUDIANTS
Schéma Uid Nom Date_naiss Groupe

Population Attributs

uid Nom Date_naiss Groupe


12546 Toto 25/01/81 A1
Tuple ou
occurence 24323 Tata 23/04/80 C1
43587 Titi 20/09/80 A2

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

Etudiants Uid Nom Date_naiss Groupe


12546 Toto 25/01/81 A1
12528 Titi 20/09/80 C1
24323 Tata NULL C1
43587 Titi 20/09/80 A2

Etudiants Nom Uid Groupe Date_naiss


Toto 12546 A1 25/01/81
Titi 43587 A2 20/09/80
Tata 24323 C1 NULL
Titi 12528 C1 20/09/80
Réda DEHAK 5
Schéma relationnel

• Base de données relationnelle : Un ensemble de


relations.
• Schéma d’une BD relationnelle : Un ensemble de
schémas de relations.
• Schéma d’une Relation : spécifie le nom de la
relation ainsi que le nom et le type de chaque attribut.
R(A1:D1, A2:D2, …, An:Dn)
– ETUDIANT(Uid:integer, Nom:string, Date_naiss:date,
Groupe:char(2))
ou
– ETUDIANT(Uid, Nom, Date_naiss, Groupe)
Réda DEHAK 6
Définitions

Concepts Définition (Terme utilisé)


Relation Table
Attribut Colonne
Tuple Ligne
Domaine Valeur de la colonne
Schéma de la relation
Définition de la table
(Intension)
Extension Exemples de la table
Réda DEHAK 7
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 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

• Un attribut peut ne pas être renseigné pour un tuple : on


dit alors qu'il a une valeur nulle
– exemple : on ne connaît pas la date de naissance de Tata
Uid Nom Date_naiss Groupe

12546 Toto 25/01/81 A1

24323 Tata NULL C1

43587 Titi 20/09/80 A2

• 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.

Uid Nom Date_naiss Groupe


12546 Toto 25/01/81 A1
12528 Titi 20/09/80 C1
24323 Tata NULL C1
43587 Titi 20/09/80 A2

Réda DEHAK 11
Règle d'identification

• Si la propriété 2 n’est pas vérifiée, l’ensemble C est une


super clé (non minimale).
1. Clé primaire : une clé de la relation.
2. Clé candidate : clé non primaire.
Uid Nom ntel Groupe
12546 Toto 0145815665 A1
12528 Titi 0665891520 C1
24323 Tata 0153181634 C1
43587 Titi 0144080146 A2

• L’identifiant n’admet pas de valeurs nulles


Réda DEHAK 12
Identifiant externe(référence)
• Cours (NomC, Horaire, Prof)
NomC Horaire Prof
BDD 8h30 – 12h45 Réda
Compil 10h – 13h Akim
Math 14h – 17h Olivier

• Suit(Uid, NomC)
[Link] est un attribut clé
Uid NomC étrangère
12546 BDD
24323 Compil
24323 Algo ?

Réda DEHAK 13
Exemple

ETUDIANT(Uid, Login, Date_naiss, Groupe)


Groupe(Groupe, Nom_resp)

§ Uid : est la clé primaire de la relation ETUDIANT.


§ Login : est une clé candidate pour la relation
ETUDIANT
§ {Uid, Login} : est une super clé de la relation
ETUDIANT
§ [Link] : est une clé étrangère.
Réda DEHAK 14
Caractéristiques d’une
Relation
• Basées sur la théorie des ensembles :
Ø Pas d’ordre entre les attributs
Les SGBDs définissent un ordre des attributs
Ø Pas d’ordre entre les tuples
Les résultats de requêtes peuvent être triés
Ø Pas de tuples dupliqués
Les SGBDs autorisent les doubles
• Les valeurs d’attributs sont atomiques.
• Degré ou arité :
Nombre d’attributs
• Cardinalité :
Nombre de tuples
Réda DEHAK 15
Exemple
• ETUDIANTS(Uid: integer, Nom: string, Date_naiss: date, Groupe: char(2))
⊆ (integer x string x date x string)

Uid Nom Date_naiss Groupe

12546 Toto 25/01/81 A1

24323 Tata NULL C1

43587 Titi 20/09/80 A2

• Cardinalité (Nombre de tuples) = 3


• Arité, degré (Nombre d’attributs) = 4

Réda DEHAK 16
Autres types de contraintes

• Contrainte d’intégrité sémantique :


– Elles sont en relation avec la sémantique de l’application et on
ne peut pas les exprimer avec le modèle.
Exemple : La somme des heures de cours suivis par un
étudiant ne dépasse pas 20 heures
• Préciser dans un langage spécifique.
• SQL99 propose les triggers et les assertions pour
vérifier certaines 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

• Passage du modèle E/A vers le modèle relationnel :


– Transformer un type d’entité.
– Transformer les attributs multivalués.
– Transformer une entité faible.
– Transformer une association avec une cardinalité 1:1.
– Transformer une association sans cardinalité 1:1.
– Transformer une spécialisation.
– Eliminer les relations redondantes

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.

nss nom nomJF


prénom

Employe

EMPLOYE(NSS, Nom, NomJF, Prénom)

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

nss nom prénom


adresse rue

ville
Employe

EMPLOYE(NSS, Nom, Prénom, num, rue, ville)

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.

nss nom prénom


cours

diplômes
Etudiant

ETUDIANT(NSS, Nom, Prénom)


COURS(NSS, COURS)
DIPLOMES(NSS, DIPLOMES)
Réda DEHAK 22
Modèle E/A – Modèle Relationnel
Entité faible
• Créer une relation R pour chaque entité faible EF. Tous les attributs de l’entité
EF feront partie de la relation R.
• Rajouter en tant que clé étrangère la clé primaire de la relation correspondant à
(aux) l’entité(s) qui permet(ent) d’identifier l’entité EF.
• La clé primaire de R est composée de cette clé étrangère et de l’attribut clé
partielle de l’entité faible.
age

0,N
Personne Propriétaire Chien

prénom adresse nom


nom

PERSONNE(NOM, PRENOM, ADRESSE:string)


CHIEN(NOMP, PRENOMP, NOM, AGE:integer)
Réda DEHAK 23
Modèle E/A – Modèle Relationnel
association
• Pour chaque type d’association avec une ou plusieurs
cardinalités 1:1, rajouter les clés primaires des autres entités
dans le schéma de la relation R de l’entité qui joue le rôle de la
cardinalité 1:1.
• S’il y a des attributs pour cette association, ils seront rajoutés au
schéma R.
nss nom prenom sno snom budget
poste

Employe travailler Service


1,1 0,n

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

nss nom prenom durée sno snom


budget
0,n poste

Employe travailler Service


1,n 0,n
EMPLOYE(NSS, NOM, PRENOM)
SERVICE(SNO, SNOM, BUDGET)
DUREE(DEPUIS, JUSQUA)
TRAVAILLER(NSS, SNO, DEPUIS, JUSQUA, poste)
Réda DEHAK 25
Modèle E/A – Modèle Relationnel
association

nprod nom volume

est composé
produit compose
0,n
est composant
0,n

PRODUIT(NPROD, NOM, VOLUME)


COMPOSE(COMPOSE, COMPOSANT)

Réda DEHAK 26
Modèle E/A – Modèle Relationnel
Agrégation
ssn nom prénom

Jusqu’a travailler 0,n


Employe
0,n

depuis snom sno


nproj pdebut pbudget budget

sponsorisé par sponsorise


Projet sponsors Service
1,n 0,n

PROJET(NPROJ, PDEBUT, PBUDGET)


SERVICE(SNO, SNOM, BUDGET)
EMPLOYE(SSN, NOM, PRENOM)
SPONSORS(NPROJ, SNO, DEPUIS)
TRAVAILLER(SSN, NPROJ, SNO, JUSQUA)
Réda DEHAK 27
Modèle E/A – Modèle Relationnel
Agrégation
ssn nom prénom

Jusqu’a dirige 0,n


Employe
0,1

depuis snom sno


nproj pdebut pbudget budget

sponsorisé par sponsorise


Projet sponsors Service
1,n 0,n

PROJET(NPROJ, PDEBUT, PBUDGET)


SERVICE(SNO, SNOM, BUDGET)
EMPLOYE(SSN, NOM, PRENOM)
SPONSORS(NPROJ, SNO, DEPUIS, SSN, JUSQUA)
Réda DEHAK 28
Modèle E/A – Modèle Relationnel
Spécialisation
nom Adresse
• Différentes approches : N°
Salaire
a) Cas général : (E/A)

EMPLOYE(N, NOM, ADRESSE, SALAIRE) Employé


INGENIEUR(N, PROJET, BUREAU)
SECRETAIRE(N, BUREAU, SPECIALITE)
VENDEUR(N, REGION, VOITURE)
isa

Ingénieur Secrétaire Vendeur

Projet Spécialit Voiture


Bureau Bureau Région
é

Réda DEHAK 29
Modèle E/A – Modèle Relationnel
e) Spécialisation
nom Adresse
• Différentes approches : N°
b) (OO) Salaire

EMPLOYE(N, NOM, ADRESSE, SALAIRE)


Employé
INGENIEUR(N, NOM, ADRESSE, SALAIRE, PROJET, BUREAU)
SECRETAIRE(N, NOM, ADRESSE, SALAIRE, BUREAU, SPECIALITE)
VENDEUR(N, NOM, ADRESSE, SALAIRE, REGION, VOITURE)
isa

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

EMPLOYE(N, NOM, ADRESSE, SALAIRE, PROJET, BUREAU, Employé


BUREAU, SPECIALITE, REGION, VOITURE)

isa

Ingénieur Secrétaire Vendeur

Projet Spécialit Voiture


Bureau Bureau Région
é

Réda DEHAK 31
Plan

• Passage du modèle E/A vers le modèle relationnel :


– Transformer un type d’entité.
– Transformer les attributs multivalués.
– Transformer une entité faible.
– Transformer une association avec une cardinalité 1:1.
– Transformer une association sans cardinalité 1:1.
– Transformer une spécialisation.
– Eliminer les relations redondantes

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

AUTEUR EDITEUR (1,1)


(1,1)
EN CHEF NUMERO
Nom
Nom
Prénom N°
Prénom
Adresse Date
Date de naissance
(0,n)
(1,n) ARTICLE
(1,1) Titre (1,n)
RÉDACTION PARUTION
Résumé
Réda DEHAK 33
Diagramme E/A
EDITEUR
Nom Ed (1,n)
EDITER
Adresse
(1,1)

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

• Voir Exemple avion avec sybase powerAMC

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

• Syntaxique: respect des règles du modèle


• Par confrontation aux dépendances:
– règles de normalisation
• Par jeu d'essai
• Complétude par rapport aux traitements
• Par les utilisateurs
Règles à connaître et à appliquer !!!

Réda DEHAK 38
Validation du schéma E/A

1. Vérifier la complétude du schéma.


2. Vérifier la cohérence du schéma (Absence de
contradictions).
3. Mise sous forme canonique du schéma (la
forme canonique possède des propriétés très
intéressantes pour les bases de données).

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

1. Vérifier la complétude du schéma.


2. Vérifier la cohérence du schéma (Absence de
contradictions).
3. Mise sous forme canonique du schéma (la
forme canonique possède des propriétés très
intéressantes pour les bases de données).

Réda DEHAK 42
2. Cohérence du schéma

• Pas d’approche systématique.

spécialité
Est inscrit (0,N) Inscritption

étudiant organisation

suit (1,N)
(0,N)
suivre

cours

Avec la contrainte, « un étudiant ne peut pas suivre des cours


que s’il est inscrit à une spécialité »
Réda DEHAK 43
Validation du schéma E/A

1. Vérifier la complétude du schéma.


2. Vérifier la cohérence du schéma (Absence de
contradictions).
3. Mise sous forme canonique du schéma (la
forme canonique possède des propriétés très
intéressantes pour les bases de données).

Réda DEHAK 44
3. Mise sous forme canonique

• Production d’un schéma aussi significatif que


possible.
• Production d’un schéma stable (limite les besoins
de restructuration de la base lors de l’introduisant
de nouveaux types (entités ou associations).
• Éviter les anomalies de mise à jour de la base.
Objectifs :
1. Élimination ou contrôle de la redondance.
2. Élimination des ambiguïtés

Réda DEHAK 45
3. Mise sous forme canonique

a) Unicité des noms, absence d’homonymes


b) Absence de synonymes
c) La clé doit être minimale
d) Mise en évidence des attributs dérivables
e) Élimination de structures redondantes
f) Désagrégation d’une entité
g) TA ou TE
h) Validation des attributs d’un TA

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

• Deux objets sémantiquement équivalents se


retrouvent dans le schéma sous des noms
différents ⇒ éliminer un des objets et
restructurer le schéma.

Réda DEHAK 48
c) La clé doit être minimale

• Si la clé d’une entité ou d’une association est constitué


d’un groupe d’attributs et/ou rôles, alors il n’existe pas
au sein de ce groupe un sous-groupe qui forme une clé.

Exemple :

nss Etudiant cours

nom prénom spécialité

Réda DEHAK 49
c) La clé doit être minimale
Etudiant

Nss nom prénoms date naissance adresses

jour mois année no rue ville code postal

Règle : dans un TE valide, tous les attributs directs


(simples et complexes) dépendent uniquement de
chaque identifiant entier du TE (TA).

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

No-carte nom-section directeur section nom étudiant

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

nom nom directeur


Réda DEHAK 52
Validation / attributs complexes
Laboratoire

nomLab directeur chercheurs

nomC adresse dateentrée %temps projets

nomP budget description

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

a) Unicité des noms, absence d’homonymes


b) Absence de synonymes
c) La clé doit être minimale
d) Mise en évidence des attributs dérivables
e) Élimination de structures redondantes
f) Désagrégation d’une entité
g) TA ou TE
h) Validation des attributs d’un TA

Réda DEHAK 57
d) Mise en évidence des attributs
dérivables

• Un attribut est dérivable si sa valeur peut être


calculée à partir de la valeur d’autres attributs.
Exemples : total, moyenne, écart-type, …

⇒ Exprimer la règle de calcul sous forme d’une


C.I.

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 :

Auteur Ecriture Livre

est publié chez


publication Editer

publie
Editeur

Réda DEHAK 60
e) Élimination de structures
redondantes
3. Attention :

Personne travaille entreprise

habite
Habitation localisation

héberge
pays

Réda DEHAK 61
f) Désagrégation d’une entité

1. Une entité est désagrégeable losqu’au moins un de ses


attributs exprime un objet de la réalité perçue
représentable sous la forme d’une association ou d’une
entité.
Nom cours
nss Etudiant cours
L’existence d’un attribut répétitif ou composé est souvent
Note cours
l’indice
nom d’une imbrication
prénom non contrôlée de structure.
spécialité

nss Etudiant Cours suivi Cours

nom prénom spécialité Nom cours


Réda DEHAK
Note cours 62
f) Désagrégation d’une entité

2. Lorsqu’il y a d’autres Dépendances entre attributs que


celles entre la clé et les attributs non clé.

personne
Code postal

nom prénom localité

Avec la Dépendance : code postal localité


localité

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é

Si l’ouvrage est de type livre :


• ISSN et périodicité prennent une valeur inexistante.
Si l’ouvrage est de type revue :
• ISBN, auteur, n°édition, hauteur et largeur prennent une valeur inexistante.
Réda DEHAK 64
f) Désagrégation d’une entité

ouvrage titre

ISBN périodicité
ISA ISA

livre périodique
dimension

auteur N° édition hauteur largeur


ISSN
Réda DEHAK 65
3. Mise sous forme canonique

a) Unicité des noms, absence d’homonymes


b) Absence de synonymes
c) La clé doit être minimale
d) Mise en évidence des attributs dérivables
e) Élimination de structures redondantes
f) Désagrégation d’une entité
g) TA ou TE
h) Validation des attributs d’un TA

Réda DEHAK 66
g) TA ou TE : (TA->TE)
0:n 1:1
Personne Assure Voiture

nom adresse échéance No-contrat Fauxtype


numéro

0:n 1:1
Personne Souscrit Contrat

nom adresse No-contrat échéance


1:1
1:1
Voiture Objet

Réda DEHAK
numéro type 67
g) TA ou TE : (TA->TE)

Jusqu’a
depuis

nss nom prenom snom sno budget

mauvais
Employe travailler Service
1,n 0,n

Réda DEHAK 68
g) TA ou TE : (TA->TE)

Jusqu’a
depuis

durée

nss nom prenom snom sno budget

Employe travailler Service


1,n 0,n

Réda DEHAK 69
g) TA ou aggrégation

ssn nom prénom

0,n
Jusqu’a dirige Employe

1,1

depuis snom sno


nproj pdebut pbudget budget

sponsorisé par sponsorise


Projet sponsors Service
1,n 0,n

Réda DEHAK 70
g) TA ou aggrégation

ssn nom prénom

Jusqu’a Employe
depuis
0,n

nproj pdebut pbudget snom sno budget

sponsorisé par sponsorise


Projet sponsors Service
1,n 0,n

Réda DEHAK 71
h) Validation des attributs d’un TA

0,n 0,n
Etudiant Evaluation Matière

No-carte nom moyenne notes No-Mat coefficient

Règle : dans un TA sans dépendance entre les TEs


liés, les attributs du TA dépendent de tous les TE
liés par ce TA.

(No-carte,No-Mat) à moyenne, notes


Réda DEHAK 72
h) Validation des attributs d’un TA
0:n Contrôle 0:n
Etudiant Enseignant
0:n
No-carte notes coef Nom

Si Coef = fonction du Cours mauvais


nombre d'heures assurées
par l'enseignant dans ce Nom Cours
cours.
0:n 0:n
Etudiant Contrôle Enseignant

Alors Coef ne 0:n


No-carte notes Nom 1:n
dépend pas 1:n
Cours
d’Etudiant Assure
correct
Nom Cours coef

Réda DEHAK 73
i) Remplacement d’un attribut par un TA

mauvais
Employé Service

No-emp …. no-service no étage nom

1:1 0:n
Employé Travaille Service
0:1

No-emp …. no étage nom

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

No-emp …. no étage nom

Employé Si il n'existe pas pas de


requête portant
directement sur les
No-emp …. service services, Services est
transformé en attribut.
Réda DEHAK
no étage nom 75
Exercice : Généalogie

Proposer un diagramme entité-association


pour une base de données décrivant un arbre
généalogique. Pour chaque individu on désire: son
nom, ses prénoms, son sexe, sa date et son lieu de
naissance (et éventuellement de décès), ses parents
(la mère et le père), ses enfants et l'historique de
ses mariages: date, lieu, nom et prénoms du
conjoint (avec éventuellement la date de décès), et
s’il y a lieu le divorce (date, lieu).

Réda DEHAK 76
Conclusions

1. Le modèle E/A est un outil très simple pour la


modélisation des bases de données
2. Passage automatique vers le modèle relationnel
3. Les Formes normales sont beaucoup plus faciles à
comprendre dans le modèle E/A

Réda DEHAK 77

Vous aimerez peut-être aussi