Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Для ЛЮ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
874.96 Кб
Скачать

2.3. Вторая нормальная форма (2нф)

Ко Второй нормальной форме (2НФ) можно перейти от таблицы, которая уже соответствует 1НФ. Дополнительно должно выполняться следующее условие: каждое неключевое поле должно полностью зависеть от первичного ключа.

Выполним нормализацию БД " Продажи" до 2НФ. Все сведения, не связанные с отдельными заказами, выделим в отдельную таблицу. В итоге получим вместо одной таблицы " Продажи" две - таблицу "Заказы":

Клиент

Код товара

Количество

Всего

1

121

5

10

1

333

2

8

1

444

8

80

и таблицу "Товары":

Код товара

Наименование товара

Цена

121

Лампа

2

333

Ножницы

4

444

Зонт

10

Таким образом, вид товара хранится только в одной таблице.Следует обратить внимание, что при нормализации информация не теряется.

2.4. Третья нормальная форма (3нф)

Считается, что таблица соответствует Третьей нормальной форме (3НФ), если она соответствует 2НФ и все не ключевые столбцы взаимно независимы. Столбец, значения которого получаются вычислением на основе данных из других столбцов, представляет собой один из примеров зависимости.

Выполним нормализацию БД "Продажи" до 3НФ. Для этого следует удалить из таблицы "Заказы" столбец "Всего". Значения в этом столбце не зависят ни от одного ключа и могут быть вычислены по формуле ("Цена")*("Количество").

Таблица "Заказы"

Клиент

Код товара

Количество

1

121

5

1

333

2

1

444

8

Таблица "Товары":

Код товара

Наименование товара

Цена

121

Лампа

2

333

Ножницы

4

444

Зонт

10

Таким образом, получена БД "Продажи" с оптимальной структурой.

3. Отношения между таблицами

3.1. Связи между таблицами

После создания различных таблиц, содержащих данные, необходимо продумать, каким образом объединить эти данные при их извлечении из БД. Прежде всего необходимо создать связи между таблицами, которые устанавливают отношения между совпадающими значениями в ключевых полях (обычно между одноименными полями разных таблиц) . Например, в рассмотренном выше примере связь между таблицей "Заказы" и "Товары" осуществляется по полю "Код товара". После создания связей между таблицами становится возможным создание запросов, форм и отчетов, в которых выводятся данные из нескольких таблиц сразу. Благодаря использованию связей между таблицами удаётся значительно уменьшить объем любой базы данных, особенно в тех случаях, когда информация повторяется.