НЕДОСТАТОЧНОСТЬ ТРАДИЦИОННОЙ ТЕОРИИ

advertisement
НЕДОСТАТОЧНОСТЬ ТРАДИЦИОННОЙ ТЕОРИИ
СТРУКТУРИЗАЦИИ
Традиционная теория структуризации данных основывается на концепции баз данных с трехуровневой архитектурой представления данных, на реализации концептуальной
модели ПО с помощью классических иерархической,
сетевой и реляционной моделей данных с применением
формализмов 1 : 1, 1: M и N : M для отображения типов
связей между парами информационных элементов.
Практика проектирования баз данных свидетельствует о
том, что реальные связи между информационными описаниями объектов многих предметных областей разнообразнее
классических 1:1, 1:M, N:M.
Особенности связи типа 1 : 1
Связь типа 1:1 определяет однозначное соответствие
кортежей двух отношений и, на первый взгляд, естественно осуществить соединение отношений с такой связью.
Однако возможны следующие ситуации, когда физическое, да и логическое соединение может оказаться нецелесообразным.
а) Не все кортежи одного отношения имеют связуемые
кортежи в другом.
б) Одно из отношений содержит редко используемые
атрибуты (излишняя детальность, не интересующие пока
пользователей атрибуты).
в) Одно из отношений содержит практически не изменяемые, а другое - наоборот, часто изменяемые атрибуты.
г) Одно из отношений содержит вторичные, возможно
не подлежащие хранению атрибуты.
Иллюстрация особенностей а), б), в). г) связи 1 : 1
R4
в)
б)
R1
R3
Шифр студента
Шифр студента
Фамилия И.О.
Место проживания
до поступления
Дата рождения
Место рождения
Пол
R2
а)
г)
Суммарный балл
на вст. экзаменах
Признак обучения
на
подгот. курсах
R5
Шифр студента
Дата призыва на
военную службу
Дата демобилизации
Воинское звание
Шифр студента
Возраст
Стаж работы
Шифр студента
Суммарный рейтинг по последней
аттестации
Долг по всем виам
выплат
Кол-во пропусков
на
начало недели
Особенности связи 1 : М
Для связи 1: M могут иметь место следующие особенности, значимые для построения концептуальной информационной модели и, что важно, для отображения такой связи
пользователям (для внешнего представления).
а) Для некоторых кортежей подчиненного отношения
может не быть связанных кортежей в старшем отношении.
б) Для некоторых кортежей старшего отношения может
не быть связанных кортежей в подчиненном отношении.
в) При наличии кортежа старшего отношения
не может не быть связанных с ним кортежей в подчиненном отношении.
г) Не может быть кортежей подчиненного отношения без
наличия соответствующего им кортежа старшего отношения.
д) В ряде случаев связь типа 1: M является по существу
связью типа M : 1.
R6
Номер группы
допол нит. образования
R1
1:M
а),б), д)
Шифр студента
Номер группы
Специальность
Факультет
Профилирующая
кафедра
R7
б) 1:M (0)
Шифр студента
Фамилия И.О.
Дата обращения в полкл.
Дата рождения
Диагноз
Пол
1:М
Номер группы
дополнит. образования
R8
Личный номер
врача
Фамилия И.О.
Способ лечения
Личн. номер
врача
д)
Дата завершения
лечения
Особенности связи 1 : М
а)
б)
в) При наличии кортежа старшего отношения
не может не быть связанных с ним кортежей в подчиненном отношении.
г) Не может быть кортежей подчиненного отношения без
наличия соответствующего им кортежа старшего отношения.
д)
R9
R10
1:M
Номер группы
в), г)
Учебный год
Номер аттестации
Отклонение от
среднего рейтинга
Отклонение от
max. рейтинга в
группе
R 11 лечения
R12
1:M
Признак наличия
аспирантов
Шифр вуза
Форма обучения в
аспирантуре
Кол-во сдудентов
Кол-во специальностей

