168.86K
AI

Лекция_3_МТУСИ_обновленная

1.

1
МТУСИ
Лекция 3
Проектирование БД
(продолжение)
Современное оформление в стиле МТУСИ
бело-фиолетовая палитра, ровная сетка, карточки и схемы
31 слайд
Базы данных

2.

2
МТУСИ
Обязательные/необязательные связи
Исходные отношения предметной области
Студент
Иностранные_языки
Номер_зач_кн, Фио, …
Код_языка, название_ино_языка
Далее эти отношения используются для иллюстрации обязательных и необязательных связей.

3.

Лекция 3
МТУСИ
03
Каждый студент знает не более, чем один
иностранный язык или не знает вообще
Номер_зач_кн
ФИО
1ББИ2301
Воронков Алексей
1ББИ2302
Алиева Маргарита
1ББИ2303
Пинегин Иван
1ББИ2304
Кузнецова Анастасия
1ББИ2305
Шахматов Марат
1ББИ2306
Комаровская Елизавета
1ББИ2307
Сидоров Владимир
1ББИ2308
Тришкин Игорь
1ББИ2309
Титарчук Даниил
1ББИ2310
Журавлева Ольга
Код_языка
Назв_ино_языка
1
Английский
2
Французский
3
Немецкий
4
Испанский
5
Итальянский
Базы данных

4.

4
МТУСИ
Необязательная связь
В инфологической модели получаем необязательную связь, поэтому информацию о ней храним в дополнительном
отношении.
Студент
Иностранные_языки
Студент_язык
Номер_зач_кн, Фио, …
Код_языка,
название_ино_языка
Номер_зач_кн,
Код_языка
В отношении «Студент_язык» записей будет меньше, чем в отношении «Студент».

5.

Лекция 3
МТУСИ
05
Каждый студент должен знать только один
иностранный языка
Номер_зач_кн
ФИО
1ББИ2301
Воронков Алексей
1ББИ2302
Алиева Маргарита
1ББИ2303
Пинегин Иван
1ББИ2304
Кузнецова Анастасия
1ББИ2305
Шахматов Марат
1ББИ2306
Комаровская Елизавета
1ББИ2307
Сидоров Владимир
1ББИ2308
Тришкин Игорь
1ББИ2309
Титарчук Даниил
Код_языка
Назв_ино_языка
1
Английский
2
Французский
3
Немецкий
4
Испанский
5
Итальянский
Базы данных

6.

6
МТУСИ
Обязательная связь со стороны студента
При обязательной связи со стороны студента информацию о знании одного языка можно хранить прямо в отношении
«Студент».
Студент
Номер_зач_кн, Фио, код_языка
Дополнительное отношение в данном случае не требуется.

7.

Лекция 3
МТУСИ
07
Каждый студент должен знать более одного
иностранного языка
Номер_зач_кн
ФИО
1ББИ2301
Воронков Алексей
1ББИ2302
Алиева Маргарита
1ББИ2303
Пинегин Иван
1ББИ2304
Кузнецова Анастасия
1ББИ2305
Шахматов Марат
1ББИ2306
Комаровская Елизавета
1ББИ2307
Сидоров Владимир
1ББИ2308
Тришкин Игорь
1ББИ2309
Титарчук Даниил
Код_языка
Назв_ино_языка
1
Английский
2
Французский
3
Немецкий
4
Испанский
5
Итальянский
Базы данных

8.

8
МТУСИ
Обязательная связь с несколькими значениями
Если связь обязательная и у одного студента может быть несколько языков, то информацию храним в отдельном
отношении.
Студент
Иностранные_языки
Студент_язык
Номер_зач_кн, Фио, …
Код_языка,
название_ино_языка
Номер_зач_кн,
Код_языка
Для одного студента в отношении «Студент_язык» может быть несколько записей (≥ 2).

9.

9
МТУСИ
Даталогическое проектирование
Существуют три основных типа БД:
Реляционная
Сетевая
Иерархическая
таблицы и отношения
множество связей между
записями
древовидная структура

10.

Лекция 3
МТУСИ
Реляционная модель БД
Наиболее простой способ хранения информации в
виде двумерных таблиц, которые называются
отношениями
10
Базы данных

11.

