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

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

Содержание


8.3. Исследование методики преобразования информации табличного вида в реляционные базы данных
Подобный материал:
1   ...   20   21   22   23   24   25   26   27   28

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



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

Задачами исследования, решение которых должна обеспечить модель и математический аппарат, являются выявление и исключение ситуаций, приводящих к зацикливанию процесса интерактивного взаимодействия, выявление и исключение недостижимых ситуаций интерактивного взаимодействия, анализ функциональной полноты проекта системы, предварительный анализ временных характеристик системы. При этом модель должна отражать асинхронные процессы, предоставлять возможность моделирования протекания параллельных процессов и абстрагироваться от разделения ролей между разработчиком БД, между системой специальных содержательных вопросов и между операциями ввода – вывода. В качестве аппарата формализации, полностью удовлетворяющего сформулированным требованиям, выбран аппарат сетей Петри. Согласно [17] сети Петри ”идеально удовлетворяют требованиям представления интерактивных процессов”.

В связи со значительным объемом разрабатываемых средств детальное описание и исследование всех человеко-машинных процессов, возможных при решении задач преобразования ИТВ к РБД, затруднительно. Однако задача упрощается в связи с существованием однотипных процессов и процессов с небольшим числом состояний, исследование которых не представляет интереса. В частности, вероятно, не следует включать в модель все 4-е методики нормализации реляционных таблиц, все 4-е методики формирования связей между реляционными таблицами.

Начальный уровень представления интерактивного взаимодействия в процессе преобразования ИТВ к РБД в форме сети Петри разработан на основе динамической модели (рис. 8.2.11).




Рис. 8.3.1. Сеть Петри соответствующая динамической модели преобразования ИТВ в РБД


На рис. 8.3.1 приведена сеть Петри, соответствующая динамической модели. Модели ИТВр, модели РБДр, СО, СП ставятся в соответствие положения сети Р. Операторам ОП, ОПР ставятся в соответствие переходы сети t. Имена положений и переходов сети Петри соответствуют номерам компонент динамической модели.

Сеть Петри представляется тройкой P =  Р, Т, Р, где

Р – множество положений;

Т – множество переходов;

Н – множество маркеров.

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

Сеть Петри является устойчивой, если она имеет потоковое назначение i  0 для каждого T  ti, где потоковое назначение – это функция, которая приписывает каждому переходу T  ti положительное рациональное число, называемое ее потоком [18]. Потоковое назначение для сети Петри должно удовлетворять требованиям:

- каждая дуга переносит поток, равный потоку перехода, к которому присоединена эта дуга;

- для каждого положения сумма потоков входных дуг должна равняться сумме потоков выходных дуг.

Пусть для каждого перехода сети рис. назначен поток i. Для каждого положения Pi запишем уравнения потоков, которые не должны противоречить друг другу, если данная сеть устойчива. Уравнения сведены в таблицу табл. 8.3.1.

Т а б л и ц а 8.3.1





t1

t2

t3

t4

t5

t6

t7

t8

t9

t10




Р1

-1













-6 +6













=0

Р2

+1













-6













=0

Р3




+2 -2

+3

-4



















=0

Р4




-2




+4



















=0

Р5







+3 -3




-5







+8







=0

Р6







-3




+5
















=0

Р7
















-6 +6

-7










=0

Р8




-2

-3










+7

-8 +8







=0

Р9



















-7 +7




-9




=0

Р10



















-7




+9




=0

Р11






















-8 +8




-10

=0

Р12






















-8




+10

=0






Перепишем полученные уравнения в более компактной форме:

- 1 - 6 + 6 = 0 (1)

+ 1 - 6 = 0 (2)

+ 2 - 2 + 3 - 4 = 0 (3)

- 2 + 4 = 0 (4)

+ 3 - 3 + 8 - 5 = 0 (5)

- 3 + 5 = 0 (6)

- 7 - 6 + 6 = 0 (7)

- 2 - 3 + 7 + 8 - 8 = 0 (8)

- 7 + 7 - 9 = 0 (9)

