Important
Aspects of
relational data
bases
ABOUT ME
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 2
AGENDA
[Link] normalization
[Link]-Relational Mapping
[Link]
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 3
Database normalization
What is database normalization ?
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 4
The purpose of normalization
Цели нормализации:
• Устранения аномалий,
избыточности
• Повышения производительности
БД
• Повышения эффективности
управления данными
• Уменьшение объема БД
• Поддержка непротиворечивости
информации
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 5
Example
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 6
Forms of normalization
Основные формы:
• Первая нормальная форма (1NF)
• Вторая нормальная форма (2NF)
• Третья нормальная форма (3NF)
• Четвертая нормальная форма (4NF)
• Пятая нормальная форма (5NF)
Дополнительные нормальные формы:
• Ненормализованная форма или нулевая нормальная форма (UNF)
• Нормальная форма Бойса-Кодда (BCNF)
• Доменно-ключевая нормальная форма (DKNF)
• Шестая нормальная форма (6NF)
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 7
1 NF Form
Требования первой нормальной формы :
• В таблице не должно быть дублирующих строк;
• В каждой ячейке таблицы хранится атомарное значение
(одно не составное значение);
• В столбце хранятся данные одного типа;
• Отсутствуют массивы и списки в любом виде;
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 8
1 NF Form
Сотрудник Контакт
Иванов И.И. 123-456-789, 987-654-321
Сергеев С.С. Рабочий телефон 555-666-777, Домашний телефон 777-888-999
John Smith 123-456-789
John Smith 123-456-789
Сотрудник Телефон Тип телефона
Иванов И.И. 123-456-789
Иванов И.И. 987-654-321
Сергеев С.С. 555-666-777 Рабочий телефон
Сергеев С.С. 777-888-999 Домашний телефон
John Smith 123-456-789
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 9
2 NF Form
Требования второй нормальной формы :
• Таблица должна находиться в первой нормальной форме;
• Таблица должна иметь ключ;
• Все не ключевые столбцы таблицы должны зависеть от полного ключа
(в случае если он составной);
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 10
2 NF Form - Example
ФИО
ID Должность Подразделение Описание подразделения
Разработка и сопровождение
1
Иванов И.И. Программист Отдел разработки приложений и сайтов
Ведение бухгалтерского и
налогового учета финансово-
2
Сергеев С.С. Бухгалтер Бухгалтерия хозяйственной деятельности
Организация сбыта
3 Smith
John Продавец Отдел реализации продукции
Организация сбыта
4
Савельев Н.А Продавец Отдел реализации продукции
Разработка и сопровождение
5
Арсеньев Р.В. Программист Отдел разработки приложений и сайтов
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 11
2 NF - Composite primary key
ФИО Должность Подразделение Описание подразделения
Разработка и
сопровождение приложений
Иванов И.И. Программист Отдел разработки и сайтов
Ведение бухгалтерского и
налогового учета
финансово-хозяйственной
Сергеев С.С. Бухгалтер Бухгалтерия деятельности
Организация сбыта
John Smith Продавец Отдел реализации продукции
Организация сбыта
Савельев Н.А Продавец Отдел реализации продукции
Разработка и
сопровождение приложений
Арсеньев Р.В. Программист Отдел разработки и сайтов
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 12
2 NF - Composite primary key
Описание
Идентификатор ID подразделения
подразделения Подразделение
ФИО Должность
Разработка и
Иванов И.И. Программист 1 сопровождение
1 Отдел разработки приложений и сайтов
Сергеев С.С. Бухгалтер 2
Ведение бухгалтерского
John Smith Продавец 3 и налогового учета
финансово-
Савельев Н.А Продавец 3 хозяйственной
Программист 2 Бухгалтерия деятельности
Арсеньев Р.В. 1
Организация сбыта
3 Отдел реализации продукции
Организация сбыта
4 Отдел реализации продукции
Разработка и
сопровождение
5 Отдел разработки приложений и сайтов
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 13
3 NF form
Идентификатор
ID ФИО Должность подразделения
1 Иванов И.И. Программист 1
2 Сергеев С.С. Бухгалтер 2
3 John Smith Продавец 3
4 Савельев Н.А Продавец 3
5 Арсеньев Р.В. Программист 1
Идентификатор Идентификатор
ID ФИО должности подразделения
1 1
ID Должность
Иванов И.И. 1
2 2 1 Программист
Сергеев С.С. 2
3 3 2 Бухгалтер
John Smith 3
4 Савельев Н.А 3 3 Продавец
3
5 Арсеньев Р.В. 1 1
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 14
Boyce-Codd Form (BCNF)
Требования нормальной формы Бойса-Кодда:
• Таблица должна находиться в третьей нормальной форме.
• Ключевые атрибуты составного ключа не должны зависеть
от не ключевых атрибутов.
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 15
Boyce-Codd Form (BCNF)
Проект Направление Куратор
1 Разработка Иванов И.И.
1 Бухгалтерия Сергеев С.С.
2 Разработка Иванов И.И.
2 Бухгалтерия Петров П.П.
2 Реализация John Smith
3 Разработка Андреев А.А.
Зная куратора, мы можем четко определить, какое направление он курирует
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 16
Boyce-Codd Form (BCNF)
Идентификатор
куратора Куратор Направление
Идентификатор
Иванов И.И. проекта Проект
1 Разработка
Сергеев С.С. 1 1
2 Бухгалтерия
2 2
3 Иванов И.И. Разработка
3 3
4 Петров П.П. Бухгалтерия
5 John Smith Реализация
6 Андреев А.А. Разработка
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 17
Conclusion about Normalization
• Нормализация повышает
производительность, но только где-то
до 3 нормальной формы
• Процессе проектирования базы данных
необходимо следовать здравому
смыслу
• Полностью нормализованная база
данных – это плохая база данных.
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 18
Object-Relational Mapping
Java Class Data Base
Идентификатор
Идентификатор
ID должности подразделения
ФИО
1 1
Иванов И.И. 1
2 2
ORM Сергеев С.С. 2
ID Должность ID Описание подразделения
Подразделение
1 Программист Разработка и
Отдел сопровождение приложений
1 разработки и сайтов
2 Бухгалтер
Отдел Организация сбыта
3 Продавец реализации продукции
3
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 19
Object-Relational Mapping
Проблемы связи ООП структуры и реляционной модели:
• Наследование
• Идентификация
• Ассоциации
• Доступ
• Инкапсуляция
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 20
Object-Relational Mapping
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 21
Object-Relational Mapping
Преимущества и недостатки ORM технологии:
Преимущества: Недостатки:
• реализация требует меньше кода; • снижении скорости работы с базой
• не нужно писать SQL запросы; • снижение гибкости работы с базой данных
• не нужно создавать дополнительные объекты;
• легко сопровождать.
• сокращает время тестирования
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 22
Transactions
Транзакция – единица атомарной работы с базой данных.
ASID Свойства транзакции:
• Атомарность
• Согласованность
• Изолированность
• Долговечность
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 23
Transactions
Феномены при параллельном выполнении транзакций
• Потерянное обновление (lost update).
• «Грязное» чтение (dirty read).
• Неповторяющееся чтение (non-repeatable read).
• Фантомное чтение (phantom read).
• Аномалия сериализации (serialization anomaly).
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 24
Transactions – levels of isolation
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 25
Useful information
Статьи о нормализации BD:
• [Link]
• [Link]
• [Link]
Object-Relational Mapping:
• [Link]
• [Link]
Transactions:
• [Link]
• [Link]
• [Link]
• [Link]
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 26
Conclusion
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 27
Any questions?
If you have any questions, do not hesitate to contact me:
Sergei@[Link]
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 28
Thank you for your attention!
THANK
YOU!
CONFIDENTIAL | © 2025 EPAM Systems, Inc. 29