Vous êtes sur la page 1sur 37

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

Vous aimerez peut-être aussi