SlideShare une entreprise Scribd logo
1  sur  42
Бази даних
та інформаційні системи
Проектирование базы данных

Лекції 6, 7, 8, 9
Подходы к проектированию базы данных
Существуют два основных подхода к проектированию систем баз данных:
 нисходящий;
 восходящий;
 смешанная стратегия проектирования

Восходящий подход
Содержание: при восходящем подходе работа начинается с атрибутов (т.е. свойств
сущностей и связей), которые на основе анализа существующих между ними связей
группируются в отношения, представляющие типы сущностей и связи между ними.
Базовая методология: НОРМАЛИЗАЦИЯ

Нормализация предусматривает идентификацию требуемых атрибутов с последующим
созданием из них нормализованных таблиц, основанных на функциональных зависимостях
между этими атрибутами.
Применение:


Приемлем для проектирования простых баз данных с относительно небольшим
количеством атрибутов.

Недостатки:
 Использование этого подхода существенно усложняется при проектировании баз данных с
большим количеством атрибутов;
 На начальных стадиях формулирования требований к данным в крупной базе данных
может быть трудно установить все атрибуты, которые должны быть включены в модели
данных.
2

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Подходы к проектированию базы данных
Нисходящий подход
Содержание: при восходящем подходе работа начинается с разработки моделей данных,
которые содержат несколько высокоуровневых сущностей и связей, затем работа
продолжается в виде серии нисходящих уточнений низкоуровневых сущностей, связей и
относящихся к ним атрибутов.
Базовая методология: МОДЕЛЬ «СУЩНОСТЬ-СВЯЗЬ»

или ER-модель (Entity-Relationship)
Применение:


Приемлем для проектирования сложных баз данных

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

3

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Моделирование данных
Основные цели моделирования данных состоят в:


упрощении описания требований к данным предметной области (ПрО) и
процедурам взаимодействия этих данных;



едином понимании требования к данным отдельных пользователей и
разработчиков;

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

отражении характера самих данных независимо от их физического представления;



использовании данных в пределах области применения приложения.

На предприятиях все шире применяются средства стандартизации для
моделирования данных путем выбора определенного метода моделирования и
использования его во всех проектах разработки базы данных.

Самая популярная технология высокоуровневого моделирования данных
построена на концепции модели "сущность-связь"
(Entity-Relationship model — ER-модель).

4

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Критерии оценки модели данных
Оптимальная модель данных должна удовлетворять критериям, перечисленным в
таблице. Однако иногда эти критерии несовместимы, поэтому приходится идти на
некоторый компромисс.
Например, в погоне за наибольшей выразительностью модели данных можно
утратить ее простоту.
Критерий

Описание

Структурная достоверность

Простота

Удобство изучения модели как профессионалами в области
разработки информационных систем, так и обычными
пользователями

Выразительность

Способность представлять различия между данными, связи между
данными и ограничения

Отсутствие избыточности

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

Способность к совместному использованию

Отсутствие принадлежности к какому-то особому приложению или
технологии и, следовательно, возможность использования модели
во многих приложениях и технологиях

Расширяемость

Способность развиваться и включать новые требования с
минимальным воздействием на работу уже существующих
приложений

Целостность

Согласованность со способом использования и управления
информацией внутри предприятия

Схематическое представление

5

Соответствие способу определения и организации информации на
данном предприятии

Возможность представления модели с помощью наглядных
схематических обозначений

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Бази даних
та інформаційні системи
Проектирование БД на основе
построение ER-модели.
Концептуальне та логічне проектування РМД

Лекції 6, 7, 8, 9
План лекции
Введение. Этапы проектирования РМД
1. Концептуальное проектирование
2. Логическое проектирование
3. Физическое проектирование
Заключение

7

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Цель лекции:
1. Рассмотреть пошагово концептуальный и логический этапы

проектирования РБД;
2. Рассмотреть примеры разработки схемы БД

8

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Введение
Подход к проектированию БД:
НИСХОДЯЩИЙ
Базовая методология:
ПОСТРОЕНИЕ ER-ДИАГРАММЫ

9

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Этапы проектирования базы данных (нисходящий подход)
Процесс проектирования базы данных состоит из трех основных этапов:
 концептуальное проектирование;
 логическое проектирование;
 физическое проектирование.

Концептуальное (инфологическое) проектирование БД
Концептуальное проектирование базы данных - процесс создания информационной модели
ПрО (концептуальной), не зависящей от любых физических аспектов ее представления
Содержание: Включает в себя определение типов важнейших сущностей и существующих между
ними связей, атрибутов.
Описание:


Концептуальная модель данных создается на основе информации, записанной в
спецификациях требований пользователей.



Концептуальное проектирование базы данных абсолютно не зависит от таких подробностей ее
реализации:







10

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

При разработке концептуальная модель данных постоянно подвергается тестированию и
проверке на соответствие требованиям пользователей.
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Логическое (даталогическое) проектированиеБД
Логическое проектирование базы данных - процесс создания модели ПрО на основе
выбранной модели организации данных, но без учета типа целевой СУБД и других
физических аспектов реализации.
Описание:
 Концептуальная модель данных, созданная на предыдущем этапе, уточняется и
преобразуется в логическую модель данных.
 Логическая модель данных учитывает особенности выбранной модели организации
данных в целевой СУБД (например, реляционная модель).
 На этом этапе уже должно быть известно, какая СУБД будет использоваться в
качестве целевой - реляционная, сетевая, иерархическая или объектно-ориентированная.
 Игнорируются все остальные характеристики выбранной СУБД, например, любые
особенности физической организации ее структур хранения данных и построения
индексов.
 В процессе разработки логическая модель данных постоянно тестируется и
проверяется на соответствие требованиям пользователей к данным и обеспечению
поддержки всех необходимых пользователям транзакций.
 Для проверки правильности логической модели данных используется метод
нормализации
 Созданная логическая модель данных является источником информации для этапа
физического проектирования
 Логическая модель данных играет также важную роль на этапе эксплуатации и
сопровождения уже готовой системы.
11

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Физическое проектирование базы данных
Физическое проектирование базы данных - описание способа физической
реализации логической модели базы данных

Описание:
 на этом этапе рассматриваются создание отношений, организация файлов и

индексов, предназначенных для обеспечения эффективного доступа к данным, а
также все связанные с этим ограничения целостности и средства защиты.
В случае РМД :
 создание набора реляционных таблиц и ограничений для них на основе информации,

представленной в логической модели данных;
 определение конкретных структур хранения данных и методов доступа к ним
(организация файлов, индексов), обеспечивающих оптимальную производительность
СУБД;
 разработка средств защиты создаваемой системы.

Замечание!
На этапах концептуального и логического проектирования решается вопрос «ЧТО
ДЕЛАТЬ», а на этапе физического проектирования - «КАК ДЕЛАТЬ».
 Этапы выполняются последовательно, поскольку понять, что надо сделать, следует
прежде, чем решить, как это сделать.
 Этапы требуют совершенно разных навыков и опыта, поэтому требуют привлечения
специалистов различного профиля.


12

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Последовательность действий
при концептуальном проектировании
Данный этап включает создание и проверка локальной концептуальной модели
данных для отдельных пользователей:

1.

Определение типов сущностей

2.

Определение типов связей

3.

Определение атрибутов и связывание их с типами сущностей и связей

4.

Определение потенциальных и выбор первичных ключей

5.

Проверка на избыточность (удаление избыточных связей

6.

Проверка соответствия модели требованиям пользовательских
транзакций (проверка на достаточность);

13

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Последовательность действий при логическом проектировании
Данный этап включает следующие шаги
1. Создание и проверка локальной логической модели данных для отдельных
пользователей
1.1 Исключение особенностей, несовместимых с РМ:
- преобразование связей типа M:N за счет добавления новой сущности;
- преобразование сложных связей (не бинарных) в сущности;
- анализ и преобразование рекурсивных связей M:N;
- преобразование связей, имеющих атрибуты, в сущности;
- удаление множественных атрибутов за счет добавления новой сущности;
1.2 Дополнительный анализ:
- перепроверка связей типа 1:1;
- анализ рекурсивных связей 1:1, 1:M;
- анализ связей супер класс/подкласс;
- проверка модели с помощью правил нормализации на соответствие
требованиям 3-й нормальной формы;
- повторная проверка на избыточность (удаление избыточных связей);
- повторная проверка соответствия отношений требованиям пользовательских
транзакций (проверка на достаточность);
1.3 Определение набора отношений исходя из структуры логической модели данных;
1.4 Отражение всех требований итоговой ER-диаграммы логической модели в документации;
1.5. Согласование локальной логической модели данных с пользователем (заказчиком).
2. Создание и проверка глобальной логической модели данных
14

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Логическое проектирование. Преобразование связей типа M:N и связей с атрибутами
Проблема: присутствует связь типа M:N или связь с атрибутами
Решение проблемы:



создание промежуточной сущности;
связь типа M:N заменяется двумя связями типа 1:М, устанавливаемыми от старых
сущностей к вновь созданной сущности.

Пример 1:

Адрес_газета

Исходная модель:
ИН_газета

Газета

Назв_газета

М

ИН_объект
Адрес_объект

N

Печать

Объект

Дата

Преобразованная модель:

Газета

ИН_объект

Адрес_газета

ИН_газета
1

Печатает

N

Объявление

Назв_газета

Раскрытие схемы:
Газета (ИН_газета, Назв_газета, Адрес_газета)
Объект (ИН_объект, Адрес_объект)
Объявление (ИН_газета(ВК), ИН_объект(ВК), Дата)
15

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

Дата

M

Печатается

1

Объект

Адрес_объект
Логическое проектирование. Преобразование сложный связей
Проблема: присутствует сложная связь
Сложная связь – связь между тремя и более типами сущностей.
Решение проблемы:
создание промежуточной сущности;
введение новый связей от старых сущностей к вновь созданной




Пример 2.1:(БП:объекты не перепродаются, в сделке участвует 1 менеджер)
Исходная модель:

Менеджер

ИН_покуп

Покупатель

1
Сделка

1

ИН_мен

K

ИН_объект

Объект
недвижимости

Преобразованная модель:
ИН_мен

Менеджер
ИН_покуп

1
Участвует

Покупатель

M

1
Покупает

N

Сделка

Раскрытие схемы:
Покупатель (ИН_покуп)
Объект (ИН_объект)
Менеджер (ИН_мен)
Сделка (ИН_покуп(ВК), ИН_объект(ВК), ИН_мен (ВК))
16

ИН_объект

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

1

Продается

1

Объект
недвижимости
Логическое проектирование.
Преобразование сложный связей с атрибутами. Миграция атрибутов
Пример 2.2 : (БП:объекты перепродаются, в сделке участвует 1 менеджер)
Исходная модель:

ИН_мен

ИН_объект

Менеджер

ИН_покуп

Покупатель

L

R
Сделка

K

Объект
недвижимости

Преобразованная модель:
ИН_мен

Менеджер
ИН_покуп

1
Участвует

Покупатель

ИН_объект

M

1
Покупает

N

Сделка

P
ИН_сделка

Продается

Раскрытие схемы:
Покупатель (ИН_покуп)
Объект (ИН_объект)
Менеджер (ИН_мен)
Сделка (ИНсделка, ИН_покуп(ВК), ИН_объект(ВК), ИН_мен (ВК))

17

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

1

Объект
недвижимости
Логическое проектирование.
Преобразование сложный связей с атрибутами. Миграция атрибутов
Пример 2.3 : (БП:объекты перепродаются не чаще 1 раза в сутки, в сделке участвует 1 менеджер,
фиксируется дата сделки)

Исходная модель:

ИН_мен

ИН_объект

Менеджер

ИН_покуп

Покупатель

L

R
Сделка

K

Объект
недвижимости

Дата

Преобразованная модель:
Вариант а:
ИН_мен

Менеджер
ИН_покуп

1
Участвует

Покупатель

ИН_объект

M

1
Покупает

N

Сделка

P

Продается
Дата

Раскрытие схемы:
а) Сделка (ИН_покуп(ВК), ИН_объект(ВК), ИН_мен (ВК), Дата)
18

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

