Vous allez un peu trop vite pour moi... J’étais en train de préparer une réponse, que je vous livre en l’état, et qui pourra servir de pense-bête aux forumeurs... ^^
Comment transformer une cardinalité 1,N en 0,N.
Prenons l’exemple des commandes d'articles : les articles n’ont pas forcément tous fait l’objet d’une commande. Double Cliquer sur le lien connectant ARTICLE et LIGNE_COMMANDE :
Une fois ouverte la fenêtre qui va bien :
Onglet « Foreign Key » : décocher la (bonne) case « Mandatory » (celle de gauche) :
Cas des clés alternatives
Par le truchement d’une infobulle, donc de façon fugace, on peut savoir à la volée si on a défini des clés alternatives et quelle en est la composition. Exemple (en France) du Siret des clients :
Par le truchement de l’onglet « Indexes » associé à la table : une clé alternative {ClientNoSiret} peut être mise en œuvre au moyen d’un index « UNIQUE » :
C’est moyen comme méthode, car un index est un objet du niveau MPD, mais bon, quand on n’utilise pas MySQL, histoire de regrimper au niveau MLD, dans le code SQL généré on remplacera la ligne :
UNIQUE INDEX `CLIENT_SIRET` (`ClientNoSiret` ASC) )
Par celle-ci :
CONSTRAINT CLIENT_SIRET_AK UNIQUE (ClientNoSiret)
Dans le cas des clés singletons telles que le Siret ou le numéro des commandes, on peut aussi cocheer la case UQ (onglet « Columns ») :
Je vais regarder vos derniers messages.
Partager