Лекция 6 Логическое проектирование БД
1/19
1.08M
Category: databasedatabase

Логическое проектирование БД

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
заключает
м
КЛИЕНТ
English     Русский Rules