Плоская база данных - Flat-file database

Пример модели плоского файла[1]

А база данных в виде плоских файлов это база данных хранится в файле под названием плоский файл. Записи следуют единому формату, и нет структур для индексации или распознавания отношений между записями. Файл простой. Плоский файл может быть простой текст файл или двоичный файл. Связи можно вывести из данных в базе данных, но сам формат базы данных не делает эти отношения явными.

Этот термин обычно подразумевает небольшую базу данных, но очень большие базы данных также могут быть плоскими.

Обзор

Обычные текстовые файлы обычно содержат один записывать на строку.[2] Существуют разные условные обозначения данных. В значения, разделенные запятыми и значения, разделенные разделителями файлы, поля можно разделить разделители Такие как запятая или же вкладка символы. В других случаях каждое поле может иметь фиксированную длину; короткие значения могут быть дополнены символы пробела. Может потребоваться дополнительное форматирование, чтобы избежать коллизия разделителей.

Использование разделителей влечет за собой некоторые накладные расходы в поиске их каждый раз, когда они обрабатываются (в отличие от форматирования с фиксированной шириной), которое может иметь спектакль подразумеваемое. Однако использование разделителей символов (особенно запятых) также является грубой формой Сжатие данных что может повысить общую производительность за счет уменьшения объемов данных - особенно для передача данных целей. Использование разделителей символов, которые включают компонент длины (Декларативная запись ) сравнительно редко, но значительно сокращает накладные расходы, связанные с определением размера каждого поля.

Примеры плоских файлов включают / etc / passwd и / etc / group на Unix-подобный операционные системы. Другой пример плоского файла - это список имен и адресов с полями Имя, Адрес, и Телефонный номер.

Список имен, адресов и номеров телефонов, написанный от руки на листе бумаги, представляет собой базу данных в виде плоского файла. Это также можно сделать с любым печатная машинка или же текстовый редактор. А электронная таблица или же Текстовый редактор Программа может использоваться для реализации базы данных в виде плоских файлов, которую затем можно распечатать или использовать онлайн для улучшения возможностей поиска.

История

Герман Холлерит работа для Бюро переписи населения США впервые осуществлено в Перепись населения США 1890 г., включающая данные, табулированные с помощью дырокола в бумажных карточках, может считаться первой компьютеризированной базой данных в виде плоских файлов, поскольку она (предположительно) не включала карточки, индексирующие другие карточки или иным образом связывающие отдельные записи (т.е. отдельные карточки) друг с другом, сохранить их членством в группе.

В 1980-х годах настраиваемая база данных в виде плоских файлов компьютерные приложения были популярны на IBM PC и Macintosh. Эти программы были разработаны, чтобы облегчить людям создание и использование собственных баз данных, и были почти на одном уровне с текстовые процессоры и электронные таблицы в популярности.[нужна цитата ] Примеры программного обеспечения для баз данных с плоскими файлами включают ранние версии FileMaker и условно-бесплатная PC-файл и популярные dBase.

Базы данных в виде плоских файлов распространены и повсеместны, потому что их легко писать и редактировать, и они подходят для множества целей несложным способом.

Современные реализации

Линейные хранилища данных NoSQL, данные в формате JSON, примитивные электронные таблицы (возможно, разделенные запятыми или разделенные табуляцией) и текстовые файлы могут рассматриваться как базы данных с плоскими файлами, поскольку в них отсутствуют интегрированные индексы, встроенные ссылки между элементами данных, или сложные типы данных. Программы для управления коллекциями книг или встреч и адресная книга может использовать по существу одноцелевые базы данных с плоскими файлами, храня и извлекая информацию из плоских файлов, не украшенных индексами или указательными системами.

Хотя пользователь может записать оглавление в текстовый файл, сам формат текстового файла не включает понятие оглавления. Хотя пользователь может написать «друзья с Кэти» в разделе «Примечания» для контактной информации Джона, это интерпретируется пользователем, а не встроенной функцией базы данных. Когда система баз данных начинает распознавать и кодировать отношения между записями, она начинает отходить от «плоской», а когда в ней появляется подробная система для описания типов и иерархических отношений, она становится слишком структурированной, чтобы считаться «плоской».

Пример базы данных

В следующем примере показаны типичные элементы базы данных в виде плоских файлов. В данные расположение состоит из ряда столбцов и строк, организованных в табличный формат. В этом конкретном примере используется только одна таблица.

Столбцы включают: имя (имя человека, вторая колонка); команда (название спортивной команды, которую поддерживает человек, третий столбец); и числовой уникальный идентификатор, (используется для однозначной идентификации записей, первый столбец).

Вот пример текстового представления описанных данных:

id name team1 Эми Блюз2 Боб Редс3 Чак Блюз4 Ричард Блюз5 Этель Редс6 Фред Блюз7 Джилли Блюз8 Хэнк Редс9 Хэнк Блюз

Этот тип представления данных вполне стандартен для базы данных в виде плоского файла, хотя есть некоторые дополнительные соображения, которые не сразу очевидны из текста:

  • Типы данных: каждый столбец в таблице базы данных, такой как приведенный выше, обычно ограничен определенной тип данных. Такие ограничения обычно устанавливаются соглашением, но не указываются официально, если только данные не передаются в реляционная база данных система.
  • Отдельные столбцы: В приведенном выше примере отдельные столбцы разделены с помощью пробел символы. Это также называется отступом или форматированием данных «фиксированной ширины». Еще одно распространенное соглашение - разделить столбцы с помощью одного или нескольких разделитель персонажи, такие как табуляция или запятая.
  • Реляционная алгебра: Каждая строка или запись в приведенной выше таблице соответствует стандартному определению кортеж под реляционная алгебра (в приведенном выше примере изображена серия из трех кортежей). Кроме того, в первой строке указывается названия полей которые связаны со значениями каждой строки.
  • Система управления базами данных: Поскольку формальные операции, возможные с текстовым файлом, обычно более ограничены, чем хотелось бы, текст в приведенном выше примере обычно представляет промежуточное состояние данных до их передачи в система управления базами данных.

Смотрите также

  • / etc / passwd - часто используемый плоский файл, используемый для детализации пользователей в UNIX
  • CSV (стандартные значения, разделенные запятыми)
  • Berkeley DB (типичная база данных плоских файлов)
  • Awk (классический процессор плоских файлов)

Рекомендации

  1. ^ Глоссарий по интеграции данных В архиве 20 марта 2009 г. Wayback Machine, Министерство транспорта США, август 2001 г.
  2. ^ Фаулер, Гленн (1994), "cql: язык запросов к базам данных плоских файлов", WTEC'94: Труды технической конференции USENIX Winter 1994 по технической конференции USENIX Winter 1994