Bases de Données
Pr. Imad Zeroual
Faculté des Sciences et Techniques – Errachidia / 2021-2022
Conception de BD 02
Entité-Associations, Normalisation.
Conception de BD
Entité-Associations
Admin BD Système d’information
Modélisation
Pr. Imad Zeroual 3
Conception de BD
Entité-Associations
‘ Modélisation des données
’
La modélisation des données est l'analyse et la conception de l'information contenue dans le
système d'information.
Pour construire une base de données, il faut :
1. Construire un schéma conceptuel, modélisé sous forme d’entités et d’associations ;
2. transformer le schéma E/A en schéma relationnel ;
3. Mettre en œuvre via un SGBD.
Pr. Imad Zeroual 4
Conception de BD
Entité-Associations
‘ Entité/ Association
’
✓ Le modèle E/A est un formalisme graphique pour la modélisation de données.
✓ Origine : Travaux de Peter Chen, 1976, USA.
✓ Succès dus à :
➢ Langage graphique
➢ Concepts simples :
▪ Choses (objets) → entités
▪ Liens entre les choses (objets) → association
▪ Regroupement des choses de même nature : classes d’entités, classes d’association.
Pr. Imad Zeroual 5
Conception de BD
Entité-Associations
Entité :
•
•
‘ Entité/ Association
’
"une chose" qui existe et qui peut être distinguée de façon unique.
abstraite ou concrète
Exemple :
Personne Voiture Produit Pr. Imad Zeroual 6
Conception de BD
Entité-Associations
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
Identifiant / Clé primaire :
•
‘ Entité/ Association
’
C’est la propriété qui identifie de façon unique chaque occurrence d’entité.
– Ex.: CNE , CIN
Exemple 1 :
✓ Id_Personne
✓ Nom
Entité ✓ Prénom Attributs
✓ Age
✓ Adresse
✓ NumTél
Personne Pr. Imad Zeroual 8
Conception de BD
Entité-Associations
Identifiant / Clé primaire :
•
‘ Entité/ Association
’
C’est la propriété qui identifie de façon unique chaque occurrence d’entité.
– Ex.: CNE , CIN
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
Personne Produit Pr. Imad Zeroual 10
Conception de BD
Entité-Associations
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 = 1 : relation unaire (ou récursive)
Personne
CIN Être parent
Nom
R E Prénom
Pr. Imad Zeroual 11
Conception de BD
Entité-Associations
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
Pr. Imad Zeroual 12
Conception de BD
Entité-Associations
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
Pr. Imad Zeroual 13
Conception de BD
Entité-Associations
Cardinalité : ‘ Entité/ Association
▪ Mesure le degré de participation de l’entité à l’association. ’
Sens de lecture
▪ Nous avons 4 possibilités :
Exemple :
o 0,1 : au moins zéro, au plus 1
1 4
o 0,n : au moins zéro, au plus n Client 3 2 Produit
o 1,1 : au moins 1, au plus 1 CodeClient 1,n 0,n Num_Produit
Achète
o 1,n : au moins 1, au plus n Nom Nom
Prénom 3 Désignation
▪ Cardinalités minimales : 0 et 1 Adresse 2 Fabricant
4 1
▪ Cardinalités maximales : 1 et n
✓ Un client achète un ou plusieurs produits.
✓ Un produit est acheté par aucun ou plusieurs client.
Pr. Imad Zeroual 14
Conception de BD
Entité-Associations
Résumé : ‘ Entité/ Association
’
Entités Attributs Identifiants Association Cardinalités
Nom_Auteur Titre
Id_livre
Id_Auteur
1,n 1,1
Auteur Écrire Livre
Pénom_Auteur
Année_Édition
Adresse_Auteur
Pr. Imad Zeroual 15
Conception de BD
Entité-Associations
Ex-1 :
‘ Pratique
’
Proposer un diagramme du modèle Entité-Association représentant la relation entre Personne, Voiture, et Fabricant ?
Prénom Num_Série Marque
Nom
0,n 0,1
Personne Possède Voiture
Id_Personne
Carburant
Fabricant
Id_Fabricant
Pr. Imad Zeroual 16
Conception de BD
Entité-Associations
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
Pr. Imad Zeroual 17
Conception de BD
Entité-Associations
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
Pr. Imad Zeroual 18
Conception de BD
Entité-Associations
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
Pr. Imad Zeroual 19
Conception de BD
Entité-Associations
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
Pr. Imad Zeroual 20
Conception de BD
Entité-Associations
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
Pr. Imad Zeroual 21
Conception de BD
Entité-Associations
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
Pr. Imad Zeroual 22
Conception de BD
Normalisation
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.
Cet algorithme de normalisation est constitué des étapes qui vérifient si
les tables sont dans états bien définies. Ces états s'appellent : les
formes normales.
Table normalisée
Pr. Imad Zeroual 23
Conception de BD
Normalisation
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.
Pr. Imad Zeroual 25
Conception de BD
Normalisation
‘Normalisation’
Une relation (Table) est en 1ère forme normale si :
✓ Elle possède au moins une clé ;
✓ Tous ses attributs sont atomiques : ils ne sont pas des propriétés répétitives ou décomposables.
La table Etudiant n’est pas en 1FN
Exemple :
Nom Prénom Age Université
Clé HASANI Khadija 18 Moulay Ismaîl, Marjane 2, Meknes 50050
Etudiant
Nom Tableau correspondant RAHIMI Rime 21 Moulay Ismaîl, Marjane 2, Meknes 50050
Prénom FATHI Khadija 19 Moulay Ismaîl, Marjane 2, Meknes 50050
Age
RAYES Achraf 20 Moulay Ismaîl, Marjane 2, Meknes 50050
Université
Atomiques
... ... ... ...
Pr. Imad Zeroual 26
Conception de BD
Normalisation
‘Normalisation’
Processus de mise en 1ère forme normale :
✓ Si la relation ne possède aucune clé, ajouter une ;
✓ Sortir les attributs non atomiques et les transformer en nouvelle table.
Exemple :
Etudiant Etudiant Université
+
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 soit déjà en 1ère 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
Personne Cours Employé Location
CIN Titre Nom Id_Locataire
Nom Filière IdProfession Id_Appartement
Prénom Horaire DF NumBureau DF Montant
Age Local Salaire AdresseAppartement
Pr. Imad Zeroual 28
Conception de BD
Normalisation
‘Normalisation’
Processus de mise en 2ème forme normale :
✓ Conserver dans la table initiale les attributs dépendants de la totalité de la clé.
✓ 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
Pr. Imad Zeroual 29
Conception de BD
Normalisation
‘Normalisation’
Une relation est en 3ème forme normale :
✓ La table soit déjà en 2ème forme normale ;
✓ Tous les attributs dépendent directement de la clé et pas d’autres attributs (pas de transitivité).
Exemple : 3FN 3FN
3FN 3FN 2FN 2FN
Personne Cours Etudiant Appartement
CIN Titre CNE IdApt
Nom Filière DF Nom DF AdresseApt
Prénom Horaire Nom_Faculté CIN_Propriétaire
DF DF
Age Local Adr_Faculté Age_Propriétaire
Pr. Imad Zeroual 30
Conception de BD
Normalisation
‘Normalisation’
Processus de mise en 3ème forme normale :
✓ Conserver dans la table initiale les attributs dépendants directement de la clé.
✓ 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é
Pr. Imad Zeroual 31
Conception de BD
Normalisation
‘Normalisation’
Une relation est en forme normale de Boyce-Codd (BCFN) :
✓ La table soit déjà en 3ème forme normale ;
✓ Tout attribut qui appartient à la clé ne dépend pas à l’un des autres attributs.
Exemple :
BCFN BCFN
BCFN BCFN 3FN 3FN
Personne Cours Personne Faculté
CIN Titre CIN Nom_Faculté
Nom Filière Région Nom_Dept
Prénom Horaire DF Nom DF Adresse
Age Local Ville Nom_Diplôme
Pr. Imad Zeroual 32
Conception de BD
Normalisation
‘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)
1. Déterminer les dépendances fonctionnelles possibles ?
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
Pr. Imad Zeroual 34
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)
2. Quelle est la clé de cette relation ?
Réponse :
1. Les dépendances fonctionnelles : 2. La clé :
• CNE → Nom_Etud, Filière CNE
• Num-Prof → Nom-Prof
Module
• Module → Nb-h
• CNE, Module → Note
• Filière, Module → Num_Prof, Nom_Prof
Pr. Imad Zeroual 35
Conception de BD
Normalisation
3. Mettre cette relation en 3FN ? DF
‘ Pratique
’ DF
Réponse :
Département (CNE, Module, Note, Filière, Num_Prof, NomProf, Nom_Etud, Nb-h)
1FN 2FN Clé Attributs Atomiques
▪ Etudiants (CNE, Nom_Etud, Filière) DF
• CNE → Nom-Etud, Filière ▪ Matières (Module, Nb-h)
• Module → Nb-h 3FN 2FN ▪ Département (CNE, Module, Note, Num_Prof, NomProf)
• Num-Prof → Nom-Prof ▪ Profs (Num_Prof, NomProf)
• CNE, Module → Note ▪ Département (CNE, Module, Note, Num_Prof)
Lorsque le nom de la relation n’est pas significatif, on peut le renommer.
Pr. Imad Zeroual 36
Conception de BD
Normalisation
3. Mettre cette relation en 3FN ?
‘Pratique
’
Réponse :
Département (CNE, Module, Note, Filière, Num_Prof, NomProf, Nom_Etud, Nb-h)
• CNE → Nom-Etud, Filière 3FN ▪ Etudiants (CNE, Nom_Etud, Filière)
• Module → Nb-h 3FN ▪ Matières (Module, Nb-h)
• Num-Prof → Nom-Prof 3FN ▪ Profs (Num_Prof, NomProf)
• CNE, Module → Note 3FN ▪ Examens (CNE, Module, Note, Num_Prof)
Pr. Imad Zeroual 37