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

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

Содержание


2.2. Укрупненная модель информации табличного вида
2.3. Задачи преобразования заполненных нереляционных таблиц в реляционные таблицы
Нормализация заполненных таблиц
Назначение ключевых полей для заполненных таблиц
Подобный материал:
1   2   3   4   5   6   7   8   9   10   ...   28

2.2. Укрупненная модель информации табличного вида



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

На рис.2.3 приведена схема информации табличного вида.


Предметная область

NT1 NT2 NTQ

П1 NT1




П1 NT2



П1 NTQ

П2 NT1

П2 NT2

П2 NTQ







ПN NT1

ПK NT2

ПT NTQ




Рис.2.3. Схема информации табличного вида


В данном случае известны и соответственно отображены только структуры таблиц. Следует подчеркнуть, что в отличие от случая, представленного на рис. 2.2 таблицы всегда заполнены данными.

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

Таким образом, укрупненную модель информации табличного вида можно представить следующим образом.

NТ = {NТ1, NТ2, …, NТi, …, NТq}, где

q – число таблиц в наборе;

i – i-я нереляционная, ненормализованная таблица набора.

i соответствует предметной области.


i = (Пi1 Пi2, …, Пij, …, Пin), где

Пij – j-е поле i – ой таблицы;

n – число полей таблицы.

Несмотря на сходство представленной укрупненной модели и укрупненной модели БД, очевидны их существенные различия. В частности:

- NТi, в отличие от Ti, нереляционные, ненормализованные таблицы;

- NТi, в отличие от Ti, не содержит ключевых полей.

- NT(Sj) =  – множества связанных таблиц, в отличие от T(Sj) пустые.

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

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

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

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

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

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

2.3. Задачи преобразования заполненных нереляционных таблиц в реляционные таблицы



Преобразование нереляционных таблиц в реляционные таблицы

В литературе [2] сформулированы требования к реляционным таблицам. В соответствии с этими требованиями, в частности, в реляционных таблицах должны отсутствовать сложные атрибуты, типы одноименных атрибутов должны совпадать, записи реляционных таблиц не должны дублироваться.

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

В рамках этого же метода необходимо выполнить следующие мероприятия:

- разработку алгоритма исключения заголовков внутри таблиц;

- разработку алгоритма избавления от первого атрибута, если он используется в качестве заголовка таблицы;

- разработку метода приведения значений атрибутов к одному типу;

- разработку алгоритма исключения дублирования записей.

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


Нормализация заполненных таблиц

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

В связи с этим необходима разработка как минимум 4-х методов.

В частности, необходима разработка метода избавления от сложных атрибутов в заполненных таблицах.

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

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

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

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


Назначение ключевых полей для заполненных таблиц

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

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


Выявление и формирование связей между заполненными реляционными таблицами

В литературе, посвященной реляционным БД, описаны возможные типы связей между реляционными таблицами [2,14]. Рассмотрены 4-е типа связей. Эти связи обеспечивают эффективный доступ к данным, хранящимся в таблицах БД.

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

В связи с этим необходимы:

- разработка метода выявления и формирования связей один - к одному в заполненных реляционных таблицах;

- разработка метода выявления и формирования связей один - ко многим в реляционных заполненных таблицах;

- разработка метода выявления и формирования связей многие - ко многим в заполненных реляционных таблицах.

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

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

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



Методы проектирования реляционных БД на основе информации табличного вида

Методы приведения таблиц к первой и второй нормальным формам

Алгоритм исключения подзаголовков

Алгоритм исключения заголовков внутри таблиц

Алгоритм избавления от 1-го атрибута, если его значения заголовки

Методика нормализации заполненных таблиц

Методика преобразования нереляционных таблиц в реляционные

Методы приведения таблиц к третьей и четвертой нормальным формам

Методика назначения ключевых полей


Методика выявления и формирования связей между таблицами


Метод выявления и формирования связей типа один - к одному

Метод выявления и формирования связей типа один - ко многим


Метод выявления и формирования связей типа многие - ко многим






Рис. 2.4. Схема иерархии методов проектирования реляционных баз данных на основе использования информации табличного вида



Важно отметить, что разрабатываемые методы и методики – человеко-машинные. Это обусловлено тем, что в большинстве случаев в процессе выполнения манипуляций по проектированию БД необходимо принятие решений разработчиком относительно выбора дальнейшей последовательности действий. Человеко-машинный подход имеет существенную положительную сторону – при проектировании БД используется опыт и творческий потенциал разработчика.

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

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

Однако следует отметить, что при разработке методов автоматизированного проектирования используются общие закономерности, которые изложены в ряде работ [1-2]. Эти закономерности, конечно, следует учитывать при разработке специфических автоматизированных методов решения проектных задач в ходе разработки реляционной БД.