Функции администратора. Управление памятью. Управление многопользовательским доступом. Экспорт и импорт данных, страница 8

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

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

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

Наряду с символьным и собственным форматами СУБД может обеспечивать экспорт и в некоторые специальные форматы выходных файлов. Эти форматы предназначены для обмена данными с "дружественными" программными продуктами и обычно полностью совпадают в внутренними форматами этих продуктов. "Дружественными" считаются приложения, функционирование которых совместно с СУБД является типичным для широкого класса прикладных задач. Такими в первую очередь являются персональные СУБД и табличные процессоры той же фирмы, например, для DB2 - Lotus 1-2-3 и Lotus Symphony, для MS SQL Server - MS Acces и т.д. Выходные файлы, экспортированные в специальном формате, могут непосредственно обрабатываться соответствующими продуктами. Поддержка специальных форматов экспорта является свойством удобным, но не обязательным, так как все промышленные приложения могут воспринимать данные и в символьном формате.

5.2. Импорт данных

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

·  ввод данных в непустую таблицу;

·  совместимость данных с описанием таблицы;

·  проверка правил целостности и модификация индексов.

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

·  создание таблицы - таблица создается заново (возможно только при импорте из файла собственного формата, так как только этот формат включает в себя описание таблицы);

·  замена - удаление всех строк из уже существующей таблицы и вставка данных из внешнего файла;