1

Объект
недвижимости
Логическое проектирование.
Преобразование сложный связей с атрибутами. Миграция атрибутов
Пример 2.3 : (БП:объекты перепродаются, в сделке участвует 1 менеджер, фиксируется дата сделки)
Исходная модель:

ИН_мен

ИН_объект

Менеджер

ИН_покуп

L

Покупатель

1
Сделка

K

Объект
недвижимости

Дата

Преобразованная модель:

Вариант б:
ИН_мен

Менеджер

ИН_покуп

1
Участвует

Покупатель

ИН_объект

M

1
Покупает

N

Сделка

ИН_сделка

P

Продается
Дата

Раскрытие схемы:
б) Сделка (ИН_сделка, ИН_покуп(ВК), ИН_объект(ВК), ИН_мен (ВК), Дата)

19

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

1

Объект
недвижимости
Логическое проектирование.
Преобразование многозначных атрибутов
Проблема: присутствует многозначный атрибут
Многозначный атрибут – атрибут, хранящий несколько значений, соответствующих одному
экземпляру сущности
Решение проблемы:
 создание новой сущности;
Исходная модель:
 введение новый связей от старой сущностей к новой
Телефон
Пример 3.1:
БП:
Отделение
1.Телефонный номер принадлежит только 1 отделению
2. У отделения может быть более одного номера
Название_отд
Номер_ отд

Преобразованная модель:

Отделение
Номер_ отд

1

Имеет

Название_отд

Раскрытие схемы:
Отделение (Номер_отд, Название_отд)
Телефон (Номер_телефона, Номер_отд (ВК))
20

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

M

Телефон
Номер_тел
Логическое проектирование.
Преобразование многозначных атрибутов
Пример 3.2а:
БП:
1.Телефонный номер может принадлежать нескольким отделениям
2. У отделения может быть более одного номера
Исходная модель:
Телефон
3. Существуют перечень телефонных номеров,
Отделение
принадлежащих всему предприятию. Номера из этого
списка закрепляются за отделениями. Могут существовать
Название_отд
номера, которые в данный момент не используются.
Номер_ отд
Преобразованная модель:
Шаг1.
M
N
Отделение

Отделение
Номер_ отд

1

Телефон

Номер_тел

Название_отд

Номер_ отд

Шаг2.

Имеет

Имеет

M Принадлежность

M

телефона

Название_отд

Раскрытие схемы:
Отделение (Номер_отд, Название_отд)
Принадлежность_телефона (Номер_телефона (ВК), Номер_отд (ВК))
Телефон (Номер_телефона)
21

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

Принадлежит

1

Телефон

Номер_тел
Логическое проектирование.
Преобразование многозначных атрибутов
Пример 3.2б:
БП:
1.Телефонный номер может принадлежать нескольким сотрудникам
2. У сотрудника может быть более одного номера
Исходная модель:
3. Перечень телефонных номеров, принадлежащих всем
сотрудникам не хранится.

Телефон

Сотрудник

Преобразованная модель:

Сотрудник
Номер_ сотр

Номер_ сотр

1

Имеет

ФИО

Раскрытие схемы:
Отделение (Номер_сотр, ФИО)
Телефон (Номер_телефона, Номер_сотр (ВК))

22

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

M

Телефон
Номер_тел

ФИО
Логическое проектирование. Анализ рекурсивных связей
Рекурсивная связь:
 1:1, с полным участием со стороны дочерней
 1:M с полным участием со стороны М
Пример 4.1 БП:
1.Все сотрудники имеют консультантов
2. У сотрудника может быть только один консультант
3. Консультант может консультировать X Сотрудников (0:1 или 0:М)
Исходная модель:
Сотрудник (1:М, с полным участием)
Должность
Сотрудникконсультант

Телефон

ФИО

…

Консультант

ФИО

Сотрудник

X
Номер_ сотр

Зарплата

…

7

Петров

…

4

Сидоров

…

1

4

Кузьмин

…

2

5

Консультирует

Иванов

3

1

1
2

Адрес

Сотрудникконсультируемый

Номер_
сотр

Васильев

…

1

6

Пяточкин

…

1

7

Акунин

…

2

…

…

…

…

Раскрытие схемы:
Сотрудник (Номер_сотр, ФИО, Должность, Зарплата, Адрес, Телефон, Консультант(ВК))

23

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Логическое проектирование. Анализ рекурсивных связей
Рекурсивная связь:
Исходная модель:
Должность
 1:1, с частичным участием со стороны дочерней
Адрес
 1:M с частичным участием со стороны М
Сотрудник1
консультант
Пример 4.2 БП:
Консуль1. Не каждый сотрудник имеет
Сотрудник
тирует
Консультанта (част. участие со стороны дочерн) СотрудникX
2.У сотрудника может быть только
консультируемый
Номер_ сотр
один консультант.
3. Консультант может консультировать X сотрудников (0:1 или 0:М).
Преобразованная модель:
ФИО

Сотрудник

1

Консультируется

1
Сотрудник

Консультирует

Раскрытие схемы:
Сотрудник (Номер_сотр, ФИО)
Консультация (Консультируемый(ВК), Консультант(ВК))
24

1

Консультация

Сотрудник
Номер_ сотр

Консультируемый

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

Консультант

X

Телефон

ФИО
Зарплата
Логическое проектирование. Анализ рекурсивных связей
Преобразованная модель:
ФИО

Сотрудник

1

Консультируется

Консультируемый

1

Консультация

Сотрудник
Номер_ сотр

?

1
Сотрудник

Консультирует

Консультант

Раскрытие схемы:
Сотрудник (Номер_сотр, ФИО)
Консультация (Консультируемый(ВК), Консультант(ВК))
Сотрудник
Номер_
сотр

Консультация (1:1, с частичн. участием Сотрудников в обеих связях)
ФИО

Консультируемый

Консультант

1

Иванов

1

7

2

Петров

3

1

3

Сидоров

4

2

4

Кузьмин

5

Васильев

6

Пяточкин

7

Акунин

Консультация (1:М, с частичн. участием Сотрудников в обеих связях)

25

…

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

Консультант

1

2

3

…

Консультируемый

1

4

2

5

1
Логическое проектирование. Анализ рекурсивных связей
Рекурсивная связь:
Исходная модель:
 M:N
Адрес
Пример 4.3 БП:
1. У сотрудника может быть более
Консультант
M
одного консультанта.
Консультирует
2. Консультант может
Сотрудникконсультировать нескольких сотрудников.
N
консультируемый
Преобразованная модель:
ФИО
1

Сотрудник

Должность

1
Сотрудник

Зарплата

Номер_ сотр

Консультируется

Консультируемый

M
Консультация
N

Консультирует

Консультант

Сотрудник

Раскрытие схемы:
Сотрудник (Номер_сотр, ФИО)
Консультация (Консультируемый(ВК), Консультант(ВК))

ФИО

Сотрудник

Сотрудник
Номер_ сотр

Телефон

Номер_
сотр

Консультация (M:N)
ФИО

Консультируемый

Консультант

1

2

2

Петров

1

5

Сидоров

3

1

4

Кузьмин

4

1

5

Васильев

4

7

6

Пяточкин

7

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

Иванов

3

26

1

Акунин

…

…
Логическое проектирование. Перепроверка связей 1:1
дописать

27

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Логическое проектирование. Проверка на избыточность связей
Следует стремиться создавать минимальные модели
При наличии нескольких связей между сущностями, необходимо проверить модель на
избыточность.
Пример 5.1
БП:
1. Рассматривается только текущий брак между мужчиной и женщиной
2. Учитываются все имеющиеся дети
Вопрос: Кто является мамой и папой ребенка?



Мужчина

1

Участвует в
браке

1

1

1
Имеет

Имеет

M

28

Женщина

Ребенок

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

M
Логическое проектирование. Проверка на избыточность связей
Пример 5.2
БП:
1. Рассматривается все браки между мужчиной и женщиной
2. Учитываются все имеющиеся дети
3. Одна и та же пара может повторно заключать брак
Вопрос: Кто является мамой и папой ребенка?

