Bonjour,

Je fais la mise en place d'une petite prévision de trésorerie. Pour cela, au niveau du MPD, j'ai deux entités

BANQUE(Banq_Init, Banq_Desig, Banq_No, etc)
ECRITURE(Ecrit_Id, Ecrit_Date, Ecrit_Lib, Ecrit_Valeur, etc, #Banq_Init)

Les règles de gestion sont :
R1 - Chaque compte en banque est identifiée par plusieurs lettres, en principe les initiales du nom. En cas de doublons, deux comptes à une même banque, les initiales seront complétées par un numéro d'ordre. Exemple SG_1, SG_2 pour Société Générale
R2 - Chaque écriture comporte un numéro d'ordre et doit obligatoire être rattachée à un compte en banque

Les autres règles n'ont pas d'influence sur ma difficulté

Jusqu'ici, tout va bien mes tables sont normalisées en BCNF voire plus.

Si nous passons au niveau de la quincaillerie comme nous le dit gentiment fsmrel, plusieurs intervenants de ce forum indiquent qu'il est préférable d'utiliser, dans une jointure, une clé numérique. Or la clé de l'entité BANQUE est alphabétique.

Dans une premier temps, j'ai envisagé d'ajouté une clé numérique à l'entité. Le schéma deviendrait :
BANQUE(Banq_Id, Banq_Init, Banq_Desig)
ECRITURE(Ecrit_Id, Ecrit_Date, Ecrit_Lib, Ecrit_Valeur, etc, #Banq_Id)

Après cette modification, mon entité BANQUE n'est plus en BNCF et même pas en 3NF, d'où des soucis en perspective car je n'ai plus aucun contrôle pour m'assurer qu'il n'existe aucun doublons dans l'attribut Banq_Init.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
  Banq_Id    Banq_Init          Banq_Desig            Banq_No
      1            SG_1          Société Générale    00051102675
      2            SG_2          Société Générale    00051102680 
  Ici, nous commettons une erreur
      3            SG_2          Société Générale    00051102685
Bien entendu, je peux mettre place, pour garantir l'unicité, une clé alternative ou un trigger

Avez-vous une solution différente à me proposer pour répondre à la règle de gestion, respecter la normalisation et ne pas pénaliser l'exécution.

D'avance merci