Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных- лекции.docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
391.4 Кб
Скачать

Пример, использующий учебную базу данных «Борей»

В приведенном ниже примере используется мастер запросов, с помощью которого строится запрос, отображающий список заказов, стоимость доставки каждого заказа и фамилию сотрудника, обрабатывающего данный заказ.

 Примечание.   В данном примере происходит изменение сведений в учебной базе данных «Борей». Учитывая это, можно сначала сделать резервную копию учебной базы данных «Борей» и выполнять указания примера уже на резервной копии.

Использование мастера запросов для построения запроса

  1. Откройте учебную базу данных «Борей». Закройте форму входа.

  2. На вкладке Создание в группе Другие щелкните Мастер запросов.

  1. В диалоговом окне Новый запрос выберите вариант Создание простых запросов и нажмите кнопку ОК.

  2. В поле со списком таблицы и запросы выберите пункт Таблица: Заказы.

  3. В списке Доступных полей дважды щелкните пункт КодЗаказа, чтобы поместить это поле в список Выбранные поля. Дважды щелкните пункт Стоимость доставки, чтобы поместить это поле в список Выбранные поля

  4. В поле со списком таблицы и запросы выберите пункт Таблица: Сотрудники.

  5. В списке Доступные поля дважды щелкните пункт Имя, чтобы поместить это поле в список Выбранные поля. Дважды щелкните пункт Фамилия, чтобы поместить это поле в список Выбранные поля.Нажмите кнопку Далее.

  6. Поскольку создается перечень всех заказов, следует использовать подробный запрос. Если, например, суммируется стоимость доставки заказов, обрабатываемых одним сотрудником, или выполняются другие статистические функции, следует использовать статистический запрос. Выберите вариант подробный (вывод каждого поля каждой записи) и нажмите кнопку Далее.

  7. Нажмите кнопку Готово, чтобы просмотреть результаты.

Запрос вернет перечень заказов, для каждого из которых будет указана стоимость доставки, а также имя и фамилия сотрудника, обрабатывающего данный заказ.

Объединение данных из двух таблиц при помощи их связи с третьей таблицей

Часто бывает, что данные в двух таблицах связаны друг с другом через третью таблицу. Это может быть в том случае, когда данные в первых двух таблицах связаны отношением «многие-ко-многим» (Отношение «многие-ко-многим». Если две таблицы связаны отношением «многие-ко-многим», то одной записи в каждой таблице могут соответствовать несколько записей в другой таблице. Для установления отношения «многие-ко-многим» необходимо создать третью (связующую) таблицу и добавить в нее ключевые поля из обеих таблиц.). Хорошим приемом при проектировании баз данных является разбиение одной связи с отношением «многие-ко-многим» между двумя таблицами на две связи с отношением «один-ко-многим» (Отношение «один-ко-многим». Объединение двух таблиц, в котором значению ключа каждой записи в главной таблице соответствует значение в связанном поле или полях в нескольких записях подчиненной таблицы.), в которых участвуют три таблицы. Это делается путем создания третьей (связующей) таблицы, имеющей один первичный ключ (Первичный ключ. Одно или несколько полей (столбцов), комбинация значений которых однозначно определяет каждую запись в таблице. Первичный ключ не допускает значений Null и всегда должен иметь уникальный индекс. Первичный ключ используется для связывания таблицы с внешними ключами в других таблицах.) и один внешний ключ (Внешний ключ. Одно или несколько полей (столбцов) в таблице, содержащих ссылку на поле или поля первичного ключа в другой таблице. Внешний ключ определяет способ объединения таблиц.) для каждой из связуемых таблиц. Затем создается связь с отношением «один-ко-многим» между каждым внешним ключом связующей таблицы и соответствующим первичным ключом связуемой таблицы. В этом случае следует включать в запрос все три таблицы, даже если данные извлекаются только из двух.