平面文件數據庫
編輯平面文件數據庫是存儲在稱為平面文件的文件中的數據庫。 記錄遵循統一的格式,沒有用于索引或識別記錄之間關系的結構。 文件很簡單。 平面文件可以是純文本文件(例如 csv、txt 或 tsv),也可以是二進制文件。 可以從數據庫中的數據推斷出關系,但數據庫格式本身并沒有使這些關系明確。
該術語通常暗示小型數據庫,但非常大的數據庫也可以是扁平的。
概覽
編輯純文本文件通常每行包含一條記錄。 描述數據有不同的約定。 在逗號分隔值和分隔符分隔值文件中,字段可以用逗號或制表符等分隔符分隔。 在其他情況下,每個字段可能具有固定長度; 短值可以用空格字符填充。 可能需要額外的格式以避免定界符沖突。
使用定界符會在每次處理定界符時產生一些開銷(與固定寬度格式不同),這可能會影響性能。 但是,使用字符定界符(尤其是逗號)也是一種粗略的數據壓縮形式,它可以通過減少數據量來提高整體性能——尤其是對于數據傳輸目的。 使用包含長度部分(聲明性表示法)的字符定界符相對較少,但xxx減少了與定位每個字段的范圍相關的開銷。
平面文件的示例包括類 Unix 操作系統上的 /etc/passwd 和 /etc/group。 平面文件的另一個示例是名稱和地址列表,其中包含名稱、地址和電話號碼字段。
在一張紙上手寫的姓名、地址和電話號碼列表是一個平面文件數據庫。 這也可以用任何打字機或文字處理器來完成。 可以使用電子表格或文本編輯器程序來實現平面文件數據庫,然后可以將其打印或在線使用以提高搜索能力。
歷史
編輯Herman Hollerith 為美國人口普查局所做的工作首先在 1890 年美國人口普查中進行,涉及通過在紙卡上打孔制成表格的數據,有時被認為是xxx個計算機化的平面文件數據庫,因為它不包括索引其他卡片的卡片, 或以其他方式將單張卡片相互聯系起來,除了他們的團體成員資格。
在 20 世紀 80 年代,可配置的平面文件數據庫計算機應用程序在 IBM PC 和 Macintosh 上流行。 這些程序旨在使個人能夠輕松設計和使用自己的數據庫,并且幾乎與流行的文字處理器和電子表格相提并論。 平面文件數據庫軟件的示例包括早期版本的 FileMaker 和共享軟件 PC-File 以及流行的 dBase。
平面文件數據庫很常見且無處不在,因為它們易于編寫和編輯,并且以簡單的方式適合多種用途。
現代實現
NoSQL 數據的線性存儲、JSON 格式的數據、原始電子表格(可能是逗號分隔或制表符分隔)和文本文件都可以看作是平面文件數據庫,因為它們缺少集成索引、數據元素之間的內置引用、 或復雜的數據類型。 管理書籍收藏或約會和地址簿的程序可能使用本質上單一用途的平面文件數據庫,從未經索引或指向系統修飾的平面文件中存儲和檢索信息。
雖然用戶可以將目錄寫入文本文件,但文本文件格式本身并不包含目錄的概念。 雖然用戶可能會在注釋部分寫下 Kathy 的朋友以獲得 John 的聯系信息,但這是由用戶解釋的,而不是數據庫的內置功能。 當一個數據庫系統開始識別和編碼記錄之間的關系時,它開始遠離扁平化,而當它有一個詳細的系統來描述類型和層次關系時,它現在過于結構化而不能被認為是扁平化的。
示例數據庫
編輯以下示例說明了平面文件數據庫的典型元素。 數據排列由一系列組織成表格格式的列和行組成。 這個具體的例子只使用了一張表。
列包括:姓名(人名,第二列); 團隊(此人支持的運動隊的名稱,第三列); 和一個數字xxx ID(用于xxx標識記錄,xxx列)。
以下是所描述數據的示例文本表示:
id name team1 Amy Blues2 Bob Reds3 Chuck Blues4 Richard Blues5 Ethel Reds6 Fred Blues7 Gilly Blues8 Hank Reds9 Hank Blues
這種類型的數據表示對于平面文件數據庫來說是相當標準的,盡管還有一些其他的注意事項在文本中不是很明顯:
- 數據類型:數據庫表中的每一列(如上表)通常僅限于特定類型
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/249406/