那么我们如何区分这些相关术语以及我们如何正确使用它们?
行
记录
解决方法
Rows are not records.
很多人都指出他是一个迂腐的混蛋,他喜欢谦虚和辱骂新手,我承认这就是他遇到的问题.但我也亲自见过他 – 甚至和他共进过一顿饭 – 而且我无法告诉你他的现实生活中的人物与他的在线前线有多么不同.我甚至曾经抓住他打电话给行记录,他非常尴尬(full backstory here).
在任何情况下,说出你对这个人的在线角色的看法,但是他写了这个标准,并且这样一个权威要求有区别的事实应该告诉你一些事情.而且,当有人将记录称为记录时,他就会感到畏缩,我的许多同事也是如此 – 他们也是sql Server世界的专家.我们在那个阵营的人相信他是对的.
例如,Itzik Ben-Gan,一位显而易见的sql Server专家.以下是他Training Kit (Exam 70-461): Querying Microsoft SQL Server 2012第一课的引用:
As an example of incorrect terms in T-sql,people often use the terms “field” and “record” to refer to what T-sql calls “column” and “row,” respectively. Fields and records are physical. Fields are what you have in user interfaces in client applications,and records are what you have in files and cursors. Tables are logical,and they have logical rows and columns.
而且,知道Itzik,如果你给他发了一封电子邮件或者在会议上找他,他会高兴地告诉你.如果你在一行中记录一条记录,他认为你没有正确使用这个术语.
现在,作为一个充满各种各样的人的行业,你很可能会找到两种材料(例如在另一个答案中发布的技术目标文章),这些材料似乎在两者之间做出了非常微妙的区分,你会发现很多业内人士我认为他们是一样的(我认识微软的几个人,以及像Brent Ozar这样的人,他们总是把它称为记录).这不是他们的正确,这只是他们看待它的方式 – 他们认为逻辑和物理是相同的(至少在这种情况下),他们中的许多人可能认为我们其他人只是肛门保留花费太多时间关于语义.
由于没有供应商会说“你应该称他们为{记录|行}”,我们将永远处理这个论点,因为总会有人不能得到逻辑与物理,或者被教导得不同,或者来自Access或编程背景等.就像有些人说tomay-to和其他人说tomah-to,总会有各种各样的人从“他们是相同的”到“他们是完全不同的” “ – 介于两者之间.同样,这并不能使它们中的任何一个正确,因为没有人可以成为这个的最终权威.但在sql Server领域,肯定有多数.
也就是说,恕我直言,当你在谈论表格中的数据时,你会把它称为一排.执行插入时,您将在表中插入一行.运行更新时,您正在更新表中的行.当您执行SELECT时,您正在从表中检索行.
一旦您的应用程序暂停,请随意将其称为记录.但如果你说“我插入了一条记录”,并且有人纠正你,请不要生气.