- 7 + 9 = 0 (10)

- 8 + 8 - 10 = 0 (11)

- 8 + 10 = 0 (12)


Преобразовав уравнения, получим:

1 = 0 (1)

1 = 6 (2)

3 = 4 (3)

2 = 4 (4)

8 = 5 (5)

3 = 5 (6)

7 = 0 (7)

7 = 2 + 3 (8)

9 = 0 (9)

7 = 9 (10)

10 = 0 (11)

8 = 10 (12)

Выполнив соответствующие подстановки, получим:

1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = 10 = 0,

То есть все потоковые значения нулевые. Это противоречит условию устойчивости системы.

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

Поэтому модель нуждается в модификации, иначе методика, построенная на базе полученной модели, вероятно, будет содержать ошибки. Как видно из системы уравнений, нулевые потоковые значения, которые привели к нулевым потоковым значениям для всех положений, связаны с положениями Р1, Р7, Р9, Р11. Естественно предположить то, что если исправить ситуацию для перечисленных положений, то она исправится и для сети в целом.

Вернемся к прообразам положений Р1, Р7, Р9, Р11 и попытаемся выяснить существо ошибки.

Р1 отражает в модели СОр систему оценки соответствия информации табличного вида требованиям, предъявляемым к реляционным таблицам. Из рис. 8.2.11 видно, что СОр по выходам связана с двумя операторами, а по входам – с одним (связь с ИТВ не является связью с оператором). Из связи такого рода можно сделать ложный вывод о том, что СОр получается непосредственно из ИТВ без всяких преобразований. На самом деле это не так. Необходимо выполнить ряд оценок, что сопряжено с действиями и соответственно с операторами. Поэтому в динамической модели преобразования введем соответствующий оператор, а в сети Петри соответствующий переход t11. (Этот оператор и другие компоненты обновленной динамической модели отражены на рис. 8.3.4, который построен после выполнения всех необходимых манипуляций с сетью Петри).

Прообразом положения Р7 является ИТВ, прообразом положения Р9 является СОи (система оценки импорта). Эти компоненты модели связаны между собой, поэтому вначале попытаемся нормализовать ситуацию с одной из компонент, а другую рассмотрим позже. СОи по входу связана с одним оператором ОПи, а по выходу – с двумя операторами ОПРи и ОПи. Имеется связь между ИТВ и СОи по входу, но эта связь предполагает, что оценки необходимых действий по импорту выполняются без участия специальных средств. На самом деле это не так. В процессе импорта задействуются специализированные средства СУБД, использование которых не отражено. В связи с этим в операторную модель рис. 8.3.4 необходимо добавить дополнительный оператор ОСОи между ИТВ и СОИ, а в модель на основе сети Петри добавим соответствующий переход t12.

Прообразом положения Р11 является СОн (система оценки нормализации таблиц РБД). СОн по входу связана с одним оператором ОПн, а по выходу с двумя операторами ОПРн и ОПн. Это и нарушает потоковое равновесие. СОн связана по входу непосредственно с РБД. И если бы они были связаны посредством оператора, то фрагмент модели, связанной с СОн, не привносил бы отрицательную составляющую в устойчивость сети. И действительно, в динамической модели ошибочно отражено состояние процесса оценки соответствия таблиц РБД нормальным формам. Это безусловно действие и даже систему действий, которая в динамической модели должна быть отражена хотя бы одним оператором. В связи с этим в операторную модель рис. 8.3.4 добавим оператор ОСОн, а в модель, полученную на основе сети Петри, соответствующий переход t13.

В результате выполнения модификаций получим сеть Петри, представленную на рис. 8.3.2.




Рис 8.3.2. Первая модификация сети Петри


Несмотря на выявление и исключение теперь уже очевидных ошибок, полной уверенности в том, что полученная сеть стала устойчивой, нет. Дело в том, что в сеть добавлены 3-и новых перехода. Тем самым изменено потоковое назначение сети не только для рассмотренных положений, но и для положений, связанных с ними через переходы. Поэтому повторно запишем уравнения потоков для обновленной сети (табл. 8.3.2).


