Database Reference
In-Depth Information
Le « 1 » au minimum du côté Mails de l'association contacts n'est pas sujet à discus-
sion, car c'est l'expression du fait qu'un actionnaire dispose obligatoirement d'un e-mail.
Une contrainte NOT NULL sera générée pour implémenter ce contrôle. En affectant « 0 » à
cette multiplicité, la contrainte ne sera pas générée.
Le « 1 » au minimum du côté Actionnaires de l'association contacts peut être sujet
à discussion. Il s'agit de savoir si la base de données peut stocker des e-mails anonymes.
En théorie, il faudrait assurer un tel contrôle au niveau de la programmation. En affectant
« 0 » à cette multiplicité, vous relâchez ce contrôle.
Le « 0 » au minimum du côté SARL de l'association participation peut être sujet à
discussion. Il s'agit de savoir si la base de données peut stocker des actionnaires qui ne
participent à aucune SARL. Ici aucune contrainte n'est à mettre en œuvre. Le fait de choisir
«  1  » pour cette multiplicité nécessite, en théorie, la mise en œuvre de ce contrôle par
programmation (transaction ou déclencheur).
Le « 2 » au minimum du côté Actionnaires de l'association participation n'est
pas sujet à discussion, c'est l'expression d'une règle métier. Une simple contrainte CHECK
ne sufit pas et du code SQL doit implémenter cette règle (transactions et déclencheurs).
Ce code se chargera également de vériier le non-dépassement du nombre maximal de la
multiplicité (10).
Si. vous. hésitez. entre. 0. et. 1. pour. une.multiplicité.minimale,. choisissez  0. de. sorte. à.moins.
contraindre. le. schéma. SQL.. Vous. pourrez. toujours. ensuite. programmer. une. nouvelle.
contrainte.
Rélexivité
Une association binaire ( un-à-un, un-à-plusieurs, plusieurs-à-plusieurs ) qui relie une classe à
elle-même est dite rélexive.
Bien que séduisant par sa sémantique, le concept de rélexivité produit des schémas relation-
nels plus complexes (en particulier avec des associations plusieurs-à-plusieurs ) et induit une
programmation ardue qui peut s'avérer moins performante (requêtes récursives).
Ain de pallier ces problèmes potentiels, nous verrons qu'une association rélexive peut se
représenter, dans certains cas, à l'aide de plusieurs associations binaires non rélexives.
Le diagramme suivant décrit l'association un-à-plusieurs de parrainage qui relie (éventuel-
lement) un client à ses illeuls qui sont aussi des clients ( 0..* ). Un illeul peut n'être associé à
aucun parrain ( 0..1 ), ce qui exprime qu'un client peut être ni parrain, ni illeul.
 
Search WWH ::




Custom Search