Создание связей. Запросы: Методические указания к выполнению лабораторной работы № 5

Страницы работы

Содержание работы

Лабораторная работа № 5

СОЗДАНИЕ  СВЯЗЕЙ. ЗАПРОСЫ.

1. Создание связей типа ОБЪЕДИНЕНИЯ:

Связь таблиц устанавливается по совпадению значений некоторых полей. Чаще всего – это ключевое поле одной таблицы (первичный ключ) и поле того же типа в другой таблице (внешний ключ). Таблица, содержащая первичный ключ называется ГЛАВНОЙ, содержащая внешний ключ – ПОДЧИНЕННОЙ

Установим связь типа ОБЪЕДИНЕНИЯ между таблицами ЛИЧНАЯ и РАБОТА:

1)  Откройте схему данных через меню Сервис Схема данных.

2)  В рамке ЛИЧНАЯ захватите поле КодСотр и перетащите на поле КодСотр в рамке РАБОТА.

3)  Появится диалоговое окно с сооб+щением: СВЯЗЬ УЖЕ СУЩЕСТВУЕТ. ИЗМЕНИТЬ СУЩЕСТВУЮЩУЮ СВЯЗЬ? Нажмите ДА

4)  Откроется диалоговое окно Изменение связей (рис.1)

Рис.1

5)  Установите флажок R Обеспечение целостности данных. Это  означает, что в таблице РАБОТА не может быть записей со значением поля КодСотр, не содержащимся в ключевом поле главной таблицы ЛИЧНАЯ.

6)  Установите флажок R Каскадное удаление связанных данных, что в дальнейшем позволит синхронно удалять связанные записи в таблицах ЛИЧНАЯ и РАБОТА. Устанавливается тип отношений один-ко-многим.

7)  Нажмите кнопку объединение.

8)  В диалоговом окне Параметры объединения можно выбрать один из трех типов объединения (рис.2)

Рис.2

Первый тип – Объединение только тех записей, в которых связанные поля обеих таблиц совпадают, - означает, что при запросах из связанных таблиц будут выбираться только те записи, в которых значения связанных полей совпадают. Объединение этого типа называют ВНУТРЕННИМИ.

Второй тип – Объединение ВСЕХ записей из таблицы ЛИЧНАЯ и только тех записей из таблицы РАБОТА, в которых связанные поля совпадают – означает, что таблица ЛИЧНАЯ признается главной, и при запросах из таблицы ЛИЧНАЯ будут выбираться все записи, удовлетворяющие условию, даже если в таблице РАБОТА нет соответствующих значений поля КодСотр. Объединение этого типа называют ЛЕВЫМ ВНЕШНИМ.

Третий тип объединения называется ПРАВЫМ ВНЕШНИМ. При запросах из таблиц с таким объединением выводятся все записи таблицы ПОДЧИНЕННЫЕ независимо от того, имеются ли соответствующие им записи в таблице ГЛАВНОЙ.

Выберите первый тип.

В результате устанавливается связь таблиц ЛИЧНАЯ и РАБОТА «один-ко-многим» с внутренним типом объединения.

Аналогично установите связь между таблицами ЛИЧНАЯ и ДЕТИ по полю КодСотр, а также РАБОТА и ПОДРАЗДЕЛЕНИЯ по полю КодПодразд.

В результате изменения типа связей схема данных примет вид (рис.3).

Рис.3

Установленные связи можно изменять и удалять. Для изменения параметров связи надо выделить связь, щелкнув на ней мышкой, и из контекстного меню выбрать команду Изменить связь (или Удалить).

Можно очистить схему командой Очистить макет из пункта меню ПРАВКА. Очистка макета не удаляет установленные связи, а только приводит к возможности отобразить, например, связи других таблиц базы данных. Сохранить схему данных в текущем виде можно, вызвав из контекстного меню схемы команду Сохранить макет.


2. Запросы

Запросы – это мощное средство работы с данными в системе таблиц.

Запросы позволяют выбрать из базы данных, удовлетворяющие условию запроса – запрос на выборку. Эта процедура подобна процедуре фильтрации, рассмотренной в Лабораторной работе №4. Но в отличии от фильтров запросы можно сохранять и использовать многократно, а также можно создавать запросы по нескольким связанным таблицам. Запрос может использоваться для группировки данных, создания вычисляемых полей. Может быть создан запрос на обновление данных ®изменения значений полей, удаление или добавление записей.

Результатом любого запроса тоже является таблица – виртуальная таблица, созданная, возможно, из нескольких таблиц. Эту таблицу-запрос можно использовать в других запросах, формах или отчетах. ВАЖНО ПОМНИТЬ: данные этих виртуальных таблиц не хранятся, а формируются каждый раз заново при выполнении запроса. Поэтому повторно выполняемый запрос выдает результат, соответствующий текущему состоянию базы данных.

2.1 ПРОЕКТИРОВАНИЕ ПРОСТОГО ЗАПРОСА.

Для создания и использования запросов надо в окне Кадры: база данных выбрать объект Запросы.

Задача: Нужно получить список, содержащий фамилии сотрудников, имена и даты рождения детей, чей возраст не более 14 лет. (Решим эту задачу в 2 этапа).

Задача№1: Выдать список сотрудников и их детей с именами и датами рождения.

Создадим запрос, результатом которого будет таблица, содержащая поля ФИО, ИмяРеб, ДатаРождРеб. Эти поля содержаться в двух таблицах – ЛИЧНАЯ и ДЕТИ, поэтому будем создавать таблицу-запрос из этих двух таблиц. Последовательность действий:

Ø В окне базы данных нажмите кнопку СОЗДАТЬ.

Ø В окне Новый запрос выберите тип запроса – Простой запрос.

Ø В диалоговом окне Создание простых запросов в списке Таблицы/Запросы выберите сначала таблицу ЛИЧНАЯ и передайте поле ФИО из списка Доступные поля в список Выбранные поля. Затем из таблицы ДЕТИ передайте в список Выбранные поля ИмяРеб и ДатаРождРеб (рис.4). Нажмите кнопку Далее >.

 

Рис.4

Ø Выберите ž Подробный отчет (вывод каждого поля каждой записи). Нажмите кнопку Далее >.

Ø Задайте имя запроса – Личная_Дети. Установите ž Открытие запроса для просмотра данных. Нажмите кнопку Готово >.

Ø Просмотрите таблицу и закройте окно с отображенной таблицей.

Этот простой запрос фактически создает новую таблицу, в которую включены поля из двух таблиц и те записи, в которых связанные поля обеих таблиц совпадают. Эта таблица не храниться, а будет создаваться заново каждый раз при обращении к запросу Личная_Дети. Результат запроса показан на рис.5.

Рис.5

Запрос может быть основой для создания нового запроса.

Похожие материалы

Информация о работе