Similar presentations:
Логическое проектирование БД
1. Лекция 6 Логическое проектирование БД
2. Содержание
6.1. Основные понятия6.2. Упрощение концептуальной модели данных
6.2.1. Исключение связей типа М:M
6.2.2. Исключение сложных связей
6.2.3. Рекурсивные связи
6.2.4. Исключение связей с атрибутами
6.2.5. Исключение множественных атрибутов
6.2.6. Исключение избыточных связей
3. 6.1. Основные понятия
Логическое проектирование заключается в:• определении числа и структуры таблиц;
• формировании запросов к БД;
• определении типов отчетных документов;
• разработке алгоритмов обработки информации;
• создании форм для ввода и редактирования данных
в базе;
• решении ряда других задач.
4. 6.1. Основные понятия
Решение задач логического проектирования БД в основномопределяется спецификой задач предметной области. Важной
здесь является проблема структуризации данных, в
наибольшей степени отвечающей указанной цели:
a) обеспечение быстрого доступа к данным;
b) исключение ненужного повторения данных, которое
может явиться причиной ошибок приводе информации и
нерационального использования дискового пространства
компьютера;
c) обеспечение целостности данных таким образом, чтобы
при изменении одних объектов автоматически происходило
изменение вязанных с ними объектов.
5. 6.1. Основные понятия
Можно выделить два подхода к проектированиюреляционной БД.
• Первый, более традиционный предложенный Коддом,
предполагает создание на этапе концептуального
проектирования не концептуальной модели данных, а
непосредственно реляционной схемы БД, состоящей
из определений реляционных отношений.
• Это вариант восходящего подхода к проектированию
БД, который заключается в постепенном выявлении
различного рода зависимостей между атрибутами и
устранении нежелательных из них.
6. 6.1. Основные понятия
• Второй подход основан на концептуальной моделиданных, создаваемой на этапе концептуального
проектирования. Затем эта модель механически
преобразуется в реляционную модель.
• Это вариант нисходящего подхода, поскольку он
начинается с построения концептуальной модели, где
усилия концентрируются прежде всего на выявлении
важных для организации объектов и их связей.
• Он уже не приводит к перестройке отношений, т.к. в
схеме реляционной БД данных отсутствуют
нежелательные зависимости между атрибутами
отношений.
7. 6.1. Основные понятия
• Таким образом, фаза логического проектироваанияпредполагает следующие действия:
1. Преобразование концептуальной модели данных в
логическую модель, в результате которого будет
определена схема реляционной модели данных
2. Проверка модели с помощью последовательной
нормализации
3. Проверка модели в отношении транзакций
4. Проверка целостности данных
8. 6.2. Упрощение концептуальной модели данных
• Преобразование концептуальной модели данных влогическую может иметь два подхода.
• Первый подход состоит в том, что проектировщик
работает с концептуальной моделью напрямую, не
прибегая к ее предварительному преобразованию.
• В этом случае ему придется столкнуться с
необходимостью преобразования структур данных,
причем на пути преобразования некоторых из них он
может встретить ряд трудностей.
9. 6.2. Упрощение концептуальной модели данных
• Второй подход состоит в том, чтопроектировщик, прежде чем приступить к
процессу перехода от концептуальной модели
к логической, стремится вначале данный
переход максимально упростить, проведя
предварительные преобразования некоторых
структур данных, не подходящих для
реляционных СУБД.
10.
Реляционная модель данных недопускает:
• Связи типа М:М
• Сложные связи
• Рекурсивные связи
• Связи с атрибутами
• Множественные атрибуты
• Избыточные связи
11. 6.2.1. Исключение связей типа М:M
Для исключения связи типанеобходимо ввести новый объект:
м
м
ПОКУПАТЕЛЬ
ПОКУПАТЕЛЬ
1
м
делает
М:М
покупает
ПОКУПКА
1
ТОВАР
включает
м
ТОВАР
Новый объект соединить связями 1:М с
исходными объектами.
12. 6.2.2. Исключение сложных связей
Исключение тернарных связей:1. В модель вводится новый объект;
2. Сложная связь заменяется
бинарными связями исходных
объектов с вновь созданными;
3. Количество таких связей равно
степени сложности связи.
13. Пример:
ПРЕПОДАВАТЕЛЬм
ведет
м
ЗАНЯТИЯ
м
ЛАБОРАТОРИЯ
14. 6.2.3. Исключение сложных связей
ПРЕПОДАВАТЕЛЬЗАНЯТИЯ
1
ведет
1
м
ЛАБ_ЗАНЯТИЯ
м
в
м
1
ЛАБОРАТОРИЯ
ведутся
15. 6.2.3. Рекурсивные связи
Для исключения необходимо ввестиновый объект:
работают
м
РОЛЬ_СОТРУДНИКА
1
1
м
руководит
СОТРУДНИК
работает
1
м
СОТРУДНИК
16. 6.2.4. Исключение связей с атрибутами
Для исключения необходимо ввестиновый объект и создать две связи
нового объекта с исходными объектами.
ПРЕПОДАВАТЕЛЬ
м
читает
время
м
КУРС
17.
ПРЕПОДАВАТЕЛЬКУРС
1
пр_читает
м
1
ЛЕКЦИЯ
время
м
состоит_из
18. 6.2.5. Исключение множественных атрибутов
Для исключения множественного атрибутадля него надо создать новый объект.
ОТДЕЛ( Код_отдела, Название_отдела, Телефон,
ФИО_работников)
ОТДЕЛ
1
имеет
м
ТЕЛЕФОН
ОТДЕЛ(Код_отдела, Название_отдела, ФИО_раб)
ТЕЛЕФОН(Код_отдела, Номер_телефона)
19. 6.2.6. Исключение избыточных связей
Наличие таких связей говорит отом, что одна и та же информация была
получена через разные связи.
КОМПАНИЯ
1
работает
м
МЕНЕДЖЕР
1
ведет
м
ДОГОВОР
1
заключает
м
КЛИЕНТ