Учебный год
Номер аттестации
Суммарный рейтинг студента
Средний рейтинг
студента в группе
R10 (Not Null)
Мак.возможный
рейтинг
Шифр вуза
Шифр студента
в)
План выпуска
по форме обучения
Завершение аспирантуры с представлением
диссертации
Кол-во аспирантов
по форме обучения
Особенности связи 1 : М
а), б), в)
г) Не может быть кортежей подчиненного отношения без наличия соответствующего им кортежа
старшего отношения
или
R13
Предприятие
R15
Шифр студента
Выплаты с нач
.года
Расчетный счет
г)
Остаток на счете
Долг с нач. года
1:M
Размер стипендии
R14
Предприятие
г)
Пособие на детей
R12
Дата платежа
Номер платежного поручения
Сумма
R16
Шифр студента
Месяц
R14
Получатель
Начислено к выплате
Номер счета
получателя
R17
Код изделия
1:М
Месяц
Трудоемкость
Норма расхода
Материалов
Зарплат на производство
R18
Код изделия
г)
Фактический выпуск (кол.)
Затраты на производство
Отгружено потребителям
Особенности связи 1 : М
а), б), в), г)
д) В ряде случаев связь типа 1: M является по
существу связью типа M : 1.
R19
Шифр студента
R19
Шифр типа стипендии
Дата назначения
стипендии
д)
R20
Номер приказа
R20
Шифр типа стипендии
Название типа
стипендии
Условия назначения
Размер стипендии
R20 раскрывается по мере
необходимости
Еще одна важная особенность связи 1:М
Особенности связи N : M
Связь типа N:M не может быть представлена в виде удобном для понимания и использования, но может быть преобразована путем замены на 2 связи типа 1:M с дополнительным, старшим отношением параметрической связи.
Возможны два варианта образования связи N:M:
а) по общей части ключей (на атрибуте пересечения ключей);
б) по неключевым полям в связываемых отношениях,
определенных на одних и тех же доменах.
Дополнительное (старшее) отношение будет иметь в качестве ключа атрибуты пересечения ключей связываемых
отношений случая б) и атрибут, определенный на объединении доменов атрибутов связи а).
а) при пересечении ключей
R21
R23
Шифр студента
Семестр
Дисциплина
M:1
Оценка
Зачет по лаб.
Вид аттестации
N:M
Рейтинг по Д.
Семестр
R22
Дисциплина
Группа
Вид занятий
Кол-во часов по
виду занятий в
группе
Семестр
Дисциплина
Кол-во часов по
дисциплине в семестре
М:1
б ) пересечение по неключевому полю факультет
R24
M:1
R26
Шифр студента
Факультет
Фамилия И.О.
Группа
Факультет
Параметры
факультета
R25
Шифр преподавателя
Фамилия И.О.
Кафедра
Должность
Факультет
M:N
M:1
Проблема выявления наличия связи
Недостаточность традиционной теории структуризации
проявляется не только в отсутствии учета рассмотренных
выше семантических нюансов связей 1:1 и 1:M, но и в
отсутствии каких либо формализованных способов определения наличия связи (связуемости отношений) и ее вида.
Даже реляционная модель, реализуя связь через сравнение
значений атрибутов связи (т.е. некоторый формализм определения связуемости возможен) не имеет теоретических
положений и процедурных средств, позволяющих выявить
эти атрибуты.
R1
Код пациента
R2
Личный номер
врача
Место работы
Место работы
Поликлиника
прикрепления
Номер страхового
полиса
Должность
Специализация
Приведенный пример показывает, что семантика
связей «спрятана» не только в именах атрибутов связи (естественно и в именах ключевых атрибутов), но и
в доменах атрибутов связи.
3.6. Недостаточность традиционной теории структуризации в процедурной части
Если учесть, что в исследуемой проблеме речь идет о процедурах связывания элементов в структуру и преобразования структур данных, то следует
отметить, что иерархическая и сетевая модели данных вообще не касаются
таких процедур.
В реляционной модели данных сюда можно отнести лишь операцию соединения, осуществляющую связь между отношениями по типу 1:1 или М:1
. Правда, операция эта не рассматривается как структурная, поэтому не исследованы вопросы ее влияния на другие связи в концептуальной модели.
Другие операции реляционной алгебры на первый взгляд не касаются структурных аспектов, но если учесть, что в результате их выполнения меняются
(возможно весьма существенно) состав кортежей результирующего отношения, это может привести к изменению вида связей изменяемого отношения с
другими отношениями.
Например, при выполнении операции объединения для фрагмента
концептуальной информационной модели, приведенного на рис. 3.6.1, меняются отмеченные выше особенности связей типа 1:М
Шифр общежития
Адрес
Количество
мест
Дата строительства
Шифр студента
Шифр студента
1 курс
Операция
объединение
Студенты, зачисленные
на 1 курс
РАЗВИТИЕ ТЕОРИИ СТРУКТУРИЗАЦИИ
Анализ семантики атрибутов и ключей
В сетевой, иерархической и реляционной моделях данных ключ определяется лишь с формальной точки зрения как минимальное подмножество
атрибутов отношения, значения которых однозначно идентифицируют кортеж (сегмент, запись). Однако именно имена атрибутов ключа вместе с
именем неключевого атрибута в основном определяют смысл последнего.
Так неключевой атрибут «количество изготовленных изделий» будет определен полностью, если известно имя атрибутов ключа. Это может быть «месяц», а может составной ключ «номер цеха», «Ф.И.О. работника». Таким
образом, ключ (имена атрибутов ключа) определяет семантику отношения.
Проектируя структуру данных, мы полагаем что отношения имеют
связь, если имеет смысл (для конкретных приложений) однозначно соотнести кортежи одного отношения с кортежами другого. Помятуя о том, что
любой кортеж однозначно идентифицируется ключом, учитывая предыдущий вывод о семантической силе ключей, можно утверждать, что основное
множество интересующих пользователей связей (а значит и концептуальной
модели) определяется ключами отношения. Действительно связь 1 : 1 однозначна, а значит возможна лишь посредством ключевых атрибутов. Подтверждением этого тезиса служат примеры, приведенные ранее для иллюстрации особенностей связей 1 : 1 (п. 3.1).
Аналогично связь 1 : М возможна лишь когда в качестве атрибутов связи одного из отношений участвует ключ этого отношения, опять же по причине однозначности ссылки на 1, а в другом отношении это может быть либо
подмножество ключа, либо неключевой атрибут. Иллюстрационные примеры
раздела 3.3. подтверждают это. И лишь связь N : M ,в виду ее нетрадиционности, возможна либо за счет совпадения подмножеств атрибутов ключей,
либо совпадения неключевых атрибутов (см. примеры раздела 3.4.) . Тогда,
определив корректно ключи (имена и домены соответствующих атрибутов), можно достаточно формализованно установить и связи между отношениями.
В свою очередь, корректное определение атрибутов ключа, как равно и
любых атрибутов, также желательно осуществлять на основе некоторых
формализованных процедур. Это позволит, с одной стороны, упростить
процесс идентификации атрибута и в то же время, уменьшить вероятность
неоднозначного толкования атрибутов разных отношений, претендующих
на статус атрибутов связи.
Принимая во внимание важное значение имен атрибутов для перехода
от предметной области к структуре данных следует обратить внимание на
проблему идентификации атрибутов и связанную с этим проблему синонимии и омонимии. Надо видимо согласиться с тем, что наиболее точно эти
проблемы может решить специалист предметной области.
Однако, при
наличии сотен и даже тысяч атрибутов, справиться с задачей можно лишь с
использованием человеко-машинных процедур. Основываясь на опыте идентификации атрибутов, можно сделать утверждение о том, что семантика атрибута, в основном, определяется множеством его возможных значений
(доменом). Пример, приведенный в разделе 3.5, иллюстрирует это.
В то же время домен можно отождествить с классификатором, а процедуру присвоения атрибута объекту, как отнесения его к классу, определяемого соответствующим значением. Тогда появляется возможность использовать известные определяющие свойства классификатора для анализа корректности домена, а значит и атрибута.
Первое свойство предполагает, что классификатор должен иметь такое множество классификационных признаков, что любой объект классификации может обладать не более чем одним из них, т.е. быть отнесенным
только к одному классу. Не выполнение аналогичного требования к домену
некоторого атрибута означает либо невыполнение первой нормальной формы, либо неверное определение атрибута, связанное с совмещением нескольких атрибутов в одном.
Второе требование к классификатору заключается в том, что любой объект обязательно должен быть отнесен к одному из классов. Применительно к
домену это означает, что для любого объекта должно быть найдено значение
в домене. В противном случае домен, а значит и атрибут определены неверно. Таким образом, применяя к домену известные требования к классификатору, можно с некоторой долей формализации провести анализ корректности
определения атрибутов.
Учитывая определенное выше соответствие между классификатором и
доменом, а также интерпретируя наличие связи между отношениями как отнесение их к некоторому единому классу (описывают одно и то же множество объектов, определенную сферу их деятельности, один и тот же период
времени и т.п.), можно утверждать, что атрибут является универсальным
средством отображения связи. Здесь нельзя не заметить, что реляционная
модель также определяет связь между отношениями через атрибуты разных
отношений, определенных на одном и том же домене, не объясняя однако
почему это так и не уточняя, что значит «определены на одном и том же домене».
Вопрос о степени соответствия доменов важен не только для определения связи между отношениями, но и для анализа состава атрибутов в концептуальной модели, для решения проблемы синонимии и амонимии при
идентификации атрибутов.
Download