- •Работа № 1. Начало работы с Access 2000 и выше упражнение № 1 Создание новой базы данных (бд)
- •Упражнение № 2 Закрытие, открытие, и сохранение бд
- •Упражнение № 3 Способы создания таблиц
- •Упражнение № 4 Удаление записей таблицы с ключевым полем Счётчик без изменения её структуры.
- •Упражнение № 5 Сортировка, поиск и замена данных в таблице
- •Упражнение № 6 Фильтрация данных в таблице
- •Работа № 2 Проектирование многотабличных баз данных упражнение № 1 Определение ключевого поля
- •Упражнение № 2 Использование подстановки данных
- •Упражнение № 3 Определение связей между таблицами
- •Работа № 3 Создание простых форм и запросов упражнение № 1 Создание и использование форм
- •Упражнение № 2 Создание и использование простых запросов
- •Работа № 4 Создание сложных запросов упражнение № 1 Запросы с использованием вычисляемых полей
- •Упражнение № 2 Создание и использование параметрических запросов
- •Работа № 5 Создание сложных форм упражнение № 1 Создание и использование логических полей в форме
- •Упражнение № 2 Создание кнопочной формы
- •Упражнение № 3 Создание главной кнопочной формы - Заставка
- •Упражнение № 4 Создание подчинённых и связанных форм
- •Работа № 6 Создание и использование отчетов упражнение № 1 Подготовка простых отчетов
- •Упражнение № 2 Преобразование отчета в формат документа Word
- •Работа № 7 Контрольная работа
Упражнение № 3 Определение связей между таблицами
База данных содержит множество таблиц, связь между которыми устанавливается с помощью совпадающих полей. Отношение между объектами определяет отношение между таблицами. MS Access поддерживает четыре типа отношений между таблицами: “один-к-одному”, “один-ко-многим”, “много-к-одному”, “много-ко-многим”.
Задание № 2.7. Создайте связь “один-к-одному” между таблицами “Физические лица” и “Сотрудники”.
Порядок работы:
-
Закройте все таблицы.
-
На панели инструментов щёлкните на кнопке - Схема данных. Откроется окно Схема данных.
-
В появившемся окне Добавление таблицы (рис. 20) выделите таблицу “Физические лица” и щёлкните по кнопке Добавить. Если окно Добавление таблицы автоматически не открылось, тогда необходимо выбрать на панели инструментов кнопку Отобразить таблицу. Так же необходимо добавить макет таблицы “Сотрудники” в окно Схема данных. Закройте окно Добавление таблицы.
Рис. 20
-
Измените размеры макетов таблиц “Сотрудники” и “Физические лица” так, чтобы были видны все поля (рис. 21).
Рис. 21
-
Поставьте мышку на имя поля Код ФизЛица в таблице “Физические лица” и, не отпуская кнопку мышки, перетащите её на поле Код сотрудника в таблице “Сотрудники”. Отпустите мышку. Появится диалоговое окно Связи, представленное на рис. 22.
Рис. 22
-
Установите флажок Обеспечение целостности данных. Это невозможно будет сделать, если типы обоих полей заданы не одинаково. Нажмите на кнопку Создать.
-
Сохраните и закройте схему данных.
Замечание: В нашем примере мы получили самую простую связь “один-к-одному”. Отношение “один-к-одному” означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице. Таблицы “Физические лица” и “Сотрудники” содержат информацию о сотрудниках одной компании. В таблице “Физические лица” содержатся данные о личности сотрудника, а в таблице “Сотрудники” – профессиональные сведения о тех же самых людях. Таким образом, для одного человека может существовать только одна запись, содержащая профессиональные сведения.
Связь между этими таблицами поддерживается при помощи совпадающих полей: Код сотрудника таблицы “Сотрудники” и Код ФизЛица таблицы “Физические лица”. Заметьте, что связь между таблицами устанавливается на основании значений совпадающих полей, но не их наименований.
Задание № 2.8. Создайте связь “один-ко-многим” между таблицами “Сотрудники” и “Заказы”.
Порядок работы:
-
Порядок работы аналогичен заданию 2.7, только связывается ключевое поле Код сотрудника таблицы “Сотрудники” с полем Заказ принял таблицы “Заказы” как показано на рис. 23.
Рис. 23
-
В диалоговом окне Изменение Связей (рис. 22) установите флажок Обеспечение целостности данных, а так же каскадное обновление связанных полей и каскадное удаление связанных записей.
-
Сохраните и закройте схему данных.
Замечание: Отношение “один-ко-многим” – создаётся в том случае, когда только одно из полей является ключевым или имеет уникальный индекс. В нашем примере один заказ может оформить только один человек из множества сотрудников, а один сотрудник может выполнить множество заказов. Обычно в таблицах, имеющих между собой связь “один-ко-многим” используют подстановку данных.
Отношение “много-к-одному” аналогично рассмотренному ранее типу “один-ко-многим”. Тип отношения между объектами зависит от вашей точки зрения. Например, если вы будете рассматривать отношение между сделанными заказами и сотрудниками, то получите отношение “много-к-одному” и наоборот - отношение между сотрудниками и сделанными заказами, будет рассматриваться как отношение “один-ко-многим”.
Активизация флажка каскадное обновление связанных полей приведёт к тому, что при изменении сотрудника в таблице “Сотрудники” автоматически изменится запись в таблице “Заказы”.
Активизация флажка каскадное удаление связанных записей приведёт к тому, что при удалении сотрудника в таблице “Сотрудники” автоматически удалиться запись в таблице “Заказы”.
Задание № 2.9. Создайте связь “много-ко-многим” между таблицами “Заказы”, “Товары” и “Клиенты”.
Порядок работы:
-
Порядок работы аналогичен заданию 2.7, только связывается ключевое поле КодКлиента таблицы “Клиенты” с полем КодКлиента таблицы “Заказы” и ключевое поле Код товара таблицы “Товары” с полем Код товара таблицы “Заказы” как показано на рис. 24.
-
Сохраните и закройте схему данных.
Рис. 24
Замечание: В нашем примере, между таблицами “Заказы” и “Товары”, а так же “Заказы” и “Клиенты” получили связь “много-к-одному” (“один-ко-многим”). Между таблицами “Товары” и “Клиенты” установилась связь “много-ко-многим”, так как на каждый поставляемый товар может быть более одного заказа. Аналогично, каждый товар может быть заказан более чем одним клиентом. Связь между таблицами устанавливается на основании значений в совпадающих полях Код товара и КодКлиента.
Отношение “много-ко-многим” возникает между двумя таблицами в тех случаях, когда:
-
Одна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы;
-
Одна запись из второй таблицы может быть связана более чем с одной записью из первой таблицы.
Из нашего примера видно, что связь типа “много-ко-многим” получается путём создания таблицы “Заказы”, которая связывает две исходные таблицы косвенным образом. Эта таблица содержит всю информацию о заказах, в том числе, какие продукты и клиенты включены в данный заказ. Из-за того, что таблица “Заказы” образует часть отношения “много” для двух связей типа “один-ко-многим”, она имеет два внешних ключа. Вместе эти два ключа образуют первичный ключ для таблицы “Заказы”, поскольку их комбинация уникальна для каждой записи.
Задание № 2.10. Создайте связи между таблицами “Товары” и “Категория товара”, а так же “Сотрудники” и “Отдел”.
Порядок работы:
-
Откройте схему данных и добавьте отсутствующие таблицы.
-
Установите связь между таблицами: ”Товары” и “Категория товара”.
-
Установите связь между таблицами “Сотрудники” и “Отделы”.
-
Установите флажки Обеспечение целостности данных, каскадное обновление связанных полей и каскадное удаление связанных записей.
-
Вид общей схемы данных показан на рис. 25.
-
Закройте и сохраните схему данных.
Замечание: Для изменения связей между таблицами необходимо курсор мыши подвести к линии связи и двойным щелчком левой кнопкой мыши открыть диалоговое окно Изменения связей.
Рис. 25
ВОПРОСЫ К РАБОТЕ № 2
-
Дайте полные определения первичного ключа и индекса.
-
Перечислите виды первичных ключей.
-
Как осуществляются связи между таблицами и для чего они нужны?
-
Как просмотреть связанные записи из нескольких таблиц?
-
Перечислите и дайте определения типов отношений между таблицами.
-
Дайте определение условий целостности данных.
-
В каких случаях используются каскадные операции?
-
Как осуществляется редактирование и удаление связей?
-
Для чего используется поле подстановки в таблицах?
-
Как осуществить простую подстановку в режиме конструктора таблиц?
-
Как работает мастер подстановки в режиме конструктора таблиц?