МТУСИ
Лекция 3
11
Построение нормальных форм БД
Нормальные формы – это набор правил, которые помогают структурировать данные и устранить избыточность
данных
Их использование позволяет создавать эффективные и надежные структуры БД, которые поддерживают два
принципа:
Одно смысловое поле хранится только в одной таблице, кроме ключевых полей
Таблицы связаны по ключевым полям
Базы данных

12.

Лекция 3
МТУСИ
12
Первая нормальная форма (1NF)
Отношение находится в первой нормальной форме,
если все атрибуты представляют собой единичные
свойства
Студент(Номер_зач_книж (PK), Фио, Дата_рождения)
Базы данных

13.

Лекция 3
МТУСИ
13
Вторая нормальная форма (2NF)
Отношение находится во второй нормальной форме,
если оно находится в первой нормальной форме и
все неключевые атрибуты функционально полно
зависят от ключа , то есть зависят от всего набора
ключевых полей и не зависят от неключевых
атрибутов
Базы данных

14.

14
МТУСИ
Пример декомпозиции отношения «Товар»
Исходное отношение: Товар (Код_товара (PK), Наименование_товара, Адрес_магазина, Стоимость_един_тов, Скидка)
Товар
Магазин
ТоварВмагазине
Код_товара (PK)
Наименование_товара
Стоимость_един_тов
Код_магазина (PK)
Адрес_магазина
Код_магазина (FK)
Код_товара (FK)
Скидка

15.

Лекция 3
МТУСИ
15
Пример
Код товара
Наименование товара
Код магазина
Адрес
Стоимость товара
Скидка
1
Молоко
12
Народного ополчения
120,00 ₽
1,00%
2
Масло 100г
12
Народного ополчения
148,00 ₽
0,00%
3
Молоко топленое
25
Пр Маршала Жукова
150,00 ₽
1,50%
4
Масло 180 г
12
Народного ополчения
400,00 ₽
2,50%
Базы данных

16.

Лекция 3
МТУСИ
16
Базы данных
Пример
Код товара
Наименование товара
Стоимость товара
Код товара
Код магазина
Скидка
Код магазина
Адрес
1
Молоко
120,00 ₽
1
12
1,0%
12
Народного ополчения
2
Масло 100г
148,00 ₽
2
12
0,0%
25
Пр Маршала Жукова
3
Молоко топленое
150,00 ₽
3
25
1,5%
4
Масло 180 г
400,00 ₽
4
12
2,5%
1
25
0,0%
3
12
0,5%
4
25
0,5%

17.

17
МТУСИ
Пример декомпозиции отношения «Студент»
Исходное отношение: Студент (Номер_зач_книж (PK), Фио, Дата_рождения, Адрес, Город, Почтовый индекс)
Студент
Адрес_студента
Номер_зач_книж (PK)
Фио
Дата_рождения
Номер_зач_книж (FK)
Адрес
Город
Почтовый индекс

18.

Лекция 3
МТУСИ
18
Третья нормальная форма (3NF)
Отношение находится в третьей нормальной форме,
если оно находится во второй нормальной форме и
не содержит транзитивных зависимостей, то есть не
один неключевой атрибут не зависит от другого
неключевого атрибута
Базы данных

19.

19
МТУСИ
Пример декомпозиции отношения «Товар»
Исходное отношение: Товар (Код_товара (PK), Наименование_товара, Стоимость_един_тов, Количество, Общая_сумма)
Товар
Количество_товара
Код_товара (PK)
Наименование_товара
Стоимость_един_тов
Код_товара (FK)
Количество
Вычисляемые поля в БД обычно
не хранят, либо выносят в
отдельную таблицу.

20.

Лекция 3
МТУСИ
20
Пример
Код товара
Наименование товара
Стоимость товара
Колво
Общая сумма
1
Молоко
120,00 ₽
200
24 000,00 ₽
2
Масло 100г
148,00 ₽
10
1 480,00 ₽
3
Молоко топленое
150,00 ₽
110
16 500,00 ₽
4
Масло 180 г
400,00 ₽
25
10 000,00 ₽
Базы данных

21.