Мужчина

M

Участвует
в браке

1

Брак

M

Участвует
в браке

1

1

1

Имеет

Имеет

M

29

Женщина

Ребенок

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

M
Логическое проектирование. Проверка на избыточность связей
Пример 5.3
БП:
1. Рассматривается все браки между мужчиной и женщиной
2. Учитываются все имеющиеся дети
3. Одна и та же пара может повторно заключать брак
Вопрос: Кто является мамой и папой ребенка?
В браке ли рожден ребенок и каком?
ИН_Брак
Мужчина

M

Участвует
в браке

1

Брак

M

Участвует
в браке

1

1

1

1

Имеет

Имеет

Имеет

M
M

30

Ребенок

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

Женщина

M
Логическое проектирование.
Проверка отношений с использованием средств нормализации
(обзорно)
Нормализация – процесс проверки и реорганизации сущностей и атрибутов с целью
удовлетворения требований к реляционной модели данных.
В ре­зультате проведения нормализации должна быть создана структура данных, при которой
информация о каждом факте хранится только в одном месте, и решены проблемы модификации
данных (аномалии обновления).
Процесс нормализации сводится к последовательному приведению структуры данных к
нормальным формам - формализованным требованиям к организации данных.
Известны шесть нормальных форм:


первая нормальная форма (1НФ);



вторая нормальная форма (2НФ);



третья нормальная форма (3НФ);



нормальная форма Бойса - Кодда (усиленная 3НФ);



четвертая нормальная форма (4НФ);



пятая нормальная форма (5НФ).

На практике обычно ограничиваются приведением данных к третьей нормальной форме.
31

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Логическое проектирование.
Проверка отношений с использованием средств нормализации
(обзорно)
Нормальные формы основаны на понятии функциональной зависимости (ФЗ).
Функциональная зависимость (ФЗ).
Атрибут В сущности Е функционально зависит от атрибута А сущности Е тогда и только
тогда, когда каждое значение атрибута А однозначно определяет одно значение атрибута В.
Полная функциональная зависимость.
Атрибут В сущности Е полностью функционально зависит от ряда атрибутов А сущности Е
тогда и только тогда, когда В функционально зависит от А и не зависит ни от какого
подряда А.
Пример ФЗ
Сотрудник (СотрудникИН, ФИО, Должность, Оклад)
ФЗ1: СотрудникИН ФИО, Должность, Оклад
ФЗ2: Должность Оклад

32

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Логическое проектирование.
Проверка отношений с использованием средств нормализации
(обзорно)
Первая нормальная форма (1НФ). Сущность находится в 1НФ тогда и только тогда, когда все
атрибуты содержат атомарные значения, т.е. не должно встречаться нескольких значений атрибута
для одного экземпляра либо сложных значений, по части которых планируется поиск
информации.
Пример 6. БП: У отделения может быть более одного телефона, телефон принадлежит только
одному отделению
Город
Номер_ отд

Отделение

Название_отд

Телефон

Адрес

Улица
Дом_Офис

Для приведения сущности к 1НФ следует :
1) разделить сложные атрибуты на атомарные;
Отделение (Номер_отд, Название_отд, Город, Улица, Дом_фис, ?)
2) создать новую сущность, перенести в нее все "многозначные" атрибуты, установить связь от
прежней сущности к новой (РК прежней сущности станет внешним ключом (FK) для новой
сущности), выбрать РК из существующих атрибутов (или создать суррогатный);
Неправильно!: Отделение (Номер_отд, Название_отд, Город, Улица, Дом_фис, Тел1, Тел2, Тел3)
Правильно!: Отделение (Номер_отд, Название_отд, Город, Улица, Дом_фис)
Телефон (Телефон, Номер_отд)
33

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Логическое проектирование.
Проверка отношений с использованием средств нормализации
(обзорно)
Вторая нормальная форма (2НФ). Сущность находится во 2НФ, если она находится в 1НФ и
каждый неключевой атрибут полностью функционально зависит от первичного ключа (не
должно быть зависимости от части ключа). Вторая нормальная форма имеет смысл только
для сущностей, имеющих составной первичный ключ.
Описания предметной области можно оформить в виде таких БП:
1. Каждым проектом последовательно может руководить несколько сотрудников с
фиксированием Даты начала и Даты завершения руководства;
2. Сотрудник может руководить многими проектами, но каждым проектом - только один раз
(один промежуток времени).

Руководство (ПроектИН, СотрудникИН, ДатаНачала, ДатаЗавершения, ФИО, Должность)
ФЗ1: ПроектИН, СотрудникИН ДатаНачала, ДатаЗавершения
(ПФЗ)
ФЗ2: СотрудникИН
ФИО, Должность
(ЧФЗ)
Тогда для приведения сущности ко 2НФ следует:
выделить атрибуты, которые зависят только от части первичного ключа, создать новую сущность;
поместить атрибуты, зависящие от части ключа, в их собственную (новую) сущность вместе
атрибутом, от которого они зависят;
 использовать атрибут, определяющий эту зависимость, в качестве первичного ключа новой сущности;
 установить идентифицирующую связь от новой сущности к прежней сущности



Руководство (ПроектИН, СотрудникИН (ВК), ДатаНачала, ДатаЗавершения)
Сотрудник (СотрудникИН, ФИО, Должность)
34

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Логическое проектирование.
Проверка отношений с использованием средств нормализации
(обзорно)
2НФ позволяет избежать следующих аномалий при выполнении операций:




Вставка (INSERT). Невозможно было бы ввести данные о сотруднике, если он в
данный момент не руководил проектами.



35

Обновление (UPDATE). Имело бы место дублирование данных о сотрудни­ке, если он
руководит несколькими проектами. Если данные о сотруднике изменялись бы,
необходимо было менять несколько записей (по числу ведомых проектов).

Удаление (DELETE). Если сотрудник временно прекращал бы руководство проектами,
данные о нем терялись.

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Логическое проектирование.
Проверка отношений с использованием средств нормализации
(обзорно)
Третья нормальная форма (3НФ). Сущность находится в 3НФ форме, если она находится во
второй нормальной форме и никакой неключевой атрибут не зависит от другого неключевого
атрибута (исключается транзитивная зависимость, т.е. не должно быть взаимозависимости между
неключевыми атрибутами).
Пример 7
БП: Оклад сотрудника зависит от его должности.
Сотрудник (СотрудникИН, ФИО, Должность, Оклад)
ФЗ1: СотрудникИН ФИО, Должность, Оклад
ФЗ2: Должность Оклад (ТФЗ)
Для приведения сущности к 3НФ следует:


создать новую сущность и перенести в нее атрибуты с одной и той же зависимостью от
неключевого атрибута;



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



установить неидентифицирующую связь от новой сущности к старой.

Сотрудник (СотрудникИН, ФИО, ДолжностьНазв (ВК))
Должность (ДолжностьНазв, Оклад)
36

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Логическое проектирование.
Проверка отношений с использованием средств нормализации
(обзорно)
Третья нормальная форма также позволяет избежать ряда аномалий, которые
возникали бы без приведения к 3НФ:




Вставка (INSERT). Невозможно было бы ввести данные об окладе,
соответст­вующем должности, если в данный момент нет сотрудника,
занимающего эту должность.



37

Обновление (UPDATE). Имело бы место дублирование данных об окладе,
если одинаковую должность занимают несколько сотрудников. Если оклад
соответст­вующей должности менялся, необходимо было бы менять
несколько записей (по числу сотрудников на одной должности).

Удаление (DELETE). В случае удаления из таблицы сотрудника,
зани­мающего уникальную должность, данные об окладе терялись бы.

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
Предметная область «Учебный процесс»
БП:
1.
2.

На кафедре работает много преподавателей, каждый преподаватель закреплен за
одной кафедрой.

3.

Преподаватель может иметь более одного номера телефона, некоторые
преподаватели могут иметь одинаковый номер.

4.

Оклад преподавателя определяется его должностью.

5.

Студенческая группа состоит более чем из одного студента, каждый студент
закреплен за одной группой.

6.

Дисциплины, имеющие одинаковое название, но разное количество часов,
считаются разными дисциплинами.

7.

38

Одну дисциплину может преподавать много преподавателей. Преподаватель
может читать много дисциплин.

Студенту разрешено пересдавать экзамен по дисциплине, но только другому
преподавателю, читающему такую же дисциплину

ХНУРЕ кафедра Інформатики доц. Яковлева
О.В.
Название
дисциплины

Часы

Преподаватель

Оклад

Тел. преп.

ПМ-06-1

Базы

102

Петров А.И.

1500

8-050-456-67-87

Информа-

123457 Боков С.С.

тики,

……………

проф.

5

2.05.07

утвержд.

8-098-786-63-55

5

2.05.07

не утв.

7021-34-56

…..

4

6.05.07

не опред.

133687 Орлова О.И.

3

6.05.07

не опред.

………..

…..

2

3.05.07

утвержд.

5

6.05.07

утвержд.

данных

Тема дипл.
работы

Дата

Группа

123456 Иванов И.И.

Оценка

№ студ,
Ф.И.О. студента

Кафедра

Должность

Кафедра,
каб.

Предметная область «Учебный процесс»

каб. 288

133686 Аникин С.А.

123667 Иванов И.П.

ПМ-06-2

ИНФ-04-3

82

Имит.

123668 ВласоваС.С.

Петров А.И.

моделир

………….

82

Рожков П.Р.

ование

1100

1500

8-050-876-17-09

8-067-499-17-11

7021-34-56

доцент

проф.

…
…

Кафедра

………

…..

……….

……….

ПМ, каб.27

39

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

…..
Исходная схема данных БД «УСПЕВАЕМОСТЬ»
1.

2.

1.
2.

1.
2.

1.
2.
40

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

