Dilemme de dénomination des tableaux: noms singuliers ou pluriels
Est-il préférable d'utiliser des noms de table de base de données au singulier ou au pluriel? Existe-t-il une norme acceptée?
J'ai entendu des arguments pour et contre, qu'en pensez-vous?
À mon humble avis, les noms de table doivent être pluriels comme les clients.
Les noms de classe doivent être singuliers comme Customer s'ils correspondent à une ligne de la table Customers.
Singulier, vous pouvez donc avoir:
etc.
J'aime les noms singuliers mais semble être minoritaire.
Ma philosophie personnelle est que l'utilisation d'un nom de table de base de données pluriel est redondante, sauf si vous prévoyez seulement que la table contienne une ligne.
J'aime utiliser des noms singuliers comme Agent qui ont des noms PK comme AgentID.
Mais c'est juste moi: o)
J'aime utiliser des formes plurielles, simplement parce qu'une table contient plusieurs entités, donc cela me semble plus naturel.
Linq to SQL convertit plusieurs noms de table de formulaire au singulier lors de la création d'entités de données. Je suppose que Microsoft n'aurait pas implémenté cette fonctionnalité s'ils considéraient la mauvaise pratique des formes plurielles pour les noms de table.
Dans ma société actuelle, nous utilisons Plural pour les noms de table. Le raisonnement est le suivant: si nous avons une table Customers, nous considérons chaque ligne comme un client, donc la table elle-même est une collection de clients.
Eh bien, évidemment, les noms de vos tables de base de données doivent absolument got être nommés de façon "standard" que je définirai arbitrairement jusqu'à présent.
Tout d'abord, tous les noms de tables doivent être préfixés par "t_". Ensuite, le nom de l'entité singulière dans StudlyCaps, par ex. "Client". Immédiatement après, celui-ci doit contenir le nombre de colonnes créées dans la première version du schéma, à des fins historiques, suivi d'un trait de soulignement et la forme normale précise des données; soit "1", "2", "3" ou "B" pour BCNF. Toute forme normale supérieure doit être désignée par un "P".
Voici quelques exemples de noms acceptables:
t_Customer_6_3
t_Order_5_B
t_OrderLine_4_2
Je pense que mon point est, il vraiment n'a pas d'importance, tant que le nom est raisonnablement descriptif et que la dénomination est cohérente.
La chose la plus importante est d'être cohérent dans votre utilisation. Il est ennuyeux de devoir se rappeler quels tableaux sont pluriels et lesquels ne le sont pas. Même chose avec vos noms de champs, choisissez un stadard et utilisez-le. Ne faites pas en sorte que les pauvres développeurs doivent déterminer si cette table utilise person_id ou personid ou peopleid ou person $ id, etc. quoi.
Il n'y a pas ou ne doit pas être de cette façon ou de cette façon une réponse correcte à cette question. C'est au concepteur de la base de données et du logiciel.
Quant à moi, j'utilise habituellement des noms singuliers parce que lorsque je fais le diagramme E-R, j'ai une entité client, pas des clients, donc je la garde la même pour ne pas être confus.
Bien sûr, certains cadres favorisent un style ou un autre, vous devriez donc être mieux placé pour suivre ces pratiques lorsque vous les remarquerez.
Il y a de nombreux arguments pour chacun, mais tout se résume à ce avec quoi vous vous sentez à l'aise. Ni est faux.
Ce qui est vraiment important, c'est que vous soyez cohérent. Choisissez une norme et respectez-la, celle que vous choisissez a moins d'importance.
À mon humble avis, cela n'a pas vraiment d'importance, faites tout ce qui est à l'aise avec vous et les personnes qui utilisent la base de données.
Je pense que je liste inconsciemment les principales tables de données avec un s et une "liste de choix" ou des tables de clés étrangères et singulières.
Comme pour beaucoup de ces types de questions, la meilleure réponse est souvent "cohérente". Vous pouvez affirmer que le tableau représente une seule entité et mérite en tant que tel un nom singulier, ou qu'il contient plusieurs instances d'une entité, il doit donc être au pluriel. Mon conseil est de lancer une pièce et de l'accompagner pour toute la base de données (ou de vous en tenir à la convention qui a déjà une majorité).