Т а б л и ц а 8.3.2





t1

t2

t3

t4

t5

t6

t7

t8

t9

t10

t11

t12

t13




Р1

-1













-6 +6













+11







=0

Р2

+1













-6






















=0

Р3




+2 -2

+3

-4




























=0

Р4




-2




+4




























=0

Р5







+3 -3




-5







+8
















=0

Р6







-3




+5

























=0

Р7
















-6 +6

-7










-11

-12




=0

Р8




-2

-3










+7

-8 +8













-13

=0

Р9



















-7 +7




-9







+12




=0

Р10



















-7




+9













=0

Р11






















-8 +8




-10







+13

=0

Р12






















-8




+10










=0






Напишем уравнения в более компактной форме.

- 1 - 6 + 6 + 11 = 0 (1)

+ 1 - 6 = 0 (2)

+ 2 - 2 + 3 - 4 = 0 (3)

- 2 + 4 = 0 (4)

+ 3 - 3 + 8 - 5 = 0 (5)

- 3 + 5 = 0 (6)

- 7 - 6 + 6 - 11 - 12 = 0 (7)

- 2 - 3 + 7 + 8 - 8 - 13 = 0 (8)

- 7 + 7 - 9 + 12 = 0 (9)

- 7 + 9 = 0 (10)

- 8 + 8 - 10 + 13 = 0 (11)

- 8 + 10 = 0 (12)


Анализ уравнений позволяет сделать вывод о том, что ситуация существенно улучшилась. Однако осталось еще два противоречивых уравнения - уравнение 7 и уравнение 8. В уравнении 7 имеет место 4-е исходящих потока и 1 – входящий. В уравнении 8 входит 4-е потока и выходят 2 потока – явный дисбаланс.

Выражение 7 записано для положения 7 а положение 7 соответствует компоненте ИТВ в динамической модели (рис 2.2.11), Анализируя окружение ИТВ в динамической модели, можно сделать вывод о том, что только один оператор, непосредственно связанный с ИТВ имеет с ней обратную связь. А между тем, преобразование ИТВ – итерационный процесс и обратные связи с операторами, непосредственно работающими с ИТВ по всей видимости необходимы. Сформируем эти связи в сетевой и динамической моделях. Модифицированная сетевая модель приведена на рис.8.3.3, модифицированная операторная модель – на рис.8.3.4.




Рис. 8.3.3. Вторая модификация сети Петри


Для полученной сети запишем уравнения потоков, которые представлены в табл. 8.3.3.


Т а б л и ц а 8.3.3





t1

t2

t3

t4

t5

t6

t7

t8

t9

t10

t11

t12

t13




Р1

- 1













- 6 +6













+11







=0

Р2

+1













- 6






















=0

Р3




+2 - 2

+3

- 4




























=0

Р4




- 2




+4




























=0

Р5







+3 - 3




-5







+8
















=0

Р6







- 3




+5

























=0

Р7
















- 6 +6

- 7 +7










- 11+11

-12+12




=0

Р8




- 2

- 3 +3










+7

- 8 +8













-13+13

=0

Р9



















- 7 +7




- 9







+12




=0

Р10



















- 7




+9













=0

Р11






















- 8 +8




- 10







+ 13

=0

Р12






















- 8




+10










=0






Уравнение потоков для положения Р7 теперь выглядит следующим образом:

- 6 + 6 - 6 + 7 - 11 + 11- 12 + 12 = 0, или 0 = 0.

Таким образом, уравнение превратилось в тождество, и противоречий нет.

Уравнение потоков для положения Р8 теперь выглядит следующим образом:

- 2 - 3 + 3 + 7 + 8 - 8 - 13 + 13 = 0, или 7 = 2.

Противоречия нет.