Вариант 1
Вывести ФИО студентов факультета ПММ 2008 и
2009 года поступления (названии групп которых
присутствует ’08’ или ’09’), у которых отсутствует
консультант.
Подсчитать среднюю оценку для каждого
деканата в каждом семестре. Вывести название
деканата, номер семестра, среднюю оценку.
Вариант 2
Вывести ФИО студентов, которые в 1-м или 2-м
семестрах сдавали дисциплину К2.
Подсчитать количество экзаменов по каждой
дисциплине. Вывести название дисциплины и
количество экзаменов.
Вариант 3
Вывести ФИО студентов, которые сдали
дисциплину «Базы данных» на балл D, т.е. оценка
находится в интервале [66;74].
Подсчитать среднюю оценку в группе по каждой
дисциплине. Вывести название группы, название
дисциплины, среднюю оценку.
Вариант 4
Вывести
ФИО
студентов
специальности
Информатика (в названии группы присутствует
‘ИНФ’), которые не получали оценок ниже 75.
Подсчитать среднюю оценку для каждого
деканата. Выводить название деканата и среднюю
оценку.
Исходная схема данных БД «Торговля»
Клиент
КодКлиента Фамилия
1 Иванов
2 Петров
3 Сидоров

Имя
Иван
Петр
Сидор

Отчество

Фирма

ГородКлиента

Телефон

Иванович ООО Буд
Петрович
ООО Ух
Сидорович ООО Буд

Харьков
Киев
Харьков

050-789 45 56
067- 786 34-87
050-711 65 88

4 Климов
Кузьма Васильевич ООО Буд
5 Абрамов Алексей Федорович ООО Ух
6 Семенов Василий Степанович ООО Уют

Киев
Харьков
Харьков

098-777 45 22
050-232 11 45
098-34522 65

7 Бобырь

Киев

050-555 22 44

Алексей Иванович

ООО Уют

Товар
Код
Товара
1
2
3
4
5
6
7
8
9

Название
Стул
Стол
Стул
Диван
Диван
Стол
Рамка для фото
Подсвечник
Шкаф

Тип

Сорт

мебель
мебель
мебель
мебель
мебель
мебель
интерьер
интерьер
мебель

высший
первый
высший
второй
высший
второй
высший
первый
высший

Цена
400,00р.
200,00р.
400,00р.
4 000,00р.
8 000,00р.
400,00р.
150,00р.
40,00р.
10 000,00р.

Остаток
10
20
1
3
1
2
10
10
2

ГородТовара

КодСделки
1
2
3
4
5
6
7
8
9
10
11

Харьков
Киев
Киев
Харьков
Киев
Москва
Москва
Харьков
Киев

Вариант 1
1.

Вычислить средний объем покупок, совершенный
каждым покупателем (среднее количество товаров в
одной сделке для каждого покупателя). Выводить
фамилию покупателя, средний объем покупок.

2.

Определить товары, с которыми общее количество
сделок превысило три. Выводить название товаров и
количество сделок.

3.

Определить фирмы, которые до 2010 года купили
товара
на
сумму
менее
1000.
Выводить
отсортированные по убыванию названия фирм.

41

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

КодТовара
1
2
1
2
1
3
4
5
6
8
5

Сделка
КодКлиента
1
1
2
2
1
4
3
5
5
6
5

Кол_во
10
2
1
1
2
5
1
2
3
4
5

Дата
11.10.2010
13.10.2009
13.10.2009
14.10.2009
15.10.2009
15.10.2009
15.10.2009
16.10.2009
16.10.2009
17.10.2009
18.10.2009

Вариант 2

1.

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

2.

Вывести список товаров, проданных на
суму более 10000 руб. Выводить названия
товаров и подсчитанную сумму.

3.

Определить покупателей из Харькова,
которые покупали товар более 4 раз (более
4 сделок). Выводить отсортированные по
возрастанию фамилии покупателей.
Вопросы

42

ХНУРЕ кафедра Інформатики доц. Яковлева О.В.

Contenu connexe

Tendances

каркас новая версия
каркас новая версиякаркас новая версия
каркас новая версияVladimir Burdaev
 
01 Архитектура информационных систем. Общие понятия
01 Архитектура информационных систем. Общие понятия01 Архитектура информационных систем. Общие понятия
01 Архитектура информационных систем. Общие понятияEdward Galiaskarov
 
Моделирование данных - краткий обзор
Моделирование данных - краткий обзорМоделирование данных - краткий обзор
Моделирование данных - краткий обзорAndrei Savenko
 
Бизнес и системный анализ весна 2013 лекция 7
Бизнес и системный анализ весна 2013 лекция 7Бизнес и системный анализ весна 2013 лекция 7
Бизнес и системный анализ весна 2013 лекция 7Technopark
 
06 Архитектура информационных систем. Паттерны и фреймворки
06 Архитектура информационных систем. Паттерны и фреймворки06 Архитектура информационных систем. Паттерны и фреймворки
06 Архитектура информационных систем. Паттерны и фреймворкиEdward Galiaskarov
 
03 Архитектура информационных систем. Принципы проектирования архитектуры
03 Архитектура информационных систем. Принципы проектирования архитектуры03 Архитектура информационных систем. Принципы проектирования архитектуры
03 Архитектура информационных систем. Принципы проектирования архитектурыEdward Galiaskarov
 
Построение базы знаний для агентов
Построение базы знаний для агентовПостроение базы знаний для агентов
Построение базы знаний для агентовVladimir Burdaev
 
Архитектурные стили и шаблоны
Архитектурные стили и шаблоныАрхитектурные стили и шаблоны
Архитектурные стили и шаблоныVlad Andrusenko
 
АрхиГраф.MDM: управление мастер-данными
АрхиГраф.MDM: управление мастер-даннымиАрхиГраф.MDM: управление мастер-данными
АрхиГраф.MDM: управление мастер-даннымиSergey Gorshkov
 
Modern Trends in Development of Large Distributed Information Systems
Modern Trends in Development of Large Distributed Information SystemsModern Trends in Development of Large Distributed Information Systems
Modern Trends in Development of Large Distributed Information SystemsSSA KPI
 
Презентация Informatica MDM
Презентация Informatica MDMПрезентация Informatica MDM
Презентация Informatica MDMOleksii Tsipiniuk
 
Моделе-ориентированные ИТ-архитектуры
Моделе-ориентированные ИТ-архитектурыМоделе-ориентированные ИТ-архитектуры
Моделе-ориентированные ИТ-архитектурыSergey Gorshkov
 
Симуляционное моделирование и семантические технологии
Симуляционное моделирование и семантические технологииСимуляционное моделирование и семантические технологии
Симуляционное моделирование и семантические технологииSergey Gorshkov
 
Подход КРОК к построению MDM
Подход КРОК к построению MDMПодход КРОК к построению MDM
Подход КРОК к построению MDMКРОК
 
Пустовит. Архитектура информационной системы интеллектуальной обработки данных
Пустовит. Архитектура информационной системы интеллектуальной обработки данныхПустовит. Архитектура информационной системы интеллектуальной обработки данных
Пустовит. Архитектура информационной системы интеллектуальной обработки данныхMichael Pustovit
 
Доклад "Реализация требований современных информационно-насыщенных бизнес-арх...
Доклад "Реализация требований современных информационно-насыщенных бизнес-арх...Доклад "Реализация требований современных информационно-насыщенных бизнес-арх...
Доклад "Реализация требований современных информационно-насыщенных бизнес-арх...Serge Dobridnjuk
 
07 Архитектура информационных систем. Принципы GRASP
07 Архитектура информационных систем. Принципы GRASP07 Архитектура информационных систем. Принципы GRASP
07 Архитектура информационных систем. Принципы GRASPEdward Galiaskarov
 

Tendances (20)

каркас новая версия
каркас новая версиякаркас новая версия
каркас новая версия
 
01 Архитектура информационных систем. Общие понятия
01 Архитектура информационных систем. Общие понятия01 Архитектура информационных систем. Общие понятия
01 Архитектура информационных систем. Общие понятия
 
Моделирование данных - краткий обзор
Моделирование данных - краткий обзорМоделирование данных - краткий обзор
Моделирование данных - краткий обзор
 
Бизнес и системный анализ весна 2013 лекция 7
Бизнес и системный анализ весна 2013 лекция 7Бизнес и системный анализ весна 2013 лекция 7
Бизнес и системный анализ весна 2013 лекция 7
 
06 Архитектура информационных систем. Паттерны и фреймворки
06 Архитектура информационных систем. Паттерны и фреймворки06 Архитектура информационных систем. Паттерны и фреймворки
06 Архитектура информационных систем. Паттерны и фреймворки
 
лекция 10
лекция 10лекция 10
лекция 10
 
03 Архитектура информационных систем. Принципы проектирования архитектуры
03 Архитектура информационных систем. Принципы проектирования архитектуры03 Архитектура информационных систем. Принципы проектирования архитектуры
03 Архитектура информационных систем. Принципы проектирования архитектуры
 
Построение базы знаний для агентов
Построение базы знаний для агентовПостроение базы знаний для агентов
Построение базы знаний для агентов
 
Архитектурные стили и шаблоны
Архитектурные стили и шаблоныАрхитектурные стили и шаблоны
Архитектурные стили и шаблоны
 
АрхиГраф.MDM: управление мастер-данными
АрхиГраф.MDM: управление мастер-даннымиАрхиГраф.MDM: управление мастер-данными
АрхиГраф.MDM: управление мастер-данными
 
Modern Trends in Development of Large Distributed Information Systems
Modern Trends in Development of Large Distributed Information SystemsModern Trends in Development of Large Distributed Information Systems
Modern Trends in Development of Large Distributed Information Systems
 
Презентация Informatica MDM
Презентация Informatica MDMПрезентация Informatica MDM
Презентация Informatica MDM
 
Ais Lecture 2
Ais Lecture 2Ais Lecture 2
Ais Lecture 2
 
Моделе-ориентированные ИТ-архитектуры
Моделе-ориентированные ИТ-архитектурыМоделе-ориентированные ИТ-архитектуры
Моделе-ориентированные ИТ-архитектуры
 
