Похожие презентации:
Лекция_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