Terminology

列與欄位:我是否錯誤地使用了這些術語?

  • January 15, 2019

在這裡我覺得有點尷尬,我一直將“列”和“欄位”這兩個術語完全互換使用,這在最近的技術討論中引起了一些混亂。

但是有人告訴我,這是不正確的,應該是(將每個術語翻譯成電子表格術語,忽略數據類型和所有其他使數據庫有用的東西):

  • 數據庫列:像電子表格列
  • 數據庫記錄:像電子表格行
  • 數據庫欄位:就像電子表格“單元格”(特定行的特定列)

這是正確的嗎?我本可以發誓,列和欄位的使用比這更可互換。我當然去過。

所以我們向表中添加欄位,我們向表中添加,並且欄位僅在談論記錄中的數據時才相關?

關於列與欄位的其他想法?

編輯:澄清一下,目前上下文是 MS SQL Server。我在 SQL Server 之前的背景是 MS Access,這可能會影響我對這些術語的使用。

關係數據庫理論不包括欄位一詞的使用。為 RDBMS 提供理論基礎的系列論文的作者 EF Codd 博士從未使用過該術語。如果您想查看, 可以閱讀他在 1970 年發表的開創性論文A Relational Model of Data for Large Shared Data Banks 。

使用了域、表、屬性、鍵和元組等術語。原因之一是他的論文主要關注關係代數,而 Codd 認為特定實現在數據庫中定義表的方式並不重要。供應商稍後會充實這一點。人們還必須了解,從歷史上看,RDBMS 是從早於它們的現有分層和網路數據庫演變而來的,RDMBS 的內部工作仍然必須關注數據組織和儲存。

在常用的情況下,您只需進行一些Google搜尋即可輕鬆驗證這一點,欄位和列相同的。

DBase、Access 和 Filemaker 等 PC 數據庫通常使用“欄位”而不是“列”。“屬性”是另一個可以互換使用的術語。

例如,這裡有一個連結到 MS Access 手冊中關於向表中添加“欄位”的內容。很明顯,在 MS Access 中,“欄位”等同於“列”。

Dbase 和 Filemaker Pro 也是如此。

有時人們會將特定行中的特定值稱為“欄位”或更準確地說是“欄位值”,但這不會在引用列或列等效概念時使用“欄位”不正確。這確實會引起一定程度的混淆,因為多年來人們一直使用“欄位”來表示不同的事物。在關係理論中——單個原子值被稱為“基準”。

如果有人說“欄位”是關係數據庫中的一個值並且與列不同,那是他們的觀點,因為“欄位”不是關係數據庫白話的一部分。它們既不是對也不是錯,但是,在整個數據庫世界中,欄位更常用於表示列。

話雖如此,項目和團隊通常必須了解他們希望如何在項目中使用特定術語以避免混淆。

你沒有錯,但你也可能決定簡單地遵循正在使用的約定,或者完全避免使用欄位一詞來支持“列”。對於關係數據庫,“表”和“列”是存在於 DDL 中的建構塊,最好只使用這些術語並避免未使用或未明確定義的“欄位”。

引用自:https://dba.stackexchange.com/questions/65609