- •1. Концепция баз данных
- •1.1. Обоснование концепции баз данных. История вопроса
- •Количество абитуриентов по областям
- •1.2. Архитектура представления информации в концепции бд
- •Внешние представления
- •Файл 1
- •Общие сведения о студенте
- •Сведения об учебе
- •Сведения о неуспевающих студентах (количество)
- •1.3. Понятия схемы и подсхемы и их использование в субд
- •2. Информационная система сферы управления - основная область использования бд
- •3. Модели данных
- •3.1. Понятия модели и структуры данных
- •3.2. Линейная модель данных
- •3.3. Иерархическая структура (модель) данных
- •Студент
- •Семестр
- •3.4. Сетевая структура (модель) данных
- •Итоговая аттестация
- •Семестр
- •Студент
- •Студент1
- •Студент2
- •3.5. Реляционная модель данных
- •3.5.1. История применения реляционной модели данных
- •3.5.2. Основные понятия реляционной модели данных
- •3.5.3. Ключ отношения
- •3.5.4. Нормализация отношений
- •Студент
- •Студент
- •Студент
- •Общежите
- •3.5.5. Операции реляционной алгебры
- •Студент
- •Студенто
- •Нестудент
- •Встречи
- •Делитель
- •Студент
- •Студент
- •Студент
- •Семестр
- •3.5.6. Языки обработки реляционных бд
- •Студент
- •Аудитория
- •Делитель
- •Преподаватель
- •Студент
- •Студент
- •Итоговая аттестация
- •4. Процесс проектирования бд
- •4.1. Построение концептуальной информационной модели ПрО
- •4.1.1. Основные подходы для концептуального моделирования
- •4.1.1.1. Декомпозиционный подход
- •4.1.1.2. Интеграционный подход
- •1.1. Идентификация информационных потребностей пользователей предполагает:
- •1.2. Представление выявленных форм отображения информационных потребностей пользователей в виде исходных отношений предусматривает выполнение следующих действий:
- •1.2.1. Рекомендации по выявлению атрибутов
- •1.2.2. Определение вторичных атрибутов
- •2. Уточнение множества исходных отношений состоит из:
- •3. Связывание отношений и простых структур в кимпо
- •4.1.2. Модели, используемые в концептуальном проектировании
- •4.2. Выбор субд
- •4.3. Проектирование физической структуры бд
- •4.4. Case-средства, используемые при проектировании бд
- •4.5. Пример проектирования бд
3. Связывание отношений и простых структур в кимпо
Предлагается единый алгоритм связывания в КИМПО отдельных отношений и простейших структур. Для этого связи между отношениями простейших структур предварительно фиксируются, а составляющие их отношения анализируются далее как автономные отношения в соответствии с приведенным ниже алгоритмом. При построении алгоритма учитываем, что:
в КИМПО преобладают иерархические зависимости;
связь типа комментарий - это связь через единственный атрибут
связь типа соединение либо приводит к физическому соединению отношений, либо к наследованию связей каждого с другими отношениями;
(3)
2 riS> Ът
5
п
Е»,
- J=i
связь типа группировка преобразуется в две связи типа иерархия с некоторым, возможно, виртуальным, отношением, ключ которого совпадает с пересечением ключей исходных отношений или с неключевым атрибутом пересечения.
Алгоритм построен таким образом, что некоторое отношение (будем называть его анализируемым) последовательно сравнивается с множеством других, уже включенных в базовую КИМПО отношений (будем называть их исследуемыми).
2 Значение коэффициента (2) рассчитано для случая lt=5lk.
3.1. Содержательный (неформализованный) алгоритм связывания отдельных отношений в КИМПО
а) Предварительный этап
Отношения разбиваются на классы с равным числом атрибутов в ключе отношения.
б) Связывание отношений первого класса с отношениями других классов
Для каждого отношения первого класса (анализируемое отношение) проводим анализ на связуемость с отношениями других классов (исследуемые отношения) последовательно, начиная со второго класса.
Если ключ очередного исследуемого отношения является расширением ключа анализируемого отношения первого класса, то фиксируем между ними в таблице 6 связь типа иерархия, в котором старшим является отношение из первого класса.
Если среди неключевых атрибутов исследуемого отношения есть атрибут, сопоставимый атрибуту ключа исследуемого отношения, то фиксируем между ними в таблице 6 связь типа комментарий, в котором псевдостаршим является анализируемое отношение.
в) Связывание отношений i-го класса (i > 2) с отношениями i + к класса
Для каждого отношения i-ro класса (анализируемого отношения) проводим анализ на связуемость с отношениями i + 1 класса (исследуемые отношения), затем с отношением i + 2 класса и т.д. Затем аналогично проводим анализ отношений i + 1 класса со всеми последующими классами, i + 2-го и т.д.
Если ключ очередного исследуемого отношения является расширением ключа анализируемого, то фиксируем между ними связь типа иерархия, в котором старшим является анализируемое отношение.
Если ключи исследуемого и анализируемого отношений пересекаются (связь типа группировка), то проверяется, установлена ли связь анализируемого с отношением, имеющим ключ, совпадающий с выявленным пересечением ключей. Если да, то аналогичная связь устанавливается и с исследуемым отношением, если нет, то необходимо сформировать, аналогично ситуации в б), виртуальное отношение, зафиксировать в таблице 6 иерархическую связь с ним исходных отношений как со старшим, включить его в состав исследуемых и провести анализ его связуемости с другими отношениями в соответствии с в).
г) В каждом из блоков а), б), в) после проверки ключевых атрибутов проверяется наличие по крайней мере сопоставимых (соподчиненных, совпадающих) неключевых атрибутов в анализируемом и исследуемом отношениях и, если таковые есть, проверяется, есть ли в первом классе отношения с атрибутом ключа, сопоставимым с выявленным.
Если такое отношение есть, то с ним фиксируется связь типа комментарий с псевдостаршим по отношению к исходным отношениям.
Если такового отношения в первом классе нет, то фиксируется виртуальное отношение с ключом, состоящим из одного атрибута, домен которого равен объединению доменов анализируемых атрибутов исходных отношений, фиксируется его связь с последними как псевдостаршего в комментарии и проводится его анализ с другими отношениями в соответствии с а).
д) Приведенный алгоритм выявляет все возможные связи, в то время как для наглядного отображения концептуальной модели следующие связи являются несущественными, загромождающими изображение:
иерархические связи между несмежными элементами ветви в иерархии;
совпадающие связи с другими отношениями тех отношений, которые связаны между собой по типу соединение.
Поэтому помечаем как несущественные (транзитивные) связи между отношениями, удовлетворяющими следующим условиям.
Если между отношением R1 с ключом К1 установлена связь типа иерархия с отношением R2 с ключом (Kl, К2), и связь отношения R2 с отношением R3 с ключом (Kl, К2, КЗ) также связь типа иерархия и между отношениями R1 и R3 также установлена связь типа иерархия, то последняя может быть помечена как несущественная (транзитивная).
Если между отношением R1 и R2 установлена связь типа соединение, то связи одного из них (соподчиненного или с меньшей мощностью домена) можно пометить как несущественные.
Следует заметить, что связи, несущественные с точки зрения иллюстрации концептуальной модели, могут быть обязательными при отображении концептуальной модели в модель БД конкретной СУБД (т.к. на основе связей формируются ограничения ссылочной целостности).
