Введение

Формат хранения данных

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

Ограниченные форматы

Для разделения значений можно использовать любой символ, но наиболее распространенными разделителями являются запятая, табуляция и двоеточие. Также иногда используются вертикальная черта (также называемая «пайп») и пробел. Несмотря на то, что каждое из этих приложений имеет свой собственный дизайн базы данных и собственный формат файла (например, accdb или xlsx), все они могут сопоставить поля в файле DSV со своей собственной моделью данных и форматом. Обычно формат файла с разделителями определяется спецификацией. Некоторые спецификации предусматривают соглашения для предотвращения коллизии разделителей, другие – нет. Коллизия разделителей – это проблема, которая возникает, когда символ, предназначенный как часть данных, интерпретируется как разделитель. Форматы, разделенные запятыми и пробелами, часто страдают от этой проблемы, поскольку в многих контекстах эти символы являются допустимыми частями поля данных. Большинство таких файлов избегают коллизии разделителей, либо заключая все поля данных в двойные кавычки, либо заключая в кавычки только те поля данных, которые содержат символ разделителя. Одна из проблем с текстовыми файлами, разделенными табуляцией, заключается в том, что табуляции трудно отличить от пробелов; поэтому иногда возникают проблемы с повреждением файлов при ручном редактировании. Другой набор проблем возникает из-за ошибок в структуре файла, обычно при импорте файла в базу данных (в приведенном выше примере такая ошибка может заключаться в отсутствии имени ученика). В зависимости от самих данных может быть полезно использовать нестандартные символы, такие как тильда (~), в качестве разделителей. С ростом популярности веб-сайтов и других приложений, хранящих фрагменты кода в базах данных, простого использования кавычки ("), которая встречается в каждой гиперссылке и теге источника изображения, недостаточно для предотвращения такого типа коллизий. Поскольку используются также двоеточия (:), точки с запятой (;), вертикальные черты (|) и многие другие символы, найти символ, который не используется где-либо еще, может быть довольно сложно.