А. В. Брешенков Проектирование баз данных на основе информации табличного вида Допущено в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению подготовки диплом

Вид материалаДиплом

Содержание


1.2. Мотивы преобразования информации табличного вида в файлы реляци­онных баз данных
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   28

1.2. Мотивы преобразования информации табличного вида в файлы реляци­онных баз данных



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

В каких случаях оправданно преобразование информации табличного вида в файлы реляционных баз данных?

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

Немало информации табличного вида, как показано на рис.1.1 и рис 1.3, существует в текстовом формате или в формате Microsoft Word. Но потребности пользователей этой информации таковы, что им удобнее работать с ней, используя средства СУБД.

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

Про­блемы преобразования информации табличного вида в файлы БД стоят во многих организациях. В частности, нередко на предприятиях информация о проданном обо­рудовании поступает из различных регионов в виде файлов Microsoft Excel. В главном офисе компании установлена БД, в которой накапливаются и обрабатываются данные из регионов. Преобразование таблиц Microsoft Excel в формат БД осуществляется вручную. Ра­боты такого рода трудоемки, а результаты преобразования не гарантируют отсутствия оши­бок. Многие предприятия подготовили каталоги изделий в виде текстовых файлов. Сейчас возникла потребность разра­ботки БД, основу которой составляют эти каталоги. Не вызывает сомнения то, что существует и ряд других ситуаций, когда организации остро нуждаются в эффективных средствах преобразова­ния информации табличного вида в файлы БД.

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


1.3. Основные требования к средствам преобразования информации табличного вида в реляционные таблицы



Для того, чтобы обеспечить возможность преобразования информации таблич­ного вида в таблицы реляционных БД, ее, прежде всего, необходимо привести к реля­ционному представлению данных. Реляционная таблица представляет собой двумер­ный массив и обладает следующими свойствами:
  • каждый элемент таблицы - один элемент данных;
  • все столбцы таблицы однородные, т.е. все элементы в столбце имеют одинако­вый тип;
  • каждый столбец имеет уникальное имя;
  • одинаковые строки в таблице отсутствуют;
  • порядок следования столбцов и строк может быть произвольным [1].

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

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

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

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

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