Pour citer Joe Celko (vous pouvez non seulement trouver cette référence sur le Web et dans son entrée Wikipedia , mais vous la verrez même sur des T-shirts lors de certaines conférences):
Les lignes ne sont pas des enregistrements.
Beaucoup de gens le désignent comme un imbécile pédant qui aime simplement humilier et abuser verbalement des débutants, et j'admettrai que c'est comme ça qu'il se présente. Mais je l'ai aussi rencontré en personne - même partagé un repas avec lui - et je ne peux pas vous dire à quel point son personnage réel est différent de son site en ligne. Je l’ai même surpris une fois en train d’appeler des records de rangs, et il était très gêné ( histoire complète ici ).
Quoi qu'il en soit, dites ce que vous voulez à propos du personnage en ligne du gars, mais il a écrit la norme , et le fait qu'une telle autorité dicte qu'il existe une distinction devrait vous dire quelque chose. Et autant il recule quand quelqu'un appelle un enregistrement, beaucoup de mes collègues le font aussi - qui sont également des experts du monde SQL Server. Et ceux d'entre nous dans ce camp croient qu'il a raison.
Par exemple, Itzik Ben-Gan, un gourou évident de SQL Server. Voici une citation de la toute première leçon de son kit de formation (Examen 70-461): Interrogation de Microsoft SQL Server 2012 :
En tant qu'exemple de termes incorrects dans T-SQL, les termes «champ» et «enregistrement» sont souvent utilisés pour désigner ce que T-SQL appelle respectivement «colonne» et «ligne». Les champs et les enregistrements sont physiques. Les champs sont ce que vous avez dans les interfaces utilisateur dans les applications clientes, et les enregistrements sont ce que vous avez dans les fichiers et les curseurs. Les tables sont logiques et comportent des lignes et des colonnes logiques.
Et, connaissant Itzik, si vous lui envoyez un e-mail ou si vous le bloquez lors d’une conférence, il vous répondra avec plaisir. Si vous appelez une ligne un enregistrement, à son avis, vous n'utilisez pas la terminologie correctement.
Maintenant, étant une industrie pleine de gens de toutes sortes, vous êtes susceptible de trouver du matériel (comme les articles sur les cibles technologiques postés dans une autre réponse) qui semblent faire des distinctions très subtiles entre les deux, et vous trouverez beaucoup de personnes dans l'industrie. Considérez-les de la même manière (je connais plusieurs personnes chez Microsoft et d’autres personnes comme Brent Ozar, qui l’appellera toujours comme un record). Cela ne les rend pas justes, c'est juste leur façon de voir les choses - ils voient la même chose de logique et physique (du moins dans ce contexte) et beaucoup pensent probablement que le reste d'entre nous ne sommes que des rétenteurs anaux qui passent trop de temps sur la sémantique.
Puisqu'aucun fournisseur ne peut dire "tu les appelleras {records | lignes}", nous aurons toujours affaire à cet argument, car il y aura toujours quelqu'un qui ne comprend pas la logique par rapport à la physique, ou qui a été enseigné différemment, ou venaient de Access ou de la programmation, etc. Comme certaines personnes le disent demain et d'autres disent le même, il y aura toujours une variété de personnes allant de "ils sont identiques" à "ils sont complètement différents "- et beaucoup de nuances entre les deux. Encore une fois, cela ne donne aucun droit, car personne ne peut être l'autorité suprême en la matière. Mais dans l'espace SQL Server, il y a certainement une majorité.
Cela dit, à mon humble avis, lorsque vous parlez de données qui se trouvent dans un tableau, vous appelez cela une ligne. Lorsque vous effectuez une insertion, vous insérez une ligne dans un tableau. Lorsque vous exécutez une mise à jour, vous mettez à jour une ligne qui se trouve dans une table. Et lorsque vous effectuez une opération SELECT, vous récupérez des lignes d'une table.
N'hésitez pas à appeler cela un enregistrement une fois que votre application en a pris possession. Mais ne vous fâchez pas si vous dites: "J'ai inséré un disque" et quelqu'un vous corrige.