Quelle norme dois-je suivre pour nommer les tables et les vues? Par exemple, est-ce une bonne idée de mettre quelque chose comme tbl_ au début des noms de table? Dois-je désigner du code / tables de recherche d'une manière ou d'une autre comme ct_, lut_ ou codes_? Y a-t-il d'autres choses à faire / à ne pas faire?
J'utilise MS SQL Server et j'ai de nombreuses bases de données avec de nombreuses tables, donc ce serait bien d'avoir quelque chose que nous puissions utiliser comme standard avec un support rationnel.
la source
orders
n'est pasorder
et évite d'avoir à citer le nom de la table à chaque fois qu'il s'agit d'utilisateurs. Cela s'applique également auxgroup
autres mots clés. Heureusement, peu de mots clés entrent en collision avec des entités communes.Nous utilisons des schémas (pensez-y comme des espaces de noms dans SQL peut-être) pour les autorisations et le regroupement. Donc au lieu de "tbl" etc nous avons
Aucun code ne va dans le schéma de données. Aucune table ne vit en dehors du schéma de données. Bien sûr, cela peut être étendu pour avoir un schéma de recherche ou de transfert si vous le souhaitez.
Pour les vues que nous utilisons,
vw
mais c'était pour les distinguer des tables dans SQL Server 2000 et c'est un peu hérité maintenantla source
Personnellement, je suis un grand fan de la Fanö Bedingung , ce qui signifie ici que pas un nom ne peut être le début d'un autre nom valide.
Et deuxièmement, la distance de Hamming entre deux noms vaut mieux qu'une lettre différente.
Oui, ce sont les règles de l'époque prédigital, mais elles facilitent la vie.
Et les troisièmes noms doivent être prononçables, sinon vous deviendrez fou quand la reconnaissance vocale deviendra vraie.
la source
Je ne sais pas qu'il existe vraiment de «meilleure» convention de dénomination, car cela 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 de la respecter. Si vous souhaitez séparer les mots avec un trait de 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 ma boutique, nous adhérons aux règles suivantes:
Nous séparons les mots avec des soulignements et utilisons toutes les lettres minuscules.
Nos noms de table décrivent ce qu'ils sont: dbo.person, dbo.invoice.
Nos noms de table plusieurs à plusieurs décrivent également ce qu'ils sont (avec l'ajout de mm pour indiquer qu'une relation plusieurs à plusieurs est mappée: dbo.person_mm_address. Nos procédures stockées définies par l'utilisateur décrivent à la fois l'objet et l'action en cours d'exécution: usp_person_select , usp_address_select_by_city Nos vues et fonctions suivent les mêmes règles que les procédures stockées. Nos index incluent la table, les colonnes clés (dans l'ordre) et une indication de cluster / non-cluster: ix_person_last_name_first_name_nc
Ce n'est pas parce que c'est ce que nous utilisons dans ma boutique que ces règles vous conviennent. Choisissez quelque chose avec lequel votre équipe de développement et vous-même êtes à la fois utile et facile à développer, et établissez une culture de connaissance et d'utilisation de la convention de dénomination que vous décidez. Dans notre cas, cela inclut la révision du 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 du code par les pairs a conduit à de moins en moins d'écarts par rapport à la convention.
J'espère que cette "non-réponse" aide d'une certaine manière.
la source
Je suis content de ça depuis des années
si vous avez un package d'hébergement partagé bon marché, 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_questions
la source
product_groupv
et nonproduct_group_v
pour les vues (si vous insistez sur cette répartition des vues et des tableaux)?