
- •Введение
- •1. Основные понятия и краткая характеристика Microsoft Access
- •Архитектура Microsoft Access
- •2. Начало и окончание работы с Microsoft Access
- •3. Создание базы данных в Microsoft Access.
- •3.1. Создание базы данных.
- •Создание базы данных с помощью мастера.
- •Создание пустой базы данных вручную
- •3.2. Работа в окне базы данных
- •4. Таблицы в Microsoft Access
- •4.1. Создание таблицы в режиме конструктора
- •4.2.Типы данных в Access
- •Типы данных в Access
- •4.3. Свойства поля
- •Символы, используемые в маске ввода
- •5. Установление связей между таблицами
- •6. Подстановка значений
- •7. Создание форм
- •Порядок создания формы в режиме конструктора:
- •Работа в режиме конструктора формы
- •8. Работа с запросами
- •Создание запроса в режиме конструктора
- •Работа в окне конструктора запросов
- •Запрос с параметром
- •9. Подчиненные формы
- •10. Запросы к нескольким источникам. Отчеты
- •Задания для самостоятельной работы
- •Вопросы для самопроверки
- •Список использованной литературы
5. Установление связей между таблицами
В БД может быть несколько таблиц. В каждой таблице БД хранится информация об одном типе объектов. Объекты, описанные в разных таблицах, могут быть логически взаимосвязаны между собой. Например, поставщики товаров логически связаны с теми товарами, которые они поставляют. Сотрудники, данные о которых хранятся в таблице Сотрудники БД Кадры, работают в конкретных подразделениях, т.е. связаны с этими подразделениями.
Access позволяет объединять данные из двух или более таблиц, связанных между собой, и рассматривать это объединение как одну таблицу. Для того, чтобы такое стало возможным, разработчик должен указать Access, какие таблицы и как они взаимосвязаны. На языке Access такие указания называются установлением связей между таблицами.
Для того чтобы можно было установить связь между таблицами, нужно чтобы они имели одинаковые поля (одно или несколько). Имена связывающих полей в таблицах могут различаться. Тип и размер этих полей должен совпадать в обеих таблицах.
Связи между таблицами бывают следующих типов: один – к одному, один – ко многим и многие – ко многим.
Связь Один – к одному означает, что для каждой записи одной таблицы соответствует одна запись из второй, и так же каждой записи из второй таблицы соответствует одна запись в первой.
В качестве примера такой связи можно привести следующее. Предположим, что в БД на АТП имеются таблицы Автомобили и Водители. В первой хранится информация об автомобилях (марка, дата приобретения, пробег и т.д.), во второй – о водителях (ФИО, классность, стаж работы и т.д.). Предположим далее, что на данном АТП за каждым водителем закреплен один автомобиль, и другие водители садиться за руль чужого автомобиля не имеют права. При этих предположениях между таблицами Автомобили и Водители существует связь один – к одному.
Связь один – ко многим означает, что для каждой записи первой таблицы соответствует несколько записей из второй, но каждая запись второй таблицы связана только с одной записью из первой.
Например, если в БД Кадры создать таблицу Подразделения, в каждой строке которой будет храниться информация о конкретном подразделении, то между таблицами Подразделения и Сотрудники будет существовать связь один – ко многим (в каждом подразделении работает несколько сотрудников, но каждый сотрудник работает только в одном подразделении).
Связь многие – ко многим означает, что каждая запись одной таблицы связана с несколькими записями из второй, и каждая запись из второй таблицы связана с несколькими записями из первой. Реализация связей такого типа наиболее сложна. Как правило, должна быть создана третья (связующая) таблица, которая имеет с обеими исходными связь один – ко многим.
Примером связи многие – ко многим может быть связь между множествами преподавателей и студентов. Каждый преподаватель имеет дело со многими студентами, и каждый студент обучается у нескольких преподавателей.
Упражнение 5.1. Создайте в БД Кадры таблицу с именем Подразделения, содержащую три поля:
Номер — Ключевое поле числового типа. Размер — байт. Обязательное поле.
Наименование — Индексированное поле, повторения не допускаются, текстового типа. Обязательное поле.
Руководитель — Индексированное поле, повторения допускаются, текстового типа. Обязательное поле. Наберите в строке свойства значение по умолчанию слово Вакансия.
Введите в созданную таблицу данные, представленные в таблице 5.1.
Данные для таблицы Подразделения |
Таблица 5.1 |
||
Номер |
Наименование |
Руководитель |
|
1 2 3 4 5 6 7 8 9 10 |
Администрация Бухгалтерия Плановый отдел Отдел труда и заработной платы Отдел главного механика Отдел КИП Ремонтно-механический цех Заготовительный цех Механический цех Сборочный цех |
Окунев Ершова Дель Бондарева Журавлев Петухова Леонова Леонтьева Никанорова Ермакова |
Упражнение 5.2. Установите связь один ко многим между таблицами Подразделения и Сотрудники через поля Номер и Отд. Для этого проделайте следующее:
Найдите на панели инструментов кнопку
(схема данных) и щелкните на ней. Должно появиться окно Схема данных и поверх него окно Добавление таблицы.
Если окно Добавление таблицы не появилось, найдите на панели инструментов кнопку
(добавить таблицу) и щелкните на ней.
В окне Добавление таблицы выделите таблицу Подразделения и щелкните на кнопке Добавить. Затем выделите таблицу Сотрудники и добавьте ее к схеме данных. После этого закройте окно Добавление таблицы.
В окне Схема данных будут отображены две таблицы (рамки со списками полей).
В таблице Подразделения щелкните на поле Номер и перетащите его на поле Отд в таблице Сотрудники. Появится окно Изменение связей, показанное на рис.5.1.
Рис. 5.1. Окно Изменение связей
В этом окне установите флажок Обеспечение целостности данных. После этого станут доступны флажки Каскадное обновление связанных полей и Каскадное удаление связанных полей.
Каскадное обновление связанных полей в нашем случае означает, что при изменении номера любого подразделения автоматически будут внесены необходимые изменения в таблицу Сотрудники. Каскадное удаление связанных записей означает, что при удалении записи из таблицы Подразделения будут удалены соответствующие записи из таблицы Сотрудники.
Установите эти флажки.
Щелкните на кнопке Создать.
В окне Схема данных появится ломанная линия, соединяющая связываемые поля, помеченная с одного конца символом 1, а с другого — символом бесконечности, что означает связь один – ко многим.
Если что-то получится не так или Access выдаст сообщение об ошибке, убедитесь, что связываемые поля имеют одинаковый тип и размер и поле Номер в таблице Подразделения является ключевым. При необходимости внесите соответствующие изменения в описания таблиц.
Обратите внимание. Если вы выполнили все правильно, то в таблице Подразделения, при ее открытии появляется дополнительный столбец, в котором отображается маленький знак плюс. При щелчке мышкой на этом значке на экране высвечиваются записи таблицы Сотрудники, связанные с соответствующей строкой таблицы Подразделения, и знак плюс меняется на знак минус. При щелчке на знаке минус строки таблицы Сотрудники исчезают с экрана.