Лекция 3
МТУСИ
21
Пример
Код товара
Наименование товара
Стоимость товара
Код товара
Колво
1
Молоко
120,00 ₽
1
200
2
Масло 100г
148,00 ₽
2
10
3
Молоко топленое
150,00 ₽
3
110
4
Масло 180 г
400,00 ₽
4
25
Базы данных

22.

22
МТУСИ
Пример декомпозиции «ТоварВмагазине»
Исходное отношение: ТоварВмагазине (Код_товара (FK), Код_магазина (FK), Адрес_магазина). Адрес магазина зависит только от
кода магазина, поэтому отношение не находится во 2НФ.
Адрес_магазина
ТоварВмагазине
Код_магазина (PK)
Адрес_магазина
Код_магазина (FK)
Код_товара (FK)

23.

Лекция 3
МТУСИ
Пример
Код товара
Код магазина
Адрес
1
12
Народного ополчения
2
12
Народного ополчения
3
25
Пр Маршала Жукова
4
12
Народного ополчения
23
Базы данных

24.

Лекция 3
МТУСИ
24
Пример
Код товара
Код магазина
Код магазина
Адрес
1
12
12
Народного ополчения
2
12
25
Пр Маршала Жукова
3
25
4
12
1
25
3
12
4
25
Базы данных

25.

25
МТУСИ
Пример декомпозиции отношения «Заказ»
Исходное отношение: Заказ (Код_заказа (PK), код_клиента (FK), код_товара (FK), колво, цена). Цена зависит от товара, поэтому
код заказа и цена находятся в транзитивной зависимости.
Заказ
Товар
Клиент
Стоимость_товара
Код_заказа (PK)
код_клиента (FK)
код_товара (FK)
колво
код_товара (PK)
наименование товара, …
код_клиента (PK)
фио, …
код_товара (FK 1:1)
цена

26.

26
Лекция 3
МТУСИ
Пример
Код заказа
Код клиента
Код товара
Колво
Цена
15
К1
1
200
120,00 ₽
16
К2
2
10
148,00 ₽
17
К3
3
110
150,00 ₽
18
К4
4
25
400,00 ₽
Базы данных

27.

Лекция 3
МТУСИ
27
Пример
Код заказа
Код клиента
Код товара
Колво
Код товара
Цена
15
К1
1
200
1
120,00 ₽
16
К2
2
10
2
148,00 ₽
17
К3
3
110
3
150,00 ₽
18
К4
4
25
4
400,00 ₽
Базы данных

28.

Лекция 3
МТУСИ
Четвертая нормальная форма (4NF)
Отношение находится в четвертой нормальной
форме, если оно находится в третьей нормальной
форме и между атрибутами нет многозначной
зависимости
28
Базы данных

29.

29
МТУСИ
Пример декомпозиции отношения «Сотрудник»
Исходное отношение: Сотрудник (Таб_номер (PK), Фио, должность, дата_приема, код_подразделения, адрес_места_работы, …).
Часть информации может дублироваться.
Сотрудник
Подразделения
Работник_подразделение
Таб_номер (PK)
Фио
должность
дата_приема
Код_подразделения (PK)
адрес_места_работы, …
Таб_номер (FK)
Код_подразделения (FK)
…

30.

Лекция 3
МТУСИ
30
Пример
Таб номер
Фио
Должность
Дата приема
Код подразделения
Место работы
Т1
Петрова
инженер
2020
11
Покровка
Т2
Иванов
гл специалист
2020
3
Авиамоторная
Т3
Сидоров
лаборант
2023
11
Покровка
Т4
Титарчук
вед инженер
2022
11
Покровка
Т5
Кимарина
ст техник
2024
3
Авиамоторная
Базы данных

31.

Лекция 3
МТУСИ
31
Базы данных
Пример
Таб номер
Фио
Должность
Дата приема
Код подразделения
Место работы
Таб номер
Код подразделения
Т1
Петрова
инженер
2020
11
Покровка
Т1
11
Т2
Иванов
гл специалист
2020
3
Авиамоторная
Т2
3
Т3
Сидоров
лаборант
2023
4
Народного ополчения
Т3
4
Т4
Титарчук
вед инженер
2022
Т4
3
Т5
Кимарина
ст техник
2024
Т5
11
Т5
3
Т3
3
English     Русский Правила