Vous êtes sur la page 1sur 13

Chapitre 2

Conception bases de données et modèle entité-association


1. Conception bases de donnée

Créer une base de données est une tâche complexe qui inclut la conception du schéma de la base de
données, la conception des programmes qui accèdent et mettent à jour cette base de données et la
prise en compte des autorisations d’accès (entre autres.)
Le processus de création d’une base de données passe par quatre phases :
- Spécification des besoins
- Traduction des besoins en concepts dans un modèle conceptuel (type entité-
association)
- Traduction du modèle conceptuel en modèle logique (typiquement le modèle
relationnel)
- Conception physique (organisation des fichiers et index)

Exemple de problème :
- Une entreprise est structurée en départements. Chaque département a un nom unique,
un numéro unique et un employé qui dirige ce département. On sauvegarde la date de
nomination de cet employé en tant que chef de département. Un département peut
avoir plusieurs localisations géographiques.
- Un département contrôle un ensemble de projets. Un projet a un nom unique, un
numéro unique et une seule localisation.
- Pour chaque employé, on enregistre le nom, le matricule, l’adresse, le salaire, le sexe et
la date de naissance. Un employé est affecté à un département. Il travaille sur des
projets pas nécessairement contrôlé par son département d’attache. On enregistre pour
chaque employé, le nombre d’heures hebdomadaires travaillées pour un projet donné.
On enregistre également le superviseur immédiat de cet employé (lui-même employé)
- On garde la trace des enfants de l’employé (pour les allocations familiales). Pour chaque
enfant, on enregistre le prénom, le sexe et la date de naissance.
Extrait du diagramme Entité Association de l’exemple ENTREPRISE :

BD/FS Tétouan/2022-2023 6
2. Le modèle entité association
Le modèle entité-association décrit les données sous forme d’entités, d’associations et d’attributs

2.1. Les entités et les attributs

2.1.1. Définition
- Une entité est une « chose » ou un « objet » du monde réel qui a une existence
autonome.
- Une entité peut avoir une existence physique (Etudiant, voiture, maison) ou une
existence conceptuelle (module, projet).
- Chaque entité a des attributs ; les propriétés qui la décrivent. Par exemple, une entité
EMPLOYE est décrite par un nom, un âge, une adresse, un salaire et une fonction.
La figure 2.1 est un exemple d’une entité « personne ».

Figure 2.1 : Exemple d’entité

2.1.2. Attributs atomiques et attributs composés


- Les attributs peuvent être atomiques (simples) ou composées.
- Les attributs composés peuvent être subdivisés en parties plus simples (figure 2.2)

Figure 2.2. : Attribut composé

2.1.3. Attributs monovalués et multivalués


- Attribut monovlaué : prend une seule valeur pour une entité donnée
o L’âge d’un employé
- Attribut multivalué : peut prendre un ensemble de valeurs pour une entité
o Couleurs d’une voiture
NB : Les attributs multivalués et composés peuvent s’imbriquer et former des attributs complexes

2.1.4. Attributs de base et attributs calculés


- Deux ou plusieurs attributs d’une entité peuvent être liés. L’âge et la date de naissance par
exemple. La valeur de l’attribut age peut être dérivée de la valeur de l’attribut date de
naissance.
- Dans ce cas date de naissance est un attribut de base, age est un attribut calculé

BD/FS Tétouan/2022-2023 7
2.1.5. Valeurs NULL
- Dans certains cas, des valeurs d’attributs ne s’appliquent pas à des entités - Un employé
qui n’a pas de diplôme -, ou ne sont pas connues – un employé dont on ignore le numéro
de téléphone-.
- Dans ces cas une valeur spéciale NULL est affectée à ces attributs.

2.1.6. Type d’entité


Souvent, des entités se partagent les mêmes attributs. Mais, chaque entité a ses propres valeurs
pour chaque attribut. C’est le cas par exemple des entités qui représentent les employés d’une
entreprise.
- Un type d’entité définit une collection d’entités qui ont les mêmes attributs. Un type
d’entité est décrit par son nom et la liste de ses attributs.
- Le type d’entité décrit le schéma ou l’intension. Les entités de même schéma forment
l’extension.
Exemple :
- Nom type entité : EMPLOYE
- Attributs type entité : Nom, age, salaire
Extension
e1 : Rachid Alaoui, 28, 9700
e2: Hassan Najjari, 37, 8500
e3: Kamal Aissaoui, 42, 12320

