6.02M

1.6 Нормализация БД

1.

2.

Из каких этапов
состоит процесс
проектирования
БД?
Физическое
проектирование
Логическое
проектирование
Выбор СУБД
Инфологическое
проектирование
Системный анализ предметной
области

3.

Какой тип связи?
E2
E1
Один-к-одному

4.

Какой тип связи?
E1
E2
Один-ко-многим

5.

Какой тип связи?
E2
E1
Многие-ко-многим

6.

Подумайте
Какими
характеристиками
обладает студент?

7.

Дата
рождения
Номер
телефона
Адрес
Пол
Отделение
Отчество
Курс
Имя
Группа
Фамилия
Стипендия

8.

Фамилия
Имя
Отчество
Пол
Дата
рождения
Телефон
Адрес
Отделение
Курс
Группа
Стипендия
Кустова
Ксения
Анатольевна
женский
04.12.2000
13-45-13
г. Ярославль, ул. Ньютона, д.20, кв.12.
Техническое
3
18КС
есть

9.

Группа: 18КС
Курс: 3
Отделение: техническое

10.

Нормализация баз данных.
Аномалии. Первая, вторая и
третья нормальная формы

11.

12.

Аномалии

Таб.
Имя
Год
ребёнка
№ Фамилия Должность Каб.
ребёнка рождения
PK
PK
1
2
3
1
1
Иванова
Зайцева
Волкова
Иванова
Карева
Иванова
Карева
Директор
Бухгалтер
Менеджер
Директор
Директор
32
33
35
32
32
Саша
Петя
Маша
Витя
1996
1992
2004
2007
Аномалия
Аномалия
Аномалия
модификации!
удаления!
вставки!
1
1
2
3

13.

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

14.

5НФ
4НФ
НФБК
3НФ
2НФ
1НФ
Каждая форма –
набор требований

15.

Первая нормальная форма
1. Атомарность или неделимость данных.
2. Таблица
не
должна
содержать
повторяющихся колонок или групп данных.

16.

Пример 1
Отношение «Сотрудники»
Сотрудник
Карлов Максим Анатольевич
Петров Сергей Сергеевич
Телефон
283-56-82
390-57-34
708-62-34
Отношение «Сотрудники» в 1 НФ
Фамилия
Карлов
Карлов
Петров
Имя
Максим
Максим
Сергей
Отчество
Анатольевич
Анатольевич
Сергеевич
Телефон
283-56-82
390-57-34
708-62-34

17.

Пример 2
Отношение «Товары»
ID
Название
Поставщик
товара товара
1
ИП «Добрый мельник»
Мука
ООО «Федорчук»
2
Сахар
ОАО «Метрополис»
Телефон
11-25-74
13-33-44
12-44-51
Отношение «Товары» в 1 НФ
ID
Название
Поставщик
товара
1
ИП «Добрый мельник»
Мука
2
Сахар
ООО «Федорчук»
2
Сахар
ОАО «Метрополис»
Телефон
11-25-74
13-33-44
12-44-51

18.

Пример 3
Отношение «Расписание»
Преподаватель
День Номер Название
Тип
Группа
недели пары дисциплины занятий
Вторник
1
Математика Лекция
4906
Среда
1
Информатика Лекция
4907
Среда
2
Информатика Практика 4906
Королькова
Светлана
Валерьевна
Иванова Кира
Четверг
Валентиновна
2
Биология
Лекция
4906

19.

Пример 3
Отношение «Расписание» в 1 НФ
Преподаватель
День Номер Название
Тип
Группа
недели пары дисциплины занятий
Королькова
Светлана
Вторник
Валерьевна
Королькова
Светлана
Среда
Валерьевна
Королькова
Светлана
Среда
Валерьевна
Иванова Кира
Четверг
Валентиновна
1
Математика
Лекция
4906
1
Информатика Лекция
4907
2
Информатика Практика 4906
2
Биология
Лекция
4906

20.

Функциональная зависимость
Пусть дана функция Y=F(X). Атрибут Y
некоторого отношения функционально зависит
от X, если в любой момент времени каждому
значению X соответствует одно значение Y.
Обозначение: X
Y
Пример: Номер зач. кн.
ФИО

21.

Полная функциональная
зависимость
Неключевой атрибут функционально полно
зависит от составного ключа, если он
функционально зависит от всего ключа в целом,
но не находится в функциональной зависимости
от какого-либо из входящих в него атрибутов.
Пример:
Номер зач.кн., Дисциплина, Дата
Оценка

22.

Вторая нормальная форма
1. Таблица должна удовлетворять требованиям
1НФ.
2. Любое неключевое поле должно однозначно
идентифицироваться ключевыми полями.

23.

