Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Кафедра «Информационные технологии»
Базы данных
Курс лекций по дисциплине «Базы данных» для специальности направления 1-40 01 02‑01 «Информационные системы и технологии (в проектировании и производстве)»
автор-составитель , доцент, канд. физ.-мат. наук
Основы нормализации реляционных таблиц и проектирования БД
1. Нормализация реляционных таблиц
2. Примеры проектирования БД
2
1. Нормализация реляционных таблиц
Одни и те же данные могут группироваться в реляционные таблицы различными способами. Группировка полей в таблицах должна быть рациональной, что означает сведение к минимуму дублирования данных и упрощение процедур их обработки и обновления.
3
4
Таблица называется приведенной к первой нормальной форме (1НФ), если все ее поля простые (далее неделимы). Таблица в 1НФ не должна иметь повторяющихся записей и (или) групп полей. 1НФ предписывает, что все данные в столбцах реляционной таблицы должны быть атомарными или неделимыми. Преобразование таблицы к 1НФ может привести к увеличению количества полей таблицы и изменению ключа.
5
Согласно 1НФ, в каждой позиции (клетке таблицы), определяемой строкой и столбцом, должна быть только одна величина, но не массив или список величин.
6
Рассмотрим пример таблицы, нарушающей требования 1НФ (звездочкой будем обозначать ключевое поле):
Таблица Заказы1 служит для хранения данных о заказах на складе инструментов.
7
Эта таблица имеет простой ключ, состоящий из одного поля КодЗаказа. Данные в столбце СодержаниеЗаказа таблицы Заказы1 содержат списки величин и не являются атомарными. Так как в столбце СодержаниеЗаказа находится слишком много информации, то получить упорядоченную информацию из этой таблицы будет трудно. Например, трудоёмким окажется составление отчёта о суммарных закупках инструментов различных видов.
8
Таблицу Заказы1 можно преобразовать (без потери данных) в таблицу Заказы2, удовлетворяющую требованиям 1НФ:
Эта таблица имеет составной ключ из двух полей: КодЗаказа и КодСодержанияЗаказа. Данные всех столбцов таблицы Заказы2 являются атомарными.
9
Переход к 1 НФ
Нет 1 НФ
Есть 1 НФ
10
Таблица находится во второй нормальной форме (2НФ), если она находится в 1НФ, и каждое неключевое (описательное) поле функционально зависит от всего ключа (простого или составного).
Функциональная зависимость полей - это зависимость, при которой определенному значению ключа соответствует только одно значение описательного поля.
11
Каждый неключевой (т.е. не входящий в ключ) столбец таблицы во 2НФ должен полностью
Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.