- •Вятский государственный университет Лабораторный практикум
- •Информационные системы. Базы данных
- •Текстовые документы и базы данных
- •Виды моделей данных
- •Реляционные базы данных
- •Структурные элементы реляционной базы данных
- •Системы управления базами данных и их функции
- •Типы данных в базах данных
- •Использование ms Access для создания баз данных
- •Контрольные вопросы
- •Технология работы с ms Access
- •Создание базы данных
- •Основные понятия ms Access. Объекты ms Access
- •Технология разработки базы данных
- •Создание таблицы
- •Операции с данными в таблице
- •Использование фильтра для отбора данных в таблице
- •Создание и использование формы
- •Создание и использование запроса
- •Создание и использование отчета
- •Связь между таблицами и целостность данных
- •Определение связей между таблицами
- •Создание формы для связанных таблиц
- •Контрольные вопросы
Определение связей между таблицами
Связь между таблицами определяется путем добавления связываемых таблиц в окно «Схема данных» с последующим перетаскиванием ключевого поля из одной таблицы в другую. Также можно определять связи с помощью клавиатуры. Создавать или изменять связи между открытыми таблицами нельзя. Для определения связей между таблицами закройте все открытые таблицы.
Создание связей между таблицами. Установление связей между таблицами рассмотрим на конкретном примере — базе данных Library (библиотека), состоящей из двух таблиц: Книги и Читатели, которые имеют следующую структуру (табл. 3).
Таблица 2.3 Установление связей между таблицами
Имя поля |
Тип данных |
Размер поля, формат |
Примечание |
Таблица Книги |
|||
Инвентарный номер |
Числовой |
Длинное целое |
Ключевое поле |
Автор |
Текстовый |
30 символов |
|
Название |
Текстовый |
50 символов |
|
Год издания |
Числовой |
Целое число |
|
Цена |
Числовой |
Одинарное с плавающей точкой |
|
Таблица Читатели |
|||
№ личного дела |
Текстовый |
10 символов |
Ключевое поле |
Фамилия |
Текстовый |
30 символов |
|
Имя |
Текстовый |
20 символов |
|
Адрес |
Текстовый |
50 символов |
|
Телефон |
Текстовый |
1 2 символов |
|
Класс |
Текстовый |
3 символа |
|
Книга |
Числовой |
Длинное целое |
|
Создайте таблицы Книги и Читатели указанной структуры и задайте ключевые поля. Для установления связи между таблицами Книги и Читатели выберите команду Схема данных в меню Сервис. После этого раскроется пустое окно Схема данных, а в главном меню MS Access появится новый пункт меню Связи. Выбрав в меню Связи команду Добавить таблицу, в диалоговом окне Добавление таблицы выберите вкладку Таблицы. Выбирая из списка всех таблиц открытой базы данных Library и щелкая кнопку «Добавить», добавьте в окно схемы данных таблицы Книги и Читатели. Закройте окно Добавление таблицы, щелкнув кнопку «Закрыть».
Примечание. Удерживая прижатой клавишу Ctrl, вы можете выделить (и добавить) сразу несколько таблиц. Чтобы связать таблицу саму с собой, добавьте ее дважды. Это полезно, когда нужно создать поле подстановки, использующее значения этой же таблицы. Например, в таблице Сотрудники учебной базы данных Борей определена связь между полями КодСотрудника и Подчиняется, поэтому поле Подчиняется может отображать данные о сотруднике, имеющем соответствующее значение в поле КодСотрудника. После этого в окне Схема данных будут представлены две выбранных нами таблицы, между которыми устанавливается связь.
Для установления связи между двумя таблицами можно методом «Drag-and-Drop» переместить имя поля с первичным ключом главной таблицы (Инвентарный номер) на поле Книга подчиненной таблицы. Как только вы отпустите левую кнопку мыши, на экране появится диалоговое окно Изменение связей. Для включения механизма поддержки целостности данных в связываемых таблицах установите флажок Обеспечение целостности данных, как показано на рис. 32.
После активизации флажка Обеспечение целостности данных становятся доступными два флажка каскадных операций. Включите переключатели каскадной модификации — обновления и удаления связанных записей.
Рис. 32. Определение параметров связи между таблицами
В группе Тип отношений выберите один-ко-многим и завершите создание связи, щелкнув кнопку «Создать». После этого в окне «Схема данных» появится графическое изображение установленной связи. Пометки у концов линии связи 1- означают, что одна запись таблицы Книги может иметь сколько угодно связанных записей в таблице Читатели. Закройте окно связи, сохранив изменения макета Схема данных.
Примечания.
1. Если необходимо просмотреть все связи, определенные в базе данных, нажмите кнопку «Отобразить все связи на панели инструментов». Для просмотра связей только для определенной таблицы выберите таблицу, а затем на панели инструментов нажмите кнопку «Отобразить прямые связи». Если нужно изменить структуру таблицы, щелкните таблицу правой кнопкой и выберите команду «Конструктор таблиц». Для того чтобы просмотреть связи, определенные для конкретной таблицы, выберите эту таблицу, а затем нажмите кнопку «Отобразить прямые связи на панели инструментов».
2. Если в окне схемы данных уже отображены все таблицы, связанные с выбранной таблицей, то нажатие кнопки «Отобразить прямые связи» не даст никаких результатов, поскольку при нажатии этой кнопки на экран только добавляются таблицы, связанные с текущей таблицей. Если требуется просмотреть прямую связь только с одной таблицей, нажмите кнопку «Очистить макет» на панели инструментов, чтобы удалить все таблицы из окна схемы данных (при этом таблицы и связи физически не удаляются, а только убираются из окна схемы данных). Затем снова добавьте нужную таблицу в окно схемы данных и нажмите кнопку «Отобразить прямые связи». Для добавления таблицы нажмите кнопку «Отобразить таблицу на панели инструментов», дважды щелкните нужную таблицу, а затем нажмите кнопку «Закрыть».
Изменение или удаление существующих связей. Изменять связи между открытыми таблицами нельзя. Закройте все открытые таблицы. Переключитесь в окно базы данных и нажмите кнопку «Схема данных на панели инструментов». Если таблиц, связи которых нужно изменить, нет на экране, нажмите кнопку «Отобразить таблицу на панели инструментов» и дважды щелкните таблицы, которые нужно добавить. Дважды щелкните линию связи, которую необходимо изменить, и установите параметры связи. Для получения дополнительных сведений о конкретном параметре диалогового окна Изменение связей нажмите кнопку контекстной справки и щелкните нужный параметр.
Для удаления выделите линию связи, которую необходимо удалить (выделенная линия становится более толстой), а затем нажмите клавишу Delete и подтвердите удаление.
Удаление таблицы из окна «Схема данных». Выберите таблицу, которую необходимо удалить, а затем нажмите клавишу Delete. При этом из окна Схема данных удаляются таблица и ее линии связи. Это действие затрагивает только отображение в окне схемы данных. Сама таблица и ее связи остаются в базе данных.
Печать окна схемы данных. Для создания отчета, отображающего связи между таблицами базы данных в том виде, как они показаны в окне схемы данных, Microsoft Access использует мастер печати схемы данных. Для создания такого отчета при открытом окне Схема данных выберите в меню Файл команду Печать схемы данных. После этого раскроется окно отчета о связях между таблицами в текущей базе данных. Закройте окно отчета с сохранением, щелкнув кнопку «Да» в ответ на запрос Сохранить изменения макета отчета?, задав имя отчета, щелкните кнопку «ОК».
Создание объектов (форм, отчетов, страниц доступа, макросов) для связанных таблиц отличается от ранее рассмотренных нами приемов тем, что пользователю необходимо выполнять выбор полей из нескольких таблиц и учитывать действие механизма защиты целостности данных. Рассмотрим эти особенности на примере создания формы для базы данных Library, состоящей из двух связанных таблиц.
