Le plus bizarre était lors d'un contrat il y a quelques années. Celle de @ZombieSheep en faisait partie, mais ce n'était pas la plus bizarre de cette entreprise.
Non, le plus étrange dans cette entreprise était le schéma de dénomination de la base de données. Chaque table était nommée en majuscules, avec des traits de soulignement entre les mots. Chaque table avait un préfixe (généralement de 1 à 6 caractères) qui était généralement un acronyme ou une abréviation du nom de la table principale. Chaque champ de la table est également précédé du même préfixe. Ainsi, disons que vous avez un schéma simple où les gens peuvent posséder des chats ou des chiens. Cela ressemblerait à ceci :
PER_PERSON
PER_ID
PER_NameFirst
PER_NameLast
...
CAT_CAT
CAT_ID
CAT_Name
CAT_Breed
...
DOG_DOG
DOG_ID
DOG_Name
DOG_Breed
...
PERCD_PERSON_CAT_DOG (for the join data)
PERCD_ID
PERCD_PER_ID
PERCD_CAT_ID
PERCD_DOG_ID
Cela dit, aussi bizarre que cela puisse paraître au début... Il a grandi sur moi. Les raisons derrière tout cela étaient logiques (une fois qu'on s'y est habitué), car les préfixes étaient là pour rappeler les alias de table "recommandés" (et imposés !) lors de la construction des jointures. Le préfixe rendait la majorité des requêtes de jointure plus faciles à écrire, car il était très rare de devoir référencer explicitement une table avant le champ.
Au bout d'un certain temps, tous les membres de l'équipe (6 personnes sur notre projet) ont pu commencer à se référer aux tables dans la conversation en utilisant uniquement le préfixe. Un goût acquis, c'est sûr... Mais un goût qui a grandi en moi. À tel point que je l'utilise encore, lorsque j'ai cette liberté.