Симуляционное моделирование и семантические технологии
Симуляционное моделирование и семантические технологииСимуляционное моделирование и семантические технологии
Симуляционное моделирование и семантические технологии
 
Подход КРОК к построению MDM
Подход КРОК к построению MDMПодход КРОК к построению MDM
Подход КРОК к построению MDM
 
ППК л2 2011
ППК л2 2011ППК л2 2011
ППК л2 2011
 
Пустовит. Архитектура информационной системы интеллектуальной обработки данных
Пустовит. Архитектура информационной системы интеллектуальной обработки данныхПустовит. Архитектура информационной системы интеллектуальной обработки данных
Пустовит. Архитектура информационной системы интеллектуальной обработки данных
 
Доклад "Реализация требований современных информационно-насыщенных бизнес-арх...
Доклад "Реализация требований современных информационно-насыщенных бизнес-арх...Доклад "Реализация требований современных информационно-насыщенных бизнес-арх...
Доклад "Реализация требований современных информационно-насыщенных бизнес-арх...
 
07 Архитектура информационных систем. Принципы GRASP
07 Архитектура информационных систем. Принципы GRASP07 Архитектура информационных систем. Принципы GRASP
07 Архитектура информационных систем. Принципы GRASP
 

Similaire à пр8 сем2 1_проектированиербд_er_model2014_02_27

Управление Данными. Лекция 1
Управление Данными. Лекция 1Управление Данными. Лекция 1
Управление Данными. Лекция 1Dmitriy Krukov
 
Проектирование_и_архитектура_ПС_2022_L06.ppt
Проектирование_и_архитектура_ПС_2022_L06.pptПроектирование_и_архитектура_ПС_2022_L06.ppt
Проектирование_и_архитектура_ПС_2022_L06.pptdinarium2016
 
тема 4 2
тема 4 2тема 4 2
тема 4 2asheg
 
НИР "Анализ информационной деятельности территориальных органов МЧС России"
НИР "Анализ информационной деятельности территориальных органов МЧС России"НИР "Анализ информационной деятельности территориальных органов МЧС России"
НИР "Анализ информационной деятельности территориальных органов МЧС России"Artukhin Valeriy
 
раздел 4 проектирование и использование баз данных
раздел 4  проектирование и использование баз данныхраздел 4  проектирование и использование баз данных
раздел 4 проектирование и использование баз данныхtatianabtt
 
Бизнес весна 2014 лекция 3
Бизнес весна 2014 лекция 3Бизнес весна 2014 лекция 3
Бизнес весна 2014 лекция 3Technopark
 
тема 4
тема 4тема 4
тема 4asheg
 
001
001001
001JIuc
 
лекция 1
лекция 1лекция 1
лекция 1cezium
 
лекция 1
лекция 1лекция 1
лекция 1cezium
 
Базы данных лекция №1
Базы данных лекция №1Базы данных лекция №1
Базы данных лекция №1Vitaliy Pak
 
Шаблоны проектирования баз данных — Введение
Шаблоны проектирования баз данных — ВведениеШаблоны проектирования баз данных — Введение
Шаблоны проектирования баз данных — ВведениеDenis Beskov
 
модели метаданных
модели метаданныхмодели метаданных
модели метаданныхasheg
 
тема 5 2
тема 5 2тема 5 2
тема 5 2asheg
 
Управление требованиями и тестирование ПО
Управление требованиями и тестирование ПОУправление требованиями и тестирование ПО
Управление требованиями и тестирование ПОТранслируем.бел
 
8 9 этапы проектированиябд
8 9 этапы проектированиябд8 9 этапы проектированиябд
8 9 этапы проектированиябдEvgeniy Golendyhin
 
информатикаисогд
информатикаисогдинформатикаисогд
информатикаисогдpks11-1
 

Similaire à пр8 сем2 1_проектированиербд_er_model2014_02_27 (20)

Управление Данными. Лекция 1
Управление Данными. Лекция 1Управление Данными. Лекция 1
Управление Данными. Лекция 1
 
Проектирование_и_архитектура_ПС_2022_L06.ppt
Проектирование_и_архитектура_ПС_2022_L06.pptПроектирование_и_архитектура_ПС_2022_L06.ppt
Проектирование_и_архитектура_ПС_2022_L06.ppt
 
тема 4 2
тема 4 2тема 4 2
тема 4 2
 
НИР "Анализ информационной деятельности территориальных органов МЧС России"
НИР "Анализ информационной деятельности территориальных органов МЧС России"НИР "Анализ информационной деятельности территориальных органов МЧС России"
НИР "Анализ информационной деятельности территориальных органов МЧС России"
 
раздел 4 проектирование и использование баз данных
раздел 4  проектирование и использование баз данныхраздел 4  проектирование и использование баз данных
раздел 4 проектирование и использование баз данных
 
Бизнес весна 2014 лекция 3
Бизнес весна 2014 лекция 3Бизнес весна 2014 лекция 3
Бизнес весна 2014 лекция 3
 
тема 4
тема 4тема 4
тема 4
 
п8
п8п8
п8
 
001
001001
001
 
лекция 1
лекция 1лекция 1
лекция 1
 
лекция 1
лекция 1лекция 1
лекция 1
 
Базы данных лекция №1
Базы данных лекция №1Базы данных лекция №1
Базы данных лекция №1
 
Шаблоны проектирования баз данных — Введение
Шаблоны проектирования баз данных — ВведениеШаблоны проектирования баз данных — Введение
Шаблоны проектирования баз данных — Введение
 
модели метаданных
модели метаданныхмодели метаданных
модели метаданных
 
Ais Lecture 4
Ais Lecture 4Ais Lecture 4
Ais Lecture 4
 
тема 5 2
тема 5 2тема 5 2
тема 5 2
 
Управление требованиями и тестирование ПО
Управление требованиями и тестирование ПОУправление требованиями и тестирование ПО
Управление требованиями и тестирование ПО
 
03_Сагайда
03_Сагайда03_Сагайда
03_Сагайда
 
8 9 этапы проектированиябд
8 9 этапы проектированиябд8 9 этапы проектированиябд
8 9 этапы проектированиябд
 
информатикаисогд
информатикаисогдинформатикаисогд
информатикаисогд
 

