
- •Розділ 5. Системи керування базами даних
- •Лекция 1. Основные понятия баз данных
- •Создание базы данных
- •Создание таблиц в режиме таблицы
- •Создание таблиц с помощью Мастера
- •Создание таблицы в окне Конструктора
- •Свойства полей
- •Тема 2. Поиск и замена данных Поиск данных
- •Замена данных
- •Сортировка данных
- •Экспорт и импорт таблиц из одной б/д в другую
- •Изменение количества отображаемых столбцов
- •Фиксация столбцов таблицы
- •Тема 3. Фильтрация данных
- •Фильтр по выделенному
- •Команда Изменить фильтр
- •Тема 4. Создание запросов
- •Создание запросов с помощью мастера.
- •Окно Конструктора запросов
- •Встроенные функции
- •Тема 5. Формы
- •Настройка формы
- •Размещение текстовой информации
- •Размещение полей ввода
- •Изменение порядка обхода объекта
- •Создание кнопок управления
- •Добавление рисунка в форму
- •Построение диаграмм
- •Тема 6. Особенности проектирования многотабличных баз данных
- •Проектирование нормализованной базы данных
- •Первая нормальная форма таблицы
- •Вторая нормальная форма
- •Третья нормальная форма таблицы
- •Определение связей между таблицами
- •Связывание двух полей одной таблицы
- •Изменение структуры таблицы в окне Схема данных
- •Определение условий целостности данных
- •Тема 7. Многотабличные запросы
- •Запросы к связанным таблицам с отношением "один-к-одному"
- •Запросы к связанным таблицам с отношением "один-ко-многим"
- •Запросы к связанным таблицам с отношением "многие-ко-многим"
- •Внешние соединения
- •Тема 8. Итоговые запросы
- •Задание условий выборки в итоговых запросах
- •Группировка полей запроса
- •Тема 9. Параметрические запросы
- •Тема 10. Перекрестные запросы
- •Тема 10. Модификация данных с помощью запросов-действий
- •Запрос на удаление
- •Выполнение запроса-обновления
- •Вставка данных из другой таблицы
- •Создание новой таблицы с помощью запроса
- •Тема 11. Создание подчиненной формы. Многостраничные формы
- •1 Способ
- •2 Способ
- •Создание многостраничных форм
- •Тема 12. Расширенные средства ввода данных. Создание подчиненных форм
- •Тема 13. Создание главной кнопочной формы
- •Расположение информации в области данных в 2 колонки
- •Создание почтовых наклеек
- •Тема 14. Создание главной кнопочной формы
- •Использование мастера для создания отчета
- •Кредит 400
- •Создание отчета типа “электронная таблица”
Проектирование нормализованной базы данных
При проектировании баз данных необходимо решить вопрос о наиболее эффективной структуре данных. Основные цели, которые при этом преследуются:
обеспечить быстрый доступ к данным в таблицам
исключить ненужное повторение данных
обеспечить целостность данных так, чтобы при изменении значений одних полей выполнялось обновление всех связанных с ними полей таблиц.
Процесс уменьшения избыточности информации в базе данных называется нормализацией. В теории нормализации баз данных разработаны достаточно формализованные подходы по разбиению данных, обладающих сложной структурой, на несколько таблиц.
Теория нормализации оперирует понятиями нормальных форм таблиц (от 1 до 5), причем каждая последующая нормализованная форма должна удовлетворять требованиям предыдущей формы и некоторым дополнительным условиям. (Мы рассмотрим 3 нормализованные формы).
В качестве примера рассмотрим информацию о продажах некоторых товаров.
Продажи
Код клиента Фамилия Имя Отчество Телефон Факс Индекс Страна, Город, Адрес предприятие Руководитель Кредит Код товара дата заказа Заказано Дата продажи продано Цена Прим. к товару Категория, Наименование товара |
Данную таблицу можно рассматривать как однотабличную базу данных, но в ней есть множество недостатков:
во всех заказах, сделанных одним и тем же предприятием, придется вводить информацию о покупке
при изменении телефона или адреса покупателя эти координаты нужно выключить во всех заказах
наличие новой информации снизит скорость выключения запросов и повысит вероятность ошибок
Поэтому, выполним нормализацию данных.
Первая нормальная форма таблицы
Таблица в первой нормальной форме должна удовлетворять следующим требованиям:
в таблице не должно быть повторение групп таблиц;
таблица не должна иметь повторных записей.
Поскольку покупатель может сделать несколько заказов, каждый из которых в свою очередь может содержать несколько товаров, нам необходимо две таблицы: Клиенты и Заказы. В качестве связывающего поля определим Код клиента, а отношение «один-ко-многим»
Клиенты Заказы
Данными действиями мы ликвидировали повторяющиеся группы полей.
Для исключения повторяющихся записей необходимо:
в таблице Клиенты определить первичный индекс с ключевым полем Код клиента.
Первичный ключ содержит информацию, которая однозначно идентифицирует запись (не допускает повторений значений поля).
Для этого нужно выделить название поля Код клиента в окне Конструктора таблицы Клиенты и нажать кнопку _____ Ключевое поле и команду контекстное меню Ключевое поле.
В Таблице Заказы исключить повторяющиеся записи можно одним из следующих способов:
добавить в таблицу уникальное ключевое поле Код заказа
создать уникальный составной индекс, состоящий из полей Код клиента, Код товара и Дата заказа.
После этого данные таблицы находятся в первой нормальной форме.