Jump to content

База данных в виде плоских файлов

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

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

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

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

Обычные текстовые файлы обычно содержат одну запись в строке. [2]

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

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

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

Значения, разделенные разделителями [ править ]

В значений, разделенных разделителями файлах , поля разделяются символом или строкой, называемой разделителем . Распространенные варианты — CSV (разделитель — ,), значения, разделенные табуляцией (TSV) (разделителем является символ табуляции), значения, разделенные пробелом, а также значения, разделенные вертикальной чертой (разделителем является |).

Если разделитель разрешен внутри поля, должен быть способ различать символы-разделители или строки, которые понимаются буквально. Например, рассмотрим предложение «Если мне придется, я сделаю это сам». Чтобы закодировать его в CSV, должен быть способ предотвратить разделение поля запятой. Существует несколько стратегий предотвращения коллизий разделителей .

Форматы фиксированной ширины [ править ]

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

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

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

Декларативная нотация [ править ]

Разделители можно использовать вместе с обозначениями, указывающими длину каждого поля. Например, 5apple|9pineapple определяет длину (5 и 9) каждого поля. Это называется декларативной нотацией . Он имеет низкие накладные расходы и тривиально позволяет избежать конфликтов разделителей, но он ненадежен при редактировании вручную и редко используется.

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

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

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

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

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

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

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

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

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

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

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

id    name    team
1     Amy     Blues
2     Bob     Reds
3     Chuck   Blues
4     Richard Blues
5     Ethel   Reds
6     Fred    Blues
7     Gilly   Blues
8     Hank    Reds
9     Hank    Blues

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

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

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

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

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

  1. Глоссарий по интеграции данных . Архивировано 20 марта 2009 г. в Wayback Machine , Министерство транспорта США, август 2001 г.
  2. ^ Фаулер, Гленн (1994), «cql: язык запросов к базе данных плоских файлов» , WTEC'94: Материалы технической конференции USENIX зимой 1994 г. на технической конференции USENIX зимой 1994 г.
  3. ^ Блоджетт, Джон Х.; Шульц, Клэр К. (1969). «Герман Холлерит: пионер обработки данных» . Американская документация . 20 (3): 221–226. дои : 10.1002/asi.4630200307 . ISSN   1936-6108 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: faa9dcd2112e132733511c060b28155d__1718296500
URL1:https://arc.ask3.ru/arc/aa/fa/5d/faa9dcd2112e132733511c060b28155d.html
Заголовок, (Title) документа по адресу, URL1:
Flat-file database - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)