Лабораторная работа № 5
СОЗДАНИЕ СВЯЗЕЙ. ЗАПРОСЫ.
1. Создание связей типа ОБЪЕДИНЕНИЯ:
Связь таблиц устанавливается по совпадению значений некоторых полей. Чаще всего – это ключевое поле одной таблицы (первичный ключ) и поле того же типа в другой таблице (внешний ключ). Таблица, содержащая первичный ключ называется ГЛАВНОЙ, содержащая внешний ключ – ПОДЧИНЕННОЙ.
Установим связь типа ОБЪЕДИНЕНИЯ между таблицами ЛИЧНАЯ и РАБОТА:
1) Откройте схему данных через меню Сервис → Схема данных.
2) В рамке ЛИЧНАЯ захватите поле КодСотр и перетащите на поле КодСотр в рамке РАБОТА.
3) Появится диалоговое окно с сооб+щением: СВЯЗЬ УЖЕ СУЩЕСТВУЕТ. ИЗМЕНИТЬ СУЩЕСТВУЮЩУЮ СВЯЗЬ? Нажмите ДА.
4) Откроется диалоговое окно Изменение связей (рис.1)
Рис.1
5) Установите флажок R Обеспечение целостности данных. Это означает, что в таблице РАБОТА не может быть записей со значением поля КодСотр, не содержащимся в ключевом поле главной таблицы ЛИЧНАЯ.
6) Установите флажок R Каскадное удаление связанных данных, что в дальнейшем позволит синхронно удалять связанные записи в таблицах ЛИЧНАЯ и РАБОТА. Устанавливается тип отношений один-ко-многим.
7) Нажмите кнопку объединение.
8) В диалоговом окне Параметры объединения можно выбрать один из трех типов объединения (рис.2)
Рис.2
Первый тип – Объединение только тех записей, в которых связанные поля обеих таблиц совпадают, - означает, что при запросах из связанных таблиц будут выбираться только те записи, в которых значения связанных полей совпадают. Объединение этого типа называют ВНУТРЕННИМИ.
Второй тип – Объединение ВСЕХ записей из таблицы ЛИЧНАЯ и только тех записей из таблицы РАБОТА, в которых связанные поля совпадают – означает, что таблица ЛИЧНАЯ признается главной, и при запросах из таблицы ЛИЧНАЯ будут выбираться все записи, удовлетворяющие условию, даже если в таблице РАБОТА нет соответствующих значений поля КодСотр. Объединение этого типа называют ЛЕВЫМ ВНЕШНИМ.
Третий тип объединения называется ПРАВЫМ ВНЕШНИМ. При запросах из таблиц с таким объединением выводятся все записи таблицы ПОДЧИНЕННЫЕ независимо от того, имеются ли соответствующие им записи в таблице ГЛАВНОЙ.
Выберите первый тип.
В результате устанавливается связь таблиц ЛИЧНАЯ и РАБОТА «один-ко-многим» с внутренним типом объединения.
Аналогично установите связь между таблицами ЛИЧНАЯ и ДЕТИ по полю КодСотр, а также РАБОТА и ПОДРАЗДЕЛЕНИЯ по полю КодПодразд.
В результате изменения типа связей схема данных примет вид (рис.3).
Рис.3
Установленные связи можно изменять и удалять. Для изменения параметров связи надо выделить связь, щелкнув на ней мышкой, и из контекстного меню выбрать команду Изменить связь (или Удалить).
Можно очистить схему командой Очистить макет из пункта меню ПРАВКА. Очистка макета не удаляет установленные связи, а только приводит к возможности отобразить, например, связи других таблиц базы данных. Сохранить схему данных в текущем виде можно, вызвав из контекстного меню схемы команду Сохранить макет.
Запросы – это мощное средство работы с данными в системе таблиц.
Запросы позволяют выбрать из базы данных, удовлетворяющие условию запроса – запрос на выборку. Эта процедура подобна процедуре фильтрации, рассмотренной в Лабораторной работе №4. Но в отличии от фильтров запросы можно сохранять и использовать многократно, а также можно создавать запросы по нескольким связанным таблицам. Запрос может использоваться для группировки данных, создания вычисляемых полей. Может быть создан запрос на обновление данных ®изменения значений полей, удаление или добавление записей.
Результатом любого запроса тоже является таблица – виртуальная таблица, созданная, возможно, из нескольких таблиц. Эту таблицу-запрос можно использовать в других запросах, формах или отчетах. ВАЖНО ПОМНИТЬ: данные этих виртуальных таблиц не хранятся, а формируются каждый раз заново при выполнении запроса. Поэтому повторно выполняемый запрос выдает результат, соответствующий текущему состоянию базы данных.
Для создания и использования запросов надо в окне Кадры: база данных выбрать объект Запросы.
Задача: Нужно получить список, содержащий фамилии сотрудников, имена и даты рождения детей, чей возраст не более 14 лет. (Решим эту задачу в 2 этапа).
Задача№1: Выдать список сотрудников и их детей с именами и датами рождения.
Создадим запрос, результатом которого будет таблица, содержащая поля ФИО, ИмяРеб, ДатаРождРеб. Эти поля содержаться в двух таблицах – ЛИЧНАЯ и ДЕТИ, поэтому будем создавать таблицу-запрос из этих двух таблиц. Последовательность действий:
Ø В окне базы данных нажмите кнопку СОЗДАТЬ.
Ø В окне Новый запрос выберите тип запроса – Простой запрос.
Ø В диалоговом окне Создание простых запросов в списке Таблицы/Запросы выберите сначала таблицу ЛИЧНАЯ и передайте поле ФИО из списка Доступные поля в список Выбранные поля. Затем из таблицы ДЕТИ передайте в список Выбранные поля ИмяРеб и ДатаРождРеб (рис.4). Нажмите кнопку Далее >.
Ø Выберите Подробный отчет (вывод каждого поля каждой записи). Нажмите кнопку Далее >.
Ø Задайте имя запроса – Личная_Дети. Установите Открытие запроса для просмотра данных. Нажмите кнопку Готово >.
Ø Просмотрите таблицу и закройте окно с отображенной таблицей.
Рис.5
Запрос может быть основой для создания нового запроса.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.