
- •1. Базы данных. Основные понятия и определения
- •1.2. Основные определения.
- •2. Нормализация баз данных
- •2.1. Задача нормализации бд
- •2.2. Первая нормальная форма (1нф)
- •2.3. Вторая нормальная форма (2нф)
- •2.4. Третья нормальная форма (3нф)
- •3. Отношения между таблицами
- •3.1. Связи между таблицами
- •3.2. Отношение "Один-к-одному"
- •3.3. Отношение "Один-ко-многим"
- •3.4. Отношение "Многие-ко-многим"
- •4. Субд Microsoft Access
- •4.1. Особенности субд Microsoft Access
- •4.2. Объекты ms Access
- •4.3. Режимы работы с объектами ms Access
- •5. Таблицы ms Access
- •5.1. Создание таблиц
- •5.3. Создание связей между таблицами в ms Access
- •6. Запросы ms Access
- •6.1. Что такое запросы
- •6.2. Краткие сведения об sql
- •6.3. Создание запросов
- •6.4. Условия отбора записей
- •6.5. Запросы-действия
- •6.6. Запросы sql
- •7. Формы ms Access
- •7.1. Общие сведения
- •7.2. Создание форм
- •7.3. Элементы управления
- •7.4. Кнопочные формы
- •8. Отчеты ms Access
- •8.1. Общие сведения
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. Связи между таблицами
После создания различных таблиц, содержащих данные, необходимо продумать, каким образом объединить эти данные при их извлечении из БД. Прежде всего необходимо создать связи между таблицами, которые устанавливают отношения между совпадающими значениями в ключевых полях (обычно между одноименными полями разных таблиц) . Например, в рассмотренном выше примере связь между таблицей "Заказы" и "Товары" осуществляется по полю "Код товара". После создания связей между таблицами становится возможным создание запросов, форм и отчетов, в которых выводятся данные из нескольких таблиц сразу. Благодаря использованию связей между таблицами удаётся значительно уменьшить объем любой базы данных, особенно в тех случаях, когда информация повторяется.