Пример 4
Отношение «Зачётная книжка»
Зач.
кн
Фам.
Имя
2
2
Селов
Селов
Егор
Егор
5
5
Карева Ирина Олеговна
Карева Ирина Олеговна
Отч.
Группа Дисц. Оценка
Сергеевич ВТ100
Сергеевич ВТ100
ВТ200
ВТ200
БД
ОС
4
5
БД
ОС
5
5

24.

Пример 4
Отношение «Зачётная книжка» во 2 НФ
Зач. кн
2
5
Фамилия
Селов
Карева
Имя
Отчество Группа
Егор Сергеевич ВТ100
Ирина Олеговна ВТ200
Зач. кн
2
Дисциплина
БД
Оценка
4
2
ОС
5
5
БД
5
5
ОС
5

25.

Пример 5
Отношение «Скидки»
Категория
Дата
Скидка
Товар
Книги
10.10.19
10%
PHP
Ноутбуки
Книги
11.10.20
10.10.19
20%
10%
Acer
Windows 7
Отношение «Скидки» во 2 НФ
Категория
Дата
Скидка
Книги
10.10.19
10%
Ноутбуки
11.10.20
20%
Категория
Товар
Книги
PHP
Ноутбуки
Acer
Книги
Windows 7

26.

Пример 6
Отношение «Поставки»
Код
поставщика
Город
Статус
Код
Кол-во
города товара
1
Москва
20
1
300
03.01.19
1
Москва
20
2
400
02.02.19
2
Ярославль
10
4
200
02.02.19
4
Псков
8
7
100
08.10.19
Дата

27.

Пример 6
Отношение «Поставки» во 2 НФ
Код поставщ.
Код товара
Количество
Дата
1
1
300
03.01.19
1
2
4
2
4
7
400
200
100
02.02.19
02.02.19
08.10.19
Код поставщ.
Город
Статус города
1
2
4
Москва
Ярославль
Псков
20
10
15

28.

Транзитивная зависимость
Пусть X, Y, Z – атрибуты некоторого отношения.
При этом X→Y и Y→Z, но обратное
соответствие отсутствует, т.е. Z не зависит от Y
или Y не зависит от X. Тогда говорят, что Z
транзитивно зависит от X.
X
Y
Z

29.

Третья нормальная форма
1. Таблица
должна
требованиям 2НФ.
удовлетворять
2. Неключевые поля не зависят друг от
друга.

30.

Пример 7
Отношение «Студенты»
Зач.
Фамилия Группа Отделение Спец. Кафедра
кн
123 Короленко
19ИП
456 Сидоренко
19ЭК
231
Кривов
18ИП
Техническое
Финансовоправовое
ИП
ИВТ
ЭК
Экономики
Техническое
ИП
ИВТ

31.

Пример 7
Отношение «Студенты» в 3 НФ
Группа
19ИП
19ЭК
18ИП
Специальность
ИС
Экономика
ИС
Спец.
Кафедра
ИП
ЭК
ИВТ
Экономики
Зач.
Фамилия Группа
кн
123 Короленко 19ИП
456 Сидоренко 19ЭК
231
Кривов
18ИП
Кафедра
ИВТ
Отделение
Техническое
Экономики
Финансовоправовое

32.

33.

Пример 8
Отношение «Модели автомобилей»
Модель
Магазин
Телефон
BMW
Риал-авто
87-33-98
Audi
Риал-авто
87-33-98
Nissan
Некст-Авто
94-54-12
Отношение «Модели автомобилей» в 3 НФ
Модель
Магазин
BMW
Риал-авто
Audi
Риал-авто
Nissan
Некст-Авто
Магазин
Телефон
Риал-авто
87-33-98
Некст-Авто
94-54-12

34.

Пример 9
Отношение «Собеседование»
Номер
клиента
Номер
Номер
кабинета сотрудника
Дата
Время
В1
14.10.20
13:00
103
А11
В2
12.12.20
13:00
103
А71
В5
01.07.20
12:25
100
А12

35.

Пример 9
Отношение «Собеседование» в 3 НФ
Номер
клиента
Дата
Время
Номер
сотрудника
В1
14.10.20
13:00
А11
В2
12.12.20
13:00
А71
В5
01.07.20
12:25
А12
Номер
сотрудника
Номер
кабинета
А11
103
А71
103
А12
100

36.

Работа в группах
1. Выделить основные сущности, атрибуты и
связи.
2. Построить схему БД с учётом первой, второй
и третьей нормальных форм.

37.

Вопросы
Что нового вы сегодня узнали?

38.

Вопросы
Зачем по вашему мнению необходима
нормализация?

39.

Вопросы
Какие нормальные формы вы теперь
знаете?

40.

Вопросы
Где в дальнейшем возможно применение
знаний по теме «Нормализация баз данных»?

41.

Домашнее задание

42.

Спасибо за внимание
English     Русский Rules