web-dev-qa-db-fra.com

Noms de table de base de données au singulier ou au pluriel?

Dupliquer exact

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?

54
lalala2007

À 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.

75
Gulzar Nazim

Singulier, vous pouvez donc avoir:

  • Client
  • Adresse du client
  • CustomerAddressAuditTrail

etc.

110
Tim Robinson

J'aime les noms singuliers mais semble être minoritaire.

30
MarkR

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.

17
MattK

J'aime utiliser des noms singuliers comme Agent qui ont des noms PK comme AgentID.

Mais c'est juste moi: o)

12
wcm

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.

11
Adrian Grigore

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.

9
Alexander Kahoun

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.

8
Rob

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.

5
HLGEM

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.

4
Azder

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.

2
Guffa

À 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.

0
DForck42

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é).

0
STW