Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичкое пособие для сам.работы_январь_13.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.51 Mб
Скачать
    1. Немного о ключевых полях

Во всех учебных базах данных в качестве первичного ключа мы рассматривали одно поле записи. Но в некоторых случаях используется составной ключ. Такой ключ необходим, если нельзя гарантировать уникальность записи с помощью одного ключа. Составной ключ представляет собой комбинацию нескольких полей. Для определения составного ключа необходимо:

  • Открыть таблицу в режиме Конструктор таблиц;

  • Выделить поля, которые необходимо определить как составной ключ;

  • Вызвать контекстное меню, и удерживая клавишу Shift, выбрать в нем строку Ключевое поле.

Для составного ключа существенным оказывается порядок полей, входящих в составной ключ, так как записи сортируются в соответствии с порядком ключевых полей в окне конструктора таблиц. Если необходимо указать другой порядок сортировки без изменения порядка ключевых полей, выберем поле Индексы на вкладке Конструктор.

    1. Запросы к базе данных

Рассмотрим вопросы, связанные с извлечением информации из таблиц базы данных.

      1. Создание простого запроса

На практике при составлении простого запроса используют одну или сразу несколько таблиц. Запрос составляют в Мастер запросов или в режиме Конструктора запросов. Рассмотрим на примере базы данных Temperature.mdb.

Запрос 1.4.1

Составьте запрос для отбора данных по метеостанции «Петрозаводск» так, чтобы в результате на экране отображались данные по средним температурам (T_med), год, месяц и название самой станции.

Для выполнения этого запроса в Конструкторе выбираем две таблицы: Stations и Data. Эти таблицы должны быть визуально связаны, иначе запрос не будет работать корректно. В нижней половине конструктора запросов нужно задать имя таблицы (вторая строка) и имя поля (первая строка). Можно и просто перетащить эти поля или «кликнуть» по полю в таблице. Так как код станции «Петрозаводск» - ,запишем его в строку критериев «Условие отбора» столбца id_station (В этом случае снимем «галочку» Вывод на экран). Или в таблице Stations содержатся названия станций. Название станции и является условием отбора. Сформированный в окне конструктора запрос показан на рис.П1.4.1.

Рис.П1.4.1 Простой запрос

Самостоятельно:

  1. Повторите предыдущее задание непосредственно из таблицы Data, используя фильтр по выделенному. В чем различие между результатами?

  2. Создайте запрос по базе данных Сhronicles.mdb, в котором выведены название летописей, где есть записи о пожарах. В результате выполнения запроса на экране должны отображаться регион, название летописной книги и запись об явлении.

1.4.2. Запрос с условием

Запрос 1.4.2.

Немного усложним задачу. Предположим, что необходимо отобрать данные по двум метеостанциям («Сортавала» и «Петрозаводск»), но так, чтобы средняя температура за месяц была в интервале 10—15° С.

Откроем новый запрос в режиме конструктора. Этот запрос можно выполнить выбрав две (Stations, Data) или три таблицы ( Regions, Stations, Data). Если выбрать две таблицы, то в столбце Station в «Условие отбора» запишем станцию «Сортавала», а во второй строке – или , название другой станции «Петрозаводск». В нашем примере условие по станциям можно записать и так: «Сортавала» Or «Петрозаводск». Теперь надо дополнить критерии отбора записей, указав интервал температур- от 10 до 15. Строка, соответствующая нашему примеру, выглядит так:>10 And < 15

Как выглядят запросы показано на рис.П1.4.2 и рис.П1.4.3.

Рис. П1.4.3. Запрос с условием

Обратите внимание, что обе станции относятся к региону Карелия, поэтому запрос может состоять из трёх таблиц и выглядит следующим образом( рис. П1.4.4.)

Рис. П1.4.4. Запрос с условием

Самостоятельно:

  1. Измените запрос, так, чтобы на экране отображались только данные по станциям «Петербург», «Петрозаводск», с соблюдением предыдущего условия.

  2. Создать запрос, в котором выведены все имена студентов, начинающиеся с буквы «В», и число студентов имеющих каждое такое имя (подсказка: условие должно выглядеть В*). Полученный список должен быть упорядочен по убыванию числа студентов. (БД Студент_заочн_2001.mdb).