пр8 сем2 1_проектированиербд_er_model2014_02_27

  • 1. Бази даних та інформаційні системи Проектирование базы данных Лекції 6, 7, 8, 9
  • 2. Подходы к проектированию базы данных Существуют два основных подхода к проектированию систем баз данных:  нисходящий;  восходящий;  смешанная стратегия проектирования Восходящий подход Содержание: при восходящем подходе работа начинается с атрибутов (т.е. свойств сущностей и связей), которые на основе анализа существующих между ними связей группируются в отношения, представляющие типы сущностей и связи между ними. Базовая методология: НОРМАЛИЗАЦИЯ Нормализация предусматривает идентификацию требуемых атрибутов с последующим созданием из них нормализованных таблиц, основанных на функциональных зависимостях между этими атрибутами. Применение:  Приемлем для проектирования простых баз данных с относительно небольшим количеством атрибутов. Недостатки:  Использование этого подхода существенно усложняется при проектировании баз данных с большим количеством атрибутов;  На начальных стадиях формулирования требований к данным в крупной базе данных может быть трудно установить все атрибуты, которые должны быть включены в модели данных. 2 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 3. Подходы к проектированию базы данных Нисходящий подход Содержание: при восходящем подходе работа начинается с разработки моделей данных, которые содержат несколько высокоуровневых сущностей и связей, затем работа продолжается в виде серии нисходящих уточнений низкоуровневых сущностей, связей и относящихся к ним атрибутов. Базовая методология: МОДЕЛЬ «СУЩНОСТЬ-СВЯЗЬ» или ER-модель (Entity-Relationship) Применение:  Приемлем для проектирования сложных баз данных Смешанная стратегия проектирования В смешанной стратегии сначала используются восходящий и нисходящий подходы для создания разных частей модели, после чего все подготовленные фрагменты собираются в единое целое. 3 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 4. Моделирование данных Основные цели моделирования данных состоят в:  упрощении описания требований к данным предметной области (ПрО) и процедурам взаимодействия этих данных;  едином понимании требования к данным отдельных пользователей и разработчиков; Если обе стороны знакомы с системой обозначений, используемой для создания модели, то наличие модели данных будет способствовать более плодотворному общению пользователей и разработчиков.  отражении характера самих данных независимо от их физического представления;  использовании данных в пределах области применения приложения. На предприятиях все шире применяются средства стандартизации для моделирования данных путем выбора определенного метода моделирования и использования его во всех проектах разработки базы данных. Самая популярная технология высокоуровневого моделирования данных построена на концепции модели "сущность-связь" (Entity-Relationship model — ER-модель). 4 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 5. Критерии оценки модели данных Оптимальная модель данных должна удовлетворять критериям, перечисленным в таблице. Однако иногда эти критерии несовместимы, поэтому приходится идти на некоторый компромисс. Например, в погоне за наибольшей выразительностью модели данных можно утратить ее простоту. Критерий Описание Структурная достоверность Простота Удобство изучения модели как профессионалами в области разработки информационных систем, так и обычными пользователями Выразительность Способность представлять различия между данными, связи между данными и ограничения Отсутствие избыточности Исключение излишней информации, т.е. любая часть данных должна быть представлена только один раз Способность к совместному использованию Отсутствие принадлежности к какому-то особому приложению или технологии и, следовательно, возможность использования модели во многих приложениях и технологиях Расширяемость Способность развиваться и включать новые требования с минимальным воздействием на работу уже существующих приложений Целостность Согласованность со способом использования и управления информацией внутри предприятия Схематическое представление 5 Соответствие способу определения и организации информации на данном предприятии Возможность представления модели с помощью наглядных схематических обозначений ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 6. Бази даних та інформаційні системи Проектирование БД на основе построение ER-модели. Концептуальне та логічне проектування РМД Лекції 6, 7, 8, 9
  • 7. План лекции Введение. Этапы проектирования РМД 1. Концептуальное проектирование 2. Логическое проектирование 3. Физическое проектирование Заключение 7 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 8. Цель лекции: 1. Рассмотреть пошагово концептуальный и логический этапы проектирования РБД; 2. Рассмотреть примеры разработки схемы БД 8 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 9. Введение Подход к проектированию БД: НИСХОДЯЩИЙ Базовая методология: ПОСТРОЕНИЕ ER-ДИАГРАММЫ 9 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 10. Этапы проектирования базы данных (нисходящий подход) Процесс проектирования базы данных состоит из трех основных этапов:  концептуальное проектирование;  логическое проектирование;  физическое проектирование. Концептуальное (инфологическое) проектирование БД Концептуальное проектирование базы данных - процесс создания информационной модели ПрО (концептуальной), не зависящей от любых физических аспектов ее представления Содержание: Включает в себя определение типов важнейших сущностей и существующих между ними связей, атрибутов. Описание:  Концептуальная модель данных создается на основе информации, записанной в спецификациях требований пользователей.  Концептуальное проектирование базы данных абсолютно не зависит от таких подробностей ее реализации:      10 типа выбранной целевой СУБД, используемых языков программирования, выбранной модели организации данных, типа выбранной вычислительной платформы, а также от любых других особенностей физической реализации. При разработке концептуальная модель данных постоянно подвергается тестированию и проверке на соответствие требованиям пользователей. ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 11. Логическое (даталогическое) проектированиеБД Логическое проектирование базы данных - процесс создания модели ПрО на основе выбранной модели организации данных, но без учета типа целевой СУБД и других физических аспектов реализации. Описание:  Концептуальная модель данных, созданная на предыдущем этапе, уточняется и преобразуется в логическую модель данных.  Логическая модель данных учитывает особенности выбранной модели организации данных в целевой СУБД (например, реляционная модель).  На этом этапе уже должно быть известно, какая СУБД будет использоваться в качестве целевой - реляционная, сетевая, иерархическая или объектно-ориентированная.  Игнорируются все остальные характеристики выбранной СУБД, например, любые особенности физической организации ее структур хранения данных и построения индексов.  В процессе разработки логическая модель данных постоянно тестируется и проверяется на соответствие требованиям пользователей к данным и обеспечению поддержки всех необходимых пользователям транзакций.  Для проверки правильности логической модели данных используется метод нормализации  Созданная логическая модель данных является источником информации для этапа физического проектирования  Логическая модель данных играет также важную роль на этапе эксплуатации и сопровождения уже готовой системы. 11 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 12. Физическое проектирование базы данных Физическое проектирование базы данных - описание способа физической реализации логической модели базы данных Описание:  на этом этапе рассматриваются создание отношений, организация файлов и индексов, предназначенных для обеспечения эффективного доступа к данным, а также все связанные с этим ограничения целостности и средства защиты. В случае РМД :  создание набора реляционных таблиц и ограничений для них на основе информации, представленной в логической модели данных;  определение конкретных структур хранения данных и методов доступа к ним (организация файлов, индексов), обеспечивающих оптимальную производительность СУБД;  разработка средств защиты создаваемой системы. Замечание! На этапах концептуального и логического проектирования решается вопрос «ЧТО ДЕЛАТЬ», а на этапе физического проектирования - «КАК ДЕЛАТЬ».  Этапы выполняются последовательно, поскольку понять, что надо сделать, следует прежде, чем решить, как это сделать.  Этапы требуют совершенно разных навыков и опыта, поэтому требуют привлечения специалистов различного профиля.  12 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 13. Последовательность действий при концептуальном проектировании Данный этап включает создание и проверка локальной концептуальной модели данных для отдельных пользователей: 1. Определение типов сущностей 2. Определение типов связей 3. Определение атрибутов и связывание их с типами сущностей и связей 4. Определение потенциальных и выбор первичных ключей 5. Проверка на избыточность (удаление избыточных связей 6. Проверка соответствия модели требованиям пользовательских транзакций (проверка на достаточность); 13 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 14. Последовательность действий при логическом проектировании Данный этап включает следующие шаги 1. Создание и проверка локальной логической модели данных для отдельных пользователей 1.1 Исключение особенностей, несовместимых с РМ: - преобразование связей типа M:N за счет добавления новой сущности; - преобразование сложных связей (не бинарных) в сущности; - анализ и преобразование рекурсивных связей M:N; - преобразование связей, имеющих атрибуты, в сущности; - удаление множественных атрибутов за счет добавления новой сущности; 1.2 Дополнительный анализ: - перепроверка связей типа 1:1; - анализ рекурсивных связей 1:1, 1:M; - анализ связей супер класс/подкласс; - проверка модели с помощью правил нормализации на соответствие требованиям 3-й нормальной формы; - повторная проверка на избыточность (удаление избыточных связей); - повторная проверка соответствия отношений требованиям пользовательских транзакций (проверка на достаточность); 1.3 Определение набора отношений исходя из структуры логической модели данных; 1.4 Отражение всех требований итоговой ER-диаграммы логической модели в документации; 1.5. Согласование локальной логической модели данных с пользователем (заказчиком). 2. Создание и проверка глобальной логической модели данных 14 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 15. Логическое проектирование. Преобразование связей типа M:N и связей с атрибутами Проблема: присутствует связь типа M:N или связь с атрибутами Решение проблемы:   создание промежуточной сущности; связь типа M:N заменяется двумя связями типа 1:М, устанавливаемыми от старых сущностей к вновь созданной сущности. Пример 1: Адрес_газета Исходная модель: ИН_газета Газета Назв_газета М ИН_объект Адрес_объект N Печать Объект Дата Преобразованная модель: Газета ИН_объект Адрес_газета ИН_газета 1 Печатает N Объявление Назв_газета Раскрытие схемы: Газета (ИН_газета, Назв_газета, Адрес_газета) Объект (ИН_объект, Адрес_объект) Объявление (ИН_газета(ВК), ИН_объект(ВК), Дата) 15 ХНУРЕ кафедра Інформатики доц. Яковлева О.В. Дата M Печатается 1 Объект Адрес_объект
  • 16. Логическое проектирование. Преобразование сложный связей Проблема: присутствует сложная связь Сложная связь – связь между тремя и более типами сущностей. Решение проблемы: создание промежуточной сущности; введение новый связей от старых сущностей к вновь созданной   Пример 2.1:(БП:объекты не перепродаются, в сделке участвует 1 менеджер) Исходная модель: Менеджер ИН_покуп Покупатель 1 Сделка 1 ИН_мен K ИН_объект Объект недвижимости Преобразованная модель: ИН_мен Менеджер ИН_покуп 1 Участвует Покупатель M 1 Покупает N Сделка Раскрытие схемы: Покупатель (ИН_покуп) Объект (ИН_объект) Менеджер (ИН_мен) Сделка (ИН_покуп(ВК), ИН_объект(ВК), ИН_мен (ВК)) 16 ИН_объект ХНУРЕ кафедра Інформатики доц. Яковлева О.В. 1 Продается 1 Объект недвижимости
  • 17. Логическое проектирование. Преобразование сложный связей с атрибутами. Миграция атрибутов Пример 2.2 : (БП:объекты перепродаются, в сделке участвует 1 менеджер) Исходная модель: ИН_мен ИН_объект Менеджер ИН_покуп Покупатель L R Сделка K Объект недвижимости Преобразованная модель: ИН_мен Менеджер ИН_покуп 1 Участвует Покупатель ИН_объект M 1 Покупает N Сделка P ИН_сделка Продается Раскрытие схемы: Покупатель (ИН_покуп) Объект (ИН_объект) Менеджер (ИН_мен) Сделка (ИНсделка, ИН_покуп(ВК), ИН_объект(ВК), ИН_мен (ВК)) 17 ХНУРЕ кафедра Інформатики доц. Яковлева О.В. 1 Объект недвижимости
  • 18. Логическое проектирование. Преобразование сложный связей с атрибутами. Миграция атрибутов Пример 2.3 : (БП:объекты перепродаются не чаще 1 раза в сутки, в сделке участвует 1 менеджер, фиксируется дата сделки) Исходная модель: ИН_мен ИН_объект Менеджер ИН_покуп Покупатель L R Сделка K Объект недвижимости Дата Преобразованная модель: Вариант а: ИН_мен Менеджер ИН_покуп 1 Участвует Покупатель ИН_объект M 1 Покупает N Сделка P Продается Дата Раскрытие схемы: а) Сделка (ИН_покуп(ВК), ИН_объект(ВК), ИН_мен (ВК), Дата) 18 ХНУРЕ кафедра Інформатики доц. Яковлева О.В. 1 Объект недвижимости
  • 19. Логическое проектирование. Преобразование сложный связей с атрибутами. Миграция атрибутов Пример 2.3 : (БП:объекты перепродаются, в сделке участвует 1 менеджер, фиксируется дата сделки) Исходная модель: ИН_мен ИН_объект Менеджер ИН_покуп L Покупатель 1 Сделка K Объект недвижимости Дата Преобразованная модель: Вариант б: ИН_мен Менеджер ИН_покуп 1 Участвует Покупатель ИН_объект M 1 Покупает N Сделка ИН_сделка P Продается Дата Раскрытие схемы: б) Сделка (ИН_сделка, ИН_покуп(ВК), ИН_объект(ВК), ИН_мен (ВК), Дата) 19 ХНУРЕ кафедра Інформатики доц. Яковлева О.В. 1 Объект недвижимости
  • 20. Логическое проектирование. Преобразование многозначных атрибутов Проблема: присутствует многозначный атрибут Многозначный атрибут – атрибут, хранящий несколько значений, соответствующих одному экземпляру сущности Решение проблемы:  создание новой сущности; Исходная модель:  введение новый связей от старой сущностей к новой Телефон Пример 3.1: БП: Отделение 1.Телефонный номер принадлежит только 1 отделению 2. У отделения может быть более одного номера Название_отд Номер_ отд Преобразованная модель: Отделение Номер_ отд 1 Имеет Название_отд Раскрытие схемы: Отделение (Номер_отд, Название_отд) Телефон (Номер_телефона, Номер_отд (ВК)) 20 ХНУРЕ кафедра Інформатики доц. Яковлева О.В. M Телефон Номер_тел
  • 21. Логическое проектирование. Преобразование многозначных атрибутов Пример 3.2а: БП: 1.Телефонный номер может принадлежать нескольким отделениям 2. У отделения может быть более одного номера Исходная модель: Телефон 3. Существуют перечень телефонных номеров, Отделение принадлежащих всему предприятию. Номера из этого списка закрепляются за отделениями. Могут существовать Название_отд номера, которые в данный момент не используются. Номер_ отд Преобразованная модель: Шаг1. M N Отделение Отделение Номер_ отд 1 Телефон Номер_тел Название_отд Номер_ отд Шаг2. Имеет Имеет M Принадлежность M телефона Название_отд Раскрытие схемы: Отделение (Номер_отд, Название_отд) Принадлежность_телефона (Номер_телефона (ВК), Номер_отд (ВК)) Телефон (Номер_телефона) 21 ХНУРЕ кафедра Інформатики доц. Яковлева О.В. Принадлежит 1 Телефон Номер_тел
  • 22. Логическое проектирование. Преобразование многозначных атрибутов Пример 3.2б: БП: 1.Телефонный номер может принадлежать нескольким сотрудникам 2. У сотрудника может быть более одного номера Исходная модель: 3. Перечень телефонных номеров, принадлежащих всем сотрудникам не хранится. Телефон Сотрудник Преобразованная модель: Сотрудник Номер_ сотр Номер_ сотр 1 Имеет ФИО Раскрытие схемы: Отделение (Номер_сотр, ФИО) Телефон (Номер_телефона, Номер_сотр (ВК)) 22 ХНУРЕ кафедра Інформатики доц. Яковлева О.В. M Телефон Номер_тел ФИО
  • 23. Логическое проектирование. Анализ рекурсивных связей Рекурсивная связь:  1:1, с полным участием со стороны дочерней  1:M с полным участием со стороны М Пример 4.1 БП: 1.Все сотрудники имеют консультантов 2. У сотрудника может быть только один консультант 3. Консультант может консультировать X Сотрудников (0:1 или 0:М) Исходная модель: Сотрудник (1:М, с полным участием) Должность Сотрудникконсультант Телефон ФИО … Консультант ФИО Сотрудник X Номер_ сотр Зарплата … 7 Петров … 4 Сидоров … 1 4 Кузьмин … 2 5 Консультирует Иванов 3 1 1 2 Адрес Сотрудникконсультируемый Номер_ сотр Васильев … 1 6 Пяточкин … 1 7 Акунин … 2 … … … … Раскрытие схемы: Сотрудник (Номер_сотр, ФИО, Должность, Зарплата, Адрес, Телефон, Консультант(ВК)) 23 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 24. Логическое проектирование. Анализ рекурсивных связей Рекурсивная связь: Исходная модель: Должность  1:1, с частичным участием со стороны дочерней Адрес  1:M с частичным участием со стороны М Сотрудник1 консультант Пример 4.2 БП: Консуль1. Не каждый сотрудник имеет Сотрудник тирует Консультанта (част. участие со стороны дочерн) СотрудникX 2.У сотрудника может быть только консультируемый Номер_ сотр один консультант. 3. Консультант может консультировать X сотрудников (0:1 или 0:М). Преобразованная модель: ФИО Сотрудник 1 Консультируется 1 Сотрудник Консультирует Раскрытие схемы: Сотрудник (Номер_сотр, ФИО) Консультация (Консультируемый(ВК), Консультант(ВК)) 24 1 Консультация Сотрудник Номер_ сотр Консультируемый ХНУРЕ кафедра Інформатики доц. Яковлева О.В. Консультант X Телефон ФИО Зарплата
  • 25. Логическое проектирование. Анализ рекурсивных связей Преобразованная модель: ФИО Сотрудник 1 Консультируется Консультируемый 1 Консультация Сотрудник Номер_ сотр ? 1 Сотрудник Консультирует Консультант Раскрытие схемы: Сотрудник (Номер_сотр, ФИО) Консультация (Консультируемый(ВК), Консультант(ВК)) Сотрудник Номер_ сотр Консультация (1:1, с частичн. участием Сотрудников в обеих связях) ФИО Консультируемый Консультант 1 Иванов 1 7 2 Петров 3 1 3 Сидоров 4 2 4 Кузьмин 5 Васильев 6 Пяточкин 7 Акунин Консультация (1:М, с частичн. участием Сотрудников в обеих связях) 25 … ХНУРЕ кафедра Інформатики доц. Яковлева О.В. Консультант 1 2 3 … Консультируемый 1 4 2 5 1
  • 26. Логическое проектирование. Анализ рекурсивных связей Рекурсивная связь: Исходная модель:  M:N Адрес Пример 4.3 БП: 1. У сотрудника может быть более Консультант M одного консультанта. Консультирует 2. Консультант может Сотрудникконсультировать нескольких сотрудников. N консультируемый Преобразованная модель: ФИО 1 Сотрудник Должность 1 Сотрудник Зарплата Номер_ сотр Консультируется Консультируемый M Консультация N Консультирует Консультант Сотрудник Раскрытие схемы: Сотрудник (Номер_сотр, ФИО) Консультация (Консультируемый(ВК), Консультант(ВК)) ФИО Сотрудник Сотрудник Номер_ сотр Телефон Номер_ сотр Консультация (M:N) ФИО Консультируемый Консультант 1 2 2 Петров 1 5 Сидоров 3 1 4 Кузьмин 4 1 5 Васильев 4 7 6 Пяточкин 7 ХНУРЕ кафедра Інформатики доц. Яковлева О.В. Иванов 3 26 1 Акунин … …
  • 27. Логическое проектирование. Перепроверка связей 1:1 дописать 27 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 28. Логическое проектирование. Проверка на избыточность связей Следует стремиться создавать минимальные модели При наличии нескольких связей между сущностями, необходимо проверить модель на избыточность. Пример 5.1 БП: 1. Рассматривается только текущий брак между мужчиной и женщиной 2. Учитываются все имеющиеся дети Вопрос: Кто является мамой и папой ребенка?   Мужчина 1 Участвует в браке 1 1 1 Имеет Имеет M 28 Женщина Ребенок ХНУРЕ кафедра Інформатики доц. Яковлева О.В. M
  • 29. Логическое проектирование. Проверка на избыточность связей Пример 5.2 БП: 1. Рассматривается все браки между мужчиной и женщиной 2. Учитываются все имеющиеся дети 3. Одна и та же пара может повторно заключать брак Вопрос: Кто является мамой и папой ребенка? Мужчина M Участвует в браке 1 Брак M Участвует в браке 1 1 1 Имеет Имеет M 29 Женщина Ребенок ХНУРЕ кафедра Інформатики доц. Яковлева О.В. M
  • 30. Логическое проектирование. Проверка на избыточность связей Пример 5.3 БП: 1. Рассматривается все браки между мужчиной и женщиной 2. Учитываются все имеющиеся дети 3. Одна и та же пара может повторно заключать брак Вопрос: Кто является мамой и папой ребенка? В браке ли рожден ребенок и каком? ИН_Брак Мужчина M Участвует в браке 1 Брак M Участвует в браке 1 1 1 1 Имеет Имеет Имеет M M 30 Ребенок ХНУРЕ кафедра Інформатики доц. Яковлева О.В. Женщина M
  • 31. Логическое проектирование. Проверка отношений с использованием средств нормализации (обзорно) Нормализация – процесс проверки и реорганизации сущностей и атрибутов с целью удовлетворения требований к реляционной модели данных. В ре­зультате проведения нормализации должна быть создана структура данных, при которой информация о каждом факте хранится только в одном месте, и решены проблемы модификации данных (аномалии обновления). Процесс нормализации сводится к последовательному приведению структуры данных к нормальным формам - формализованным требованиям к организации данных. Известны шесть нормальных форм:  первая нормальная форма (1НФ);  вторая нормальная форма (2НФ);  третья нормальная форма (3НФ);  нормальная форма Бойса - Кодда (усиленная 3НФ);  четвертая нормальная форма (4НФ);  пятая нормальная форма (5НФ). На практике обычно ограничиваются приведением данных к третьей нормальной форме. 31 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 32. Логическое проектирование. Проверка отношений с использованием средств нормализации (обзорно) Нормальные формы основаны на понятии функциональной зависимости (ФЗ). Функциональная зависимость (ФЗ). Атрибут В сущности Е функционально зависит от атрибута А сущности Е тогда и только тогда, когда каждое значение атрибута А однозначно определяет одно значение атрибута В. Полная функциональная зависимость. Атрибут В сущности Е полностью функционально зависит от ряда атрибутов А сущности Е тогда и только тогда, когда В функционально зависит от А и не зависит ни от какого подряда А. Пример ФЗ Сотрудник (СотрудникИН, ФИО, Должность, Оклад) ФЗ1: СотрудникИН ФИО, Должность, Оклад ФЗ2: Должность Оклад 32 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 33. Логическое проектирование. Проверка отношений с использованием средств нормализации (обзорно) Первая нормальная форма (1НФ). Сущность находится в 1НФ тогда и только тогда, когда все атрибуты содержат атомарные значения, т.е. не должно встречаться нескольких значений атрибута для одного экземпляра либо сложных значений, по части которых планируется поиск информации. Пример 6. БП: У отделения может быть более одного телефона, телефон принадлежит только одному отделению Город Номер_ отд Отделение Название_отд Телефон Адрес Улица Дом_Офис Для приведения сущности к 1НФ следует : 1) разделить сложные атрибуты на атомарные; Отделение (Номер_отд, Название_отд, Город, Улица, Дом_фис, ?) 2) создать новую сущность, перенести в нее все "многозначные" атрибуты, установить связь от прежней сущности к новой (РК прежней сущности станет внешним ключом (FK) для новой сущности), выбрать РК из существующих атрибутов (или создать суррогатный); Неправильно!: Отделение (Номер_отд, Название_отд, Город, Улица, Дом_фис, Тел1, Тел2, Тел3) Правильно!: Отделение (Номер_отд, Название_отд, Город, Улица, Дом_фис) Телефон (Телефон, Номер_отд) 33 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 34. Логическое проектирование. Проверка отношений с использованием средств нормализации (обзорно) Вторая нормальная форма (2НФ). Сущность находится во 2НФ, если она находится в 1НФ и каждый неключевой атрибут полностью функционально зависит от первичного ключа (не должно быть зависимости от части ключа). Вторая нормальная форма имеет смысл только для сущностей, имеющих составной первичный ключ. Описания предметной области можно оформить в виде таких БП: 1. Каждым проектом последовательно может руководить несколько сотрудников с фиксированием Даты начала и Даты завершения руководства; 2. Сотрудник может руководить многими проектами, но каждым проектом - только один раз (один промежуток времени). Руководство (ПроектИН, СотрудникИН, ДатаНачала, ДатаЗавершения, ФИО, Должность) ФЗ1: ПроектИН, СотрудникИН ДатаНачала, ДатаЗавершения (ПФЗ) ФЗ2: СотрудникИН ФИО, Должность (ЧФЗ) Тогда для приведения сущности ко 2НФ следует: выделить атрибуты, которые зависят только от части первичного ключа, создать новую сущность; поместить атрибуты, зависящие от части ключа, в их собственную (новую) сущность вместе атрибутом, от которого они зависят;  использовать атрибут, определяющий эту зависимость, в качестве первичного ключа новой сущности;  установить идентифицирующую связь от новой сущности к прежней сущности   Руководство (ПроектИН, СотрудникИН (ВК), ДатаНачала, ДатаЗавершения) Сотрудник (СотрудникИН, ФИО, Должность) 34 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 35. Логическое проектирование. Проверка отношений с использованием средств нормализации (обзорно) 2НФ позволяет избежать следующих аномалий при выполнении операций:   Вставка (INSERT). Невозможно было бы ввести данные о сотруднике, если он в данный момент не руководил проектами.  35 Обновление (UPDATE). Имело бы место дублирование данных о сотрудни­ке, если он руководит несколькими проектами. Если данные о сотруднике изменялись бы, необходимо было менять несколько записей (по числу ведомых проектов). Удаление (DELETE). Если сотрудник временно прекращал бы руководство проектами, данные о нем терялись. ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 36. Логическое проектирование. Проверка отношений с использованием средств нормализации (обзорно) Третья нормальная форма (3НФ). Сущность находится в 3НФ форме, если она находится во второй нормальной форме и никакой неключевой атрибут не зависит от другого неключевого атрибута (исключается транзитивная зависимость, т.е. не должно быть взаимозависимости между неключевыми атрибутами). Пример 7 БП: Оклад сотрудника зависит от его должности. Сотрудник (СотрудникИН, ФИО, Должность, Оклад) ФЗ1: СотрудникИН ФИО, Должность, Оклад ФЗ2: Должность Оклад (ТФЗ) Для приведения сущности к 3НФ следует:  создать новую сущность и перенести в нее атрибуты с одной и той же зависимостью от неключевого атрибута;  использовать атрибут, определяющий эту зависимость, в качестве первичного ключа новой сущности;  установить неидентифицирующую связь от новой сущности к старой. Сотрудник (СотрудникИН, ФИО, ДолжностьНазв (ВК)) Должность (ДолжностьНазв, Оклад) 36 ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 37. Логическое проектирование. Проверка отношений с использованием средств нормализации (обзорно) Третья нормальная форма также позволяет избежать ряда аномалий, которые возникали бы без приведения к 3НФ:   Вставка (INSERT). Невозможно было бы ввести данные об окладе, соответст­вующем должности, если в данный момент нет сотрудника, занимающего эту должность.  37 Обновление (UPDATE). Имело бы место дублирование данных об окладе, если одинаковую должность занимают несколько сотрудников. Если оклад соответст­вующей должности менялся, необходимо было бы менять несколько записей (по числу сотрудников на одной должности). Удаление (DELETE). В случае удаления из таблицы сотрудника, зани­мающего уникальную должность, данные об окладе терялись бы. ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 38. Предметная область «Учебный процесс» БП: 1. 2. На кафедре работает много преподавателей, каждый преподаватель закреплен за одной кафедрой. 3. Преподаватель может иметь более одного номера телефона, некоторые преподаватели могут иметь одинаковый номер. 4. Оклад преподавателя определяется его должностью. 5. Студенческая группа состоит более чем из одного студента, каждый студент закреплен за одной группой. 6. Дисциплины, имеющие одинаковое название, но разное количество часов, считаются разными дисциплинами. 7. 38 Одну дисциплину может преподавать много преподавателей. Преподаватель может читать много дисциплин. Студенту разрешено пересдавать экзамен по дисциплине, но только другому преподавателю, читающему такую же дисциплину ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
  • 39. Название дисциплины Часы Преподаватель Оклад Тел. преп. ПМ-06-1 Базы 102 Петров А.И. 1500 8-050-456-67-87 Информа- 123457 Боков С.С. тики, …………… проф. 5 2.05.07 утвержд. 8-098-786-63-55 5 2.05.07 не утв. 7021-34-56 ….. 4 6.05.07 не опред. 133687 Орлова О.И. 3 6.05.07 не опред. ……….. ….. 2 3.05.07 утвержд. 5 6.05.07 утвержд. данных Тема дипл. работы Дата Группа 123456 Иванов И.И. Оценка № студ, Ф.И.О. студента Кафедра Должность Кафедра, каб. Предметная область «Учебный процесс» каб. 288 133686 Аникин С.А. 123667 Иванов И.П. ПМ-06-2 ИНФ-04-3 82 Имит. 123668 ВласоваС.С. Петров А.И. моделир …………. 82 Рожков П.Р. ование 1100 1500 8-050-876-17-09 8-067-499-17-11 7021-34-56 доцент проф. … … Кафедра ……… ….. ………. ………. ПМ, каб.27 39 ХНУРЕ кафедра Інформатики доц. Яковлева О.В. …..
  • 40. Исходная схема данных БД «УСПЕВАЕМОСТЬ» 1. 2. 1. 2. 1. 2. 1. 2. 40 ХНУРЕ кафедра Інформатики доц. Яковлева О.В. Вариант 1 Вывести ФИО студентов факультета ПММ 2008 и 2009 года поступления (названии групп которых присутствует ’08’ или ’09’), у которых отсутствует консультант. Подсчитать среднюю оценку для каждого деканата в каждом семестре. Вывести название деканата, номер семестра, среднюю оценку. Вариант 2 Вывести ФИО студентов, которые в 1-м или 2-м семестрах сдавали дисциплину К2. Подсчитать количество экзаменов по каждой дисциплине. Вывести название дисциплины и количество экзаменов. Вариант 3 Вывести ФИО студентов, которые сдали дисциплину «Базы данных» на балл D, т.е. оценка находится в интервале [66;74]. Подсчитать среднюю оценку в группе по каждой дисциплине. Вывести название группы, название дисциплины, среднюю оценку. Вариант 4 Вывести ФИО студентов специальности Информатика (в названии группы присутствует ‘ИНФ’), которые не получали оценок ниже 75. Подсчитать среднюю оценку для каждого деканата. Выводить название деканата и среднюю оценку.
  • 41. Исходная схема данных БД «Торговля» Клиент КодКлиента Фамилия 1 Иванов 2 Петров 3 Сидоров Имя Иван Петр Сидор Отчество Фирма ГородКлиента Телефон Иванович ООО Буд Петрович ООО Ух Сидорович ООО Буд Харьков Киев Харьков 050-789 45 56 067- 786 34-87 050-711 65 88 4 Климов Кузьма Васильевич ООО Буд 5 Абрамов Алексей Федорович ООО Ух 6 Семенов Василий Степанович ООО Уют Киев Харьков Харьков 098-777 45 22 050-232 11 45 098-34522 65 7 Бобырь Киев 050-555 22 44 Алексей Иванович ООО Уют Товар Код Товара 1 2 3 4 5 6 7 8 9 Название Стул Стол Стул Диван Диван Стол Рамка для фото Подсвечник Шкаф Тип Сорт мебель мебель мебель мебель мебель мебель интерьер интерьер мебель высший первый высший второй высший второй высший первый высший Цена 400,00р. 200,00р. 400,00р. 4 000,00р. 8 000,00р. 400,00р. 150,00р. 40,00р. 10 000,00р. Остаток 10 20 1 3 1 2 10 10 2 ГородТовара КодСделки 1 2 3 4 5 6 7 8 9 10 11 Харьков Киев Киев Харьков Киев Москва Москва Харьков Киев Вариант 1 1. Вычислить средний объем покупок, совершенный каждым покупателем (среднее количество товаров в одной сделке для каждого покупателя). Выводить фамилию покупателя, средний объем покупок. 2. Определить товары, с которыми общее количество сделок превысило три. Выводить название товаров и количество сделок. 3. Определить фирмы, которые до 2010 года купили товара на сумму менее 1000. Выводить отсортированные по убыванию названия фирм. 41 ХНУРЕ кафедра Інформатики доц. Яковлева О.В. КодТовара 1 2 1 2 1 3 4 5 6 8 5 Сделка КодКлиента 1 1 2 2 1 4 3 5 5 6 5 Кол_во 10 2 1 1 2 5 1 2 3 4 5 Дата 11.10.2010 13.10.2009 13.10.2009 14.10.2009 15.10.2009 15.10.2009 15.10.2009 16.10.2009 16.10.2009 17.10.2009 18.10.2009 Вариант 2 1. Подсчитать количество товара, купленное каждой фирмой. Выводить название фирмы, подсчитанное количество. 2. Вывести список товаров, проданных на суму более 10000 руб. Выводить названия товаров и подсчитанную сумму. 3. Определить покупателей из Харькова, которые покупали товар более 4 раз (более 4 сделок). Выводить отсортированные по возрастанию фамилии покупателей.