Из Википедии, свободной энциклопедии
  (Перенаправлено из плоского файла )
Перейти к навигации Перейти к поиску
Пример модели плоского файла [1]

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

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

Обзор [ править ]

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

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

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

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

История [ править ]

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

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

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

Современные реализации [ править ]

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

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

Пример базы данных [ править ]

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

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

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

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

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

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

См. Также [ править ]

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

Ссылки [ править ]

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