9.4 Les identifiants
213
© Dunod – La photocopie non autorisée est un délit.
id: signe.CLIENT
NumCtr
La figure 9.16 spécifie les identifiants des types d’entités du schéma 9.12.
En toute généralité, un identifiant peut être constitué d’un nombre quelconque
d’attributs et d’un nombre quelconque de types d’entités voisins.
Dans l’exemple de la figure 9.17 (le lecteur attentif aura reconnu le schéma
conceptuel d’une base de données relationnelle bien connue), on exprime par
l’identifiant de DETAIL que les détails d’une commande spécifient des produits
distincts, ou encore que les détails spécifiant un produit déterminé appartiennent à
des commandes différentes.
Figure 9.17 - Illustration de la notion d’identifiant (2)
La figure 9.18 propose d’autres exemples d’identifiants hybrides. On comparera le
schéma de droite avec le schéma de la base de données de la figure 5.5.
Remarque
Le lecteur pourrait s’étonner de ce qu’on ne spécifie pas tout simplement l’identifiant de CONTRAT sous la forme des deux attributs (NumClient, NumCtr). Ce
principe est possible pour le type d’entités CONTRAT, mais serait plus complexe,
inadéquat ou même impossible dans d’autres cas.
Par exemple, le type d’entités SERVICE du schéma de la figure 9.22 aurait pour
identifiant un ensemble de trois attributs, issus de trois types d’entités.
D’autre part, il faudrait, pour chaque type d’entités associé intervenant dans l’identifiant, soit choisir arbitrairement l’un de ses identifiants, soit déclarer autant d’identifiants qu’il y a de combinaisons possibles. Le nom d’attribut peut être ambigu :
d’une part, il peut désigner plusieurs attributs différents, et d’autre part il peut être
accessible par plusieurs chemins (voir les deux schémas de la figure 9.18 par
exemple). Enfin, mais ceci concerne le modèle étendu présenté dans la section 9.9,
un type d’entités n’a pas nécessairement d’identifiant.
0-N
1-1
passe
0-N
1-1
en
0-N
1-1
de
PRODUIT
NPro
Libellé
Prix
QStock
id: NPro
DETAIL
QCom
id: de.COMMANDE
en.PRODUIT
COMMANDE
NCom
DateCom
id: NCom
CLIENT
NCli
Nom
Adresse
Localité
Cat[0-1]
Compte
id: NCli
213
© Dunod – La photocopie non autorisée est un délit.
id: signe.CLIENT
NumCtr
La figure 9.16 spécifie les identifiants des types d’entités du schéma 9.12.
En toute généralité, un identifiant peut être constitué d’un nombre quelconque
d’attributs et d’un nombre quelconque de types d’entités voisins.
Dans l’exemple de la figure 9.17 (le lecteur attentif aura reconnu le schéma
conceptuel d’une base de données relationnelle bien connue), on exprime par
l’identifiant de DETAIL que les détails d’une commande spécifient des produits
distincts, ou encore que les détails spécifiant un produit déterminé appartiennent à
des commandes différentes.
Figure 9.17 - Illustration de la notion d’identifiant (2)
La figure 9.18 propose d’autres exemples d’identifiants hybrides. On comparera le
schéma de droite avec le schéma de la base de données de la figure 5.5.
Remarque
Le lecteur pourrait s’étonner de ce qu’on ne spécifie pas tout simplement l’identifiant de CONTRAT sous la forme des deux attributs (NumClient, NumCtr). Ce
principe est possible pour le type d’entités CONTRAT, mais serait plus complexe,
inadéquat ou même impossible dans d’autres cas.
Par exemple, le type d’entités SERVICE du schéma de la figure 9.22 aurait pour
identifiant un ensemble de trois attributs, issus de trois types d’entités.
D’autre part, il faudrait, pour chaque type d’entités associé intervenant dans l’identifiant, soit choisir arbitrairement l’un de ses identifiants, soit déclarer autant d’identifiants qu’il y a de combinaisons possibles. Le nom d’attribut peut être ambigu :
d’une part, il peut désigner plusieurs attributs différents, et d’autre part il peut être
accessible par plusieurs chemins (voir les deux schémas de la figure 9.18 par
exemple). Enfin, mais ceci concerne le modèle étendu présenté dans la section 9.9,
un type d’entités n’a pas nécessairement d’identifiant.
0-N
1-1
passe
0-N
1-1
en
0-N
1-1
de
PRODUIT
NPro
Libellé
Prix
QStock
id: NPro
DETAIL
QCom
id: de.COMMANDE
en.PRODUIT
COMMANDE
NCom
DateCom
id: NCom
CLIENT
NCli
Nom
Adresse
Localité
Cat[0-1]
Compte
id: NCli