2.1.7. Clé d’un type d’entité


- Un type d’entité a généralement un ou plusieurs attributs dont les valeurs sont distinctes
pour toutes les entités de l’extension de l’entité-type
- Cet attribut ou groupe d’attribut est appelé clé.
- Par exemple, l’attribut matricule est une clé pour le type d’entité VOITURE. Deux entités
VOITURE ne peuvent pas avoir la même valeur pour l’attribut matricule (figure 2.3).
- L’unicité de la « valeur » de la clé doit être vérifiée pour toute extension du type d’entité.
- Certains types d’entités ont plus d’une clé.

Figure 2.3. : Type Entité « VOITURE »

VOITURE
Matricule, Année, Marque, couleurs
voiture1
((44,B25320),2005,Renault,{blanc,noir})
voiture2
((32,A56230),2010,Ford,{rouge,bleu})

BD/FS Tétouan/2022-2023 8
2.1.8. Domaines d’attributs
- Chaque attribut simple d’une entité est associé à un ensemble de valeurs (domaine) qui
spécifie toutes les valeurs possibles pour cet attribut.
- Par exemple, le domaine de l’âge d’un employé est un entier entre 18 et 65.
En reprenant l’exemple de la section 1, on peut proposer le modèle de la figure 2.4. :
- Une entreprise est structurée en départements. Chaque département a un nom unique,
un numéro unique et un employé qui dirige ce département. On garde la date de
nomination de cet employé en tant que chef de département. Un département peut
avoir plusieurs localisations géographiques.
- Un département contrôle un ensemble de projets. Un projet a un nom unique, un
numéro unique et une seule localisation.
- Pour chaque employé, on enregistre le nom, le matricule, l’adresse, le salaire, le sexe et
la date de naissance. Un employé est affecté à un département. Il travaille sur des projets
pas nécessairement contrôlé par son département d’attache. On enregistre pour chaque
employé, le nombre d’heures hebdomadaires travaillées pour un projet donné. On
enregistre également le superviseur immédiat de cet employé (lui-même employé)
- On garde la trace des enfants de l’employé (pour les allocations familiales). Pour chaque
enfant, on enregistre le prénom, le sexe et la date de naissance.

BD/FS Tétouan/2022-2023 9
Figure 2.4. : Types entités de l’exemple « Entreprise »

BD/FS Tétouan/2022-2023 10
2.2. Associations
- Une association-type R entre n types d’entités E1, E2,…, En définit un ensemble
d’associations entre ces entités.
- Les instances ri de l’association-type R relient n entités (e1,e2,…,en) où ej est une entité de
type Ej.
- L’ensembles des instances d’une association-type est une relation mathématique sur
E1,E2,…,En

La figure 2.5 représente l’association TRAVAILLER_POUR entre EMPLOYE et DEPARTEMENT. Chaque


instance de l’association TRAVAILLE_POUR relie un employé à un département

Figure 2.5. : Exemples d’instances TRAVAILLER_POUR

Le degré d’une association est le nombre de types d’entités qui y participent.

L’association FOURNIR de la figure 2.6 est un exemple d’association de degré 3 (association ternaire)
entre les types d’entités FOURNISSEUR, PROJET et ARTICLE.

BD/FS Tétouan/2022-2023 11
Figure 2.6. : Instances de l’association FOURNIR

2.2.1. Rôles et associations récursives


- Une entité qui participe à une association a un rôle particulier. On peut attribuer un nom à ce
rôle.
- Par exemple, dans l’association TRAVAILLE_POUR, le département a le rôle d’employeur.
- Dans le cas de relations récursives, où un même type d’entité participe plusieurs fois à la
même association dans différents rôles, attribuer des noms à ces rôles devient nécessaire.
Dans cet exemple de la figure 2.7., (1) représente l’employé dans le rôle du superviseur et (2) dans le
rôle du supervisé

Figure 2.7 : Association de supervision entre employés

BD/FS Tétouan/2022-2023 12
2.2.2. Cardinalités des associations binaires
- La cardinalité spécifie le nombre maximum d’associations auxquelles peut participer une
entité.
- Par exemple TARVAILLE_POUR entre DEPARTEMENT et EMPLOYE a une cardinalité 1:N. Cela
signifie qu’un employé est rattaché au maximum à un département alors qu’un département
peut compter n’importe quel nombre d’employés.
- Les cardinalités possibles sont : 1:1, 1:N, N:1 et M:N
Un exemple de cardinalité 1:1.
- Un employé dirige au maximum un département. Un département est dirigé au
maximum par un employé

Figure 2.8 : Association « dirige » entre EMPLOYE et DEPARTEMENT


Un exemple de cardinalité M:N.
- Un employé travaille pour plusieurs projets. Sur un projet, travaillent plusieurs employés.

BD/FS Tétouan/2022-2023 13
Figure 2.9 : Association « Travailler pour » entre EMPLOYE et PROJET

2.2.3. Contrainte de participation


- La contrainte de participation spécifie si l’existence d’une entité dépend de son association avec
une autre entité.
- La contrainte de participation est soit totale soit partielle.
- Si chaque employé doit absolument être rattaché à un département alors chaque entité
EMPLOYE doit participer à l’association TRAVAILLE_POUR entre EMPLOYE et DEPARTEMENT.
- En revanche, un employé n’est pas nécessairement le chef d’un département. Dans ce cas, la
participation des entités EMPLOYE à l’association DIRIGE avec DEPARTEMENT est partielle.

2.2.4. Attributs d’une association-type


- Une association-type peut avoir des attributs. Par exemple, si on souhaite enregistrer le nombre
d’heures hebdomadaires travaillées par employé sur un projet, on peut inclure un attribut HEURE
pour l’association TRAVAILLE_SUR entre EMPLOYE et PROJET.

2.2.5. Types d’entités faibles


- Les types d’entité qui n’ont pas d’attributs clés sont appelés des types d’entité faibles. Les types
d’entité avec des clés sont qualifiés de forts.
- Les entités de type faible sont identifiées par leurs associations avec d’autres entités et
partiellement par leurs propres attributs. On parle d’association et d’entité d’identification.
- La participation à l’association avec l’entité d’identification (ou parente) doit être totale.
- Un type d’entité faible peut avoir une clé partielle qui permet d’identifier les entités faibles
associées au même parent
- Un type d’entité parent peut être lui-même un type faible
Le diagramme ci-dessous représente l’entité faible ENFANT qui dépend de l’association avec l’entité
PARENT.

BD/FS Tétouan/2022-2023 14
Figure 2.10 : Exemple « entité faible »

Ci-dessous, un extrait du modèle de l’exemple « Entreprise »

Figure 2.11 : Modèle entité-association « ENTREPRISE »

2.3. Notations, conventions et associations de degré supérieur

2.3.1. Considérations sur les choix de conception


Comment décider si un concept, en particulier, est un type d’entité, un attribut ou une association-
type. En général l’affinement est itératif. Par exemple :
- Un concept est d’abord modélisé en tant qu’attribut puis comme association s’il fait
référence à un autre type d’entité
- Un attribut qui apparaît dans plusieurs types d’entités peut être promu en type d’entité
(attribut département dans EMPLOYÉ et PROJET par exemple)
- Inversement, un type entité qui a un seul attribut et une seule association peut être défini
comme attribut.

2.3.2. Conventions pour les noms du modèle Entité/Association


- Nom type entité : un nom au singulier

BD/FS Tétouan/2022-2023 15
- Nom des types d’entité et d’association en majuscule
- 1ère lettre des attributs en majuscule
- Nom des rôles en minuscule
- Lecture des associations binaires de gauche à droite et de haut en bas

2.3.3. Notation de Chen

BD/FS Tétouan/2022-2023 16
Participation totale de E2 dans R

Cardinalité 1:N pour E1:E2 dans R

Contrainte cardinalités (min, max)


pour E2 dans R

2.4. Associations de degré supérieur à 2


Le modèle entité-association de la figure 2.12(a) correspond à l’association « Fournir » de la figure
2.6.
Ce modèle n’est pas équivalent au modèle de la figure 2.12(b). Dans le modèle de la figure 2.12(b), il
n’est pas possible, par exemple, de savoir quel fournisseur fournit l’article a1 pour le projet p1. Même
si un fournisseur f1 est associé à l’article a1, cela ne signifie pas qu’il le fournit pour le projet p1.
Certains outils ne permettent pas de représenter des associations ternaires, une solution possible
pour dépasser cette limitation et d’utiliser les entités faibles. La figure 2.12(c) est un exemple
appliqué au modèle de la figure 2.12(a).

BD/FS Tétouan/2022-2023 17
(a)

(b)

(C)
Figure 2.12 : Exemple de relation n-aire (n=3)

BD/FS Tétouan/2022-2023 18

Vous aimerez peut-être aussi