Académique Documents
Professionnel Documents
Culture Documents
Modélisation
‘ Entité/ Association
’
✓ Le modèle E/A est un formalisme graphique pour la modélisation de données.
✓ Succès dus à :
➢ Langage graphique
➢ Concepts simples :
Entité :
•
•
‘ Entité/ Association
’
"une chose" qui existe et qui peut être distinguée de façon unique.
abstraite ou concrète
Exemple :
Attribut :
• propriété d’une entité.
‘ Entité/ Association
’
• prend des valeurs simples, par exemple entiers ou chaînes de caractères (domaine d'attribut)
Exemple :
✓ Id_Personne
✓ Nom
Entité ✓ Prénom Attributs
✓ Age
✓ Adresse
✓ NumTél
Personne Pr. Imad Zeroual 7
Conception de BD
Entité-Associations
Exemple 1 :
✓ Id_Personne
✓ Nom
Entité ✓ Prénom Attributs
✓ Age
✓ Adresse
✓ NumTél
Personne Pr. Imad Zeroual 8
Conception de BD
Entité-Associations
Exemple 2 :
Identifiant
✓ Code_module
✓ Nom_Filière
Entité Attributs
✓ Titre_cours
✓ Date
Il y a qu'une seule clé primaire par
table. Par contre, il est possible de
✓ Local
créer une clé primaire à partir de deux
Examen champs ou plus. d'une table. Pr. Imad Zeroual
9
Conception de BD
Entité-Associations
Association (Relation) :
•
‘ Entité/ Association
C’est un lien entre deux ou plusieurs entités. ’
Exemple : une personne achète un produit.
Entités
Achète
Association (Relation) :
•
‘ Entité/ Association
C’est un lien entre deux ou plusieurs entités. ’
Degré d’une Association
Exemple :
Si K est le degré d’une association :
Association (Relation) :
•
‘ Entité/ Association
C’est un lien entre deux ou plusieurs entités. ’
Degré d’une Association
Exemple :
Si K est le degré d’une association :
✓ K = 2 : relation binaire
Personne Passport
CIN Possède Num_Pass
A R B Nom
Prénom
Date_emission
Province
Association (Relation) :
•
‘ Entité/ Association
C’est un lien entre deux ou plusieurs entités. ’
Degré d’une Association
Exemple :
Local
Si K est le degré d’une association :
Num_Local
✓ K = 3 : relation ternaire Nom
Capacité
A R B Professeur Module
CIN Enseigner Code_Module
Nom Titre
Prénom
C Semestre
Nom_Auteur Titre
Id_livre
Id_Auteur
1,n 1,1
Auteur Écrire Livre
Pénom_Auteur
Année_Édition
Adresse_Auteur
Ex-1 :
‘ Pratique
’
Proposer un diagramme du modèle Entité-Association représentant la relation entre Personne, Voiture, et Fabricant ?
0,n 0,1
Personne Possède Voiture
Id_Personne
Carburant
Fabricant
Id_Fabricant
Ex-2 :
‘ Pratique
À partir de ce diagramme, répondre aux questions suivantes :
’
Auteur
Livre
1,n 1,1
IdAuteur Écrit
1. Est-il possible d’avoir des auteurs homonymes ? NumLivre
Nom
Titre
Prénom
1,1
Édite
Réponse :
1,n
Oui, car le nom n’identifie pas les Dépôt
auteurs. Il peut donc y avoir des Éditeur
Num_Dépôt
homonymes. Nom IdÉditeur
Adresse Nom
Ex-2 :
‘
Pratique
À partir de ce diagramme, répondre aux questions suivantes :
’
Auteur
Livre
1,n 1,1
IdAuteur Écrit NumLivre
2. Un auteur peut-il écrit plusieurs livre ? Nom
Titre
Prénom
1,1
Édite
Réponse :
1,n
Dépôt
Oui, il peut le faire car sa cardinalité Éditeur
maximale vaut n. Num_Dépôt
Nom IdÉditeur
Adresse Nom
Ex-2 :
‘ Pratique
À partir de ce diagramme, répondre aux questions suivantes :
’
Auteur
Livre
1,n 1,1
IdAuteur Écrit NumLivre
3. Un livre peut-il correspondre à plusieurs auteurs ? Nom
Titre
Prénom
1,1
Édite
Réponse :
1,n
Dépôt
Non, chaque livre correspond à un et Éditeur
un seule auteur, car sa cardinalité Num_Dépôt
minimale et maximale valent 1. Nom IdÉditeur
Adresse Nom
Ex-2 :
‘ Pratique
À partir de ce diagramme, répondre aux questions suivantes :
’
Auteur
Livre
1,n 1,1
IdAuteur Écrit NumLivre
Nom
4. Est-il possible qu'un éditeur ne publie aucun livre ? Titre
Prénom
1,1
Édite
Réponse :
1,n
Non, chaque éditeur a publié au Dépôt
moins un livre, car sa cardinalité Éditeur
Num_Dépôt
minimale prend la valeur 1. Nom IdÉditeur
Adresse Nom
Ex-2 :
‘ Pratique
À partir de ce diagramme, répondre aux questions suivantes :
’
Auteur
Livre
1,n 1,1
IdAuteur Écrit NumLivre
Nom
5. Est-il possible de stocker un livre dans plusieurs dépôts ? Titre
Prénom
1,1
Édite
Réponse :
1,n
Oui, il peut le faire car sa cardinalité Dépôt
maximale vaut n. Éditeur
Num_Dépôt
Nom IdÉditeur
Adresse Nom
Ex-2 :
‘ Pratique
À partir de ce diagramme, répondre aux questions suivantes :
’
Auteur
Livre
1,n 1,1
IdAuteur Écrit NumLivre
6. Est-il possible qu’un dépôt peut être utilisé par de Nom
Titre
nombreux éditeurs ? Prénom
1,1
Édite
Réponse :
1,n
Dépôt
Oui, un dépôt peut être utilisé par de
Éditeur
nombreux éditeurs, car sa cardinalité Num_Dépôt
maximale vaut n. Nom IdÉditeur
Adresse Nom
Table normalisée
‘Normalisation’
La normalisation est un algorithme qui consiste de partir d'une table
universelle composée de la totalité des attributs pour avoir
Table universelle
plusieurs tables.
Table normalisée
Formes normales :
‘Normalisation’
✓ Les formes normales s’appliquent aux entités et aux associations.
Entités
Achète
Association
Personne Produit
✓ Elles ont pour objectif de vérifier la non redondance de l’information dans le modèle et de
proposer les transformations applicables sans perte d’informations.
Pr. Imad Zeroual 24
Conception de BD
Normalisation
Formes normales :
‘Normalisation’
✓ Les FN s’emboîtent les unes dans les autres, ce qui
6FN
FNDC
signifie que le respect d’une forme normale de niveau
supérieur implique le respect des formes normales 5FN
des niveaux inférieurs. 4FN
FNBC
3FN
✓ Dans le modèle relationnel, il existe huit FN, mais les 2FN
quatre premières formes, qui seront au centre de ce
1FN
cours, étant les plus formes connues et utilisées.
‘Normalisation’
Une relation (Table) est en 1ère forme normale si :
✓ Tous ses attributs sont atomiques : ils ne sont pas des propriétés répétitives ou décomposables.
‘Normalisation’
Processus de mise en 1ère forme normale :
Exemple :
+
Nom 1ère forme normale CNE IdUniv
Prénom Nom Nom
Age Prénom Adresse
Université Age Ville
Code_Postal
Pr. Imad Zeroual 27
Conception de BD
Normalisation
‘Normalisation’
Une relation est en 2ème forme normale :
✓ La table possède une clé élémentaire (formée à partir d'un seul attribut ) ;
✓ Si la table possède une clé composée, les autres attributs doit dépendre de la totalité de cette clé.
Exemple :
2FN 2FN 2FN 2FN
‘Normalisation’
Processus de mise en 2ème forme normale :
✓ Regrouper dans une nouvelle table les champs dépendants d'une partie de la clé, et faire cette
partie la clé primaire de la nouvelle table.
Exemple :
Location
Employé Employé
Location Profession
Appartement
+
Id_Locataire
Nom 2ème forme normale Nom
Id_Locataire IdProfession
IdAppartement
IdAppartement
IdProfession IdProfession
IdAppartement Salaire
AdresseAppartement
Montant
NumBureau NumBureau
Montant
AdresseAppartement
Salaire
‘Normalisation’
Une relation est en 3ème forme normale :
✓ Tous les attributs dépendent directement de la clé et pas d’autres attributs (pas de transitivité).
‘Normalisation’
Processus de mise en 3ème forme normale :
✓ Regrouper dans une nouvelle table les attributs dépendants transitivement de la clé. L’attribut de
transition reste dupliqué dans la table initiale, et devient la clé primaire de la nouvelle table.
Exemple :
Appartement
Etudiant Appartement
Etudiant Propriétaire
Faculté
+
IdAptCNE 3ème forme normale IdApt
CNE CIN_Propriétaire
Nom_Faculté
AdresseApt
Nom AdresseApt
Nom Age_Propriétaire
Adr_Faculté
CIN_Propriétaire
Nom_Faculté CIN_Propriétaire
Nom_Faculté
Age_Propriétaire
Adr_Faculté
‘Normalisation’
Une relation est en forme normale de Boyce-Codd (BCFN) :
✓ Tout attribut qui appartient à la clé ne dépend pas à l’un des autres attributs.
Exemple :
BCFN BCFN
BCFN BCFN 3FN 3FN
‘Normalisation’
Processus de mise en forme normale de Boyce-Codd (BCFN) :
✓ Conserver dans la table initiale tout attribut n'est pas source d'une Dépendance Fonctionnelle
(DF) vers une partie de la clé.
✓ Remplacer dans la table initiale la partie de la clé par son attribut source d'une DF.
✓ Regrouper dans une nouvelle table la partie de la clé et son attribut source d'une DF, et faire
cette dernière la clé primaire de la nouvelle table.
Exemple :
Personne
Faculté Faculté
Personne Diplôme
Ville
+
Nom_Faculté
CIN BCFN Nom_Faculté
CIN Nom_Diplôme
Ville
Nom_Dept
Région Nom_Diplôme
Ville Nom_Dept
Région
Adresse
Nom Adresse
Nom
Nom_Diplôme
Ville
Pr. Imad Zeroual 33
Conception de BD
Normalisation
‘ Pratique
’
Soit le schéma relationnel donné ci-dessous d’une base de données pour une établissement universitaire :
Département (CNE, Note, Filière, Module, Num_Prof, Nom_Prof, Nom_Etud, Nb-h)
Réponse :
1. Les dépendances fonctionnelles :
• CNE → Nom_Etud, Filière
• Num-Prof → Nom_Prof
• Module → Nb-h
• CNE, Module → Note
• Filière, Module → Num_Prof, Nom_Prof
‘
Pratique
’
Soit le schéma relationnel donné ci-dessous d’une base de données pour une établissement universitaire :
Département (CNE, Note, Filière, Module, Num_Prof, Nom_Prof, Nom_Etud, Nb-h)
Réponse :
1. Les dépendances fonctionnelles : 2. La clé :