web-dev-qa-db-fra.com

Quelle standard dois-je suivre lorsque vous nommez des tables et des vues?

Quelle standard dois-je suivre lorsque vous nommez des tables et des vues? Par exemple, est-ce une bonne idée de mettre quelque chose comme TBL_ au début des noms de table? Devrais-je désigner des tables de code/de recherche en quelque sorte comme ct_, lut_ ou codes_? Y a-t-il d'autres choses/à ne pas faire?

J'utilise Server MS SQL Server et j'ai de nombreuses bases de données avec de nombreuses tables afin que ce soit bien d'avoir quelque chose que nous pouvons utiliser comme standard avec certains soutenant rationnels.

21
Beth Whitezel

OK, d'abord ne jamais mettre TBL devant le nom d'une table. C'est une table, nous avons déjà maintenant cela. Cela s'appelle la notation hongroise et les gens ont cessé de le faire il y a 5 ans et plus.

Appelez simplement l'objet en fonction de ce que c'est. Si une table contient des données d'employés, appelez-le "Employé". Si cela détient des informations sur les ordinateurs, appelez-le "ordinateur". S'il mappe des ordinateurs sur les employés, appelez-le "EmployeeComputer" ou "Computeremployee" (personnellement, j'aime "EmployeeComputer" mieux).

Il n'y a pas de véritable convention de dénomination à utiliser (autre que de ne pas utiliser la notation hongroise). Tant que les noms d'objet ont du sens que ce qui est important.

29
mrdenny

Personnellement, je suis un excellent fan de la Fanö Bedung , ce qui signifie que ce n'est pas autorisé à être le début d'un autre nom valide.

Et deuxièmement, la distance de halmographie entre deux noms est meilleure plus d'une lettre différente.

Oui, c'est la règle des temps de prédigital, mais ils facilitent la vie.

Et les troisièmes noms doivent être prononcables ou vous êtes devenu fou lorsque la reconnaissance vocale devient vraie.

5
bernd_k

Je ne sais pas qu'il y a vraiment une convention de dénomination "meilleure", car elle se résume vraiment à la préférence personnelle et à la facilité de développement. Mon conseil est de choisir une convention de dénomination et d'y adhérer. Si vous souhaitez séparer les mots avec un soulignement, faites-le dans tous vos objets de base de données. Si vous souhaitez utiliser Camelcase, faites-le dans tous vos objets de base de données.

Dans mon magasin, nous adhérons aux règles suivantes:

Nous séparons les mots avec des traits de soulignement et utilisons toutes les lettres minuscules.
[.____] Nos noms de table décrivent ce qu'ils sont: dbo.person, dbo.invoice.
[.____] Nos noms de table multif à plusieurs décrivent également ce qu'ils sont (avec l'ajout de mm pour indiquer un grand nombre de relations étant mappées: dbo.person_mm_address. Notre utilisateur défini par l'utilisateur stocké. Procédures décrivent à la fois l'objet et l'action effectuée: USP_Person_Select, usp_address_select_by_cité Nos vues et fonctions Suivez les mêmes règles que les procédures stockées. Nos index comprennent la table, les colonnes de clés (dans la commande) et une indication de clustere/non clustere: ix_person_last_name_first_name_nc

Ce n'est pas parce que c'est ce que nous utilisons dans ma boutique, cela ne signifie pas que ces règles vous conviennent. Choisissez quelque chose que vous et votre équipe de développement acceptez est à la fois utile et facile à développer avec et à établir une culture de savoir quelle que soit la convention de dénomination que vous choisissez. Dans notre cas, cela inclut la revue de code pour tous les objets créés dans une base de données. Au fil du temps, la combinaison d'une convention de dénomination documentée et d'un examen de code par pairs a entraîné de moins en moins de déviations de la Convention.

J'espère que cette "non-réponse" aide d'une manière ou d'une autre.

2
Matt M

Je suis content de ces années depuis des années

  • noms de table: petites capuchons et soulignement, singulier {client, produit}
  • noms de table pour beaucoup de relations à de nombreuses relations: Tablename1_taBename2: {Customer_Product}
  • vues: Petites capuchons ajoutés v à la fin {Customerv, ProductV, Product_GroupV}
  • procautions stockées: Nom de la table et fonction {Customer_Select, Customer_insert, Customer_Delete, Customer_Update}

si vous avez un package d'hébergement partagé à bas prix, vous devrez utiliser l'abréviation du projet devant tous vos objets, comme par exemple, le site des administrateurs de base de données, DA_USERS, DA_QUESTTIONS

1
Uğur Gümüşhan