В результате выполненных преобразований исходной сети Петри получена устойчивая сеть (рис.8.3.3).Функционирование такой сети не приведет к коллизиям перемещения информационных потоков. А так как полученная сеть взаимно однозначно соответствует динамической модели (рис. 8.3.4), то модель методики преобразования ИТВ к РБД является устойчивой, что исключает принципиальные ошибки в методике на ранних этапах ее разработки и реализации.





Рис. 8.3.4. Динамическая модель преобразования ИТВ к РБД


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

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

- эта связь лишняя и не отражает реальные процессы;

- эта связь необходима, но ее надо реализовать посредством перехода;

- динамическая модель не может быть в полном объеме отображена посредством классической сети Петри.

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

Является ли данная связь лишней? Из прототипа сетевой модели следует, что это - обратная связь, которая сформирована между РБД и СОи (системы оценок импорта). Эта связь задействована на начальных этапах построения динамической модели, и это косвенно свидетельствует о ее необходимости. Действительно, СОи должна не только выполнить анализ мероприятий, которые необходимо выполнить в процессе импорта таблиц ИТВ в таблицы РБД, но и должна выполнить анализ успешности выполнения мероприятий по импорту данных. Этот анализ выполняется во многом на основе данных, полученных в РБД. Поэтому связь между РБД и СОи необходима.

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

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

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

Новое уравнение потоков для Р8:

7 + 8 + 13 + 3 = 2 + 3 + 8 + 13 + 14 или

7 = 2 + 14

Это противоречивое уравнение. Поэтому необходимо проанализировать Р8 на отсутствие входных связей, которые имеют физический смысл.

Положение Р8 имеет обратные связи с переходами t3, t8 и t13, которым соответствуют операторы ОПк, ОПн, ОСОн. Это операторы, которые непосредственно связаны с РБД и реализуют операции назначения ключевых полей, операции нормализации таблиц РБД. Кроме названных операторов непосредственно с РБД связан оператор ОПс – оператор, обеспечивающий формирование связей между реляционными таблицами. Но этот оператор не имеет обратной связи с РБД и это явное упущение, так как процесс назначения связей между таблицами итерационный. Поэтому между ОПс и РБД формируется двунаправленная связь, которая и отражена в сети (рис. 2.3.3) ОПс соответствует переход t2.

Запишем уравнения потоков для Р8 с учетом дополнительного потока:

2 + 7 + 8 + 13 + 3 = 2 + 3 + 8 + 13 + 14 или

7 = 14

Противоречий нет.

Новое уравнение потоков для положения Р9 выглядит следующим образом:

14 + 12 + 7 = 7 + 9 или

14 + 12 = 9

Это уравнение противоречивое.

(Из уравнения (9) следует, что 12 = 9 и тогда 14 = 0)

Очень вероятно, что для положения Р9 ошибочно не сформирована необходимая связь, которая имеет физический смысл. Так как переход Р9 соответствует СОи (система оценки результатов импорта), то необходимо проанализировать связанные с ней операторы на предмет наличия входных связей. Можно предположить то, что посредством оператора ОСОи не только формируется система оценок результатов импорта на основе данных ИТВ, но и наоборот, посредством оператора ОСОи на основе СОи выполняется модификация ИТВ с целью ее подготовки для реализации успешного импорта таблиц ИТВ. По сути так оно и есть, тем более, что между ОСОи и ИТВ имеется двунаправленная связь. Поэтому в сети отразим обратную связь между Р9 и t12. Эту же связь отразим на динамической модели.

Выполним проверку баланса потоков для положения Р9:

14 + 12 + 7 = 7 + 9 + 12 или

14 = 9

Противоречий нет.

Таким образом, на основе анализа опраторной модели, анализа вариантов сети Петри построена устойчивая сеть Петри, удовлетворяющая классическим требованиям.

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

Даже на данной стадии описания и исследования операторной модели она представляет ценность. Операторная модель позволяет сделать вывод:

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

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

- о связях между методами и средствами в разрабатываемой системе.

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

Что касается динамики функционирования сети Петри и соответствующей ей операторной модели, она в данном случае отражена лишь отчасти и сводится к ориентации информационных потоков.

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