Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД Контрольная методичка.doc
Скачиваний:
8
Добавлен:
03.05.2019
Размер:
919.04 Кб
Скачать

2.2. Связывание таблиц.

Связывание осуществляется по полям первичных и внешних ключей таблиц. Методом «буксировки» мышью.

Для автоматической корректировки данных установить в окне выбора параметров связи следующие режимы:

  • Обеспечение целостности данных,

  • Каскадное обновление связанных полей

  • Каскадное удаление связанных записей.

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

2.3. Заполнение таблиц.

Для того, чтобы данные таблиц не противоречили друг другу рекомендуется использовать мастер подстановок.

В результате получаются таблицы с вложенными (подчиненными) таблицами:

Таблица Группа

Таблица Студенты

Таблица Предмет

Таблица Преподаватель

Таблица Успеваемость

3. Создание запросов.

3.1. Запрос на выборку

Получить оценки студентов. Условие отбора : № группы =321.

Запрос в SQL:

SELECT Студенты.НГ, Студенты.НС, Студенты.ФИО, Успеваемость.КПредм, Успеваемость.ОЦЕНКА

FROM Студенты INNER JOIN (Предмет INNER JOIN Успеваемость ON Предмет.КПредм = Успеваемость.КПредм) ON (Студенты.НС = Успеваемость.НС) AND (Студенты.НГ = Успеваемость.НГ)

WHERE (((Студенты.НГ)="321"));

Конструктор запросов:

Результат запроса

3.2. Параметрический запрос

Параметрический запрос – не использует статичный критерий, поле настраивается так, что сама программа запрашивает ввод критерия при каждом запуске запроса на выполнение. В качестве параметра должны выступать только константы (строчные, числовые, логические, даты и времени). При необходимости можно устанавливать несколько параметров одновременно.

Запрос: Получить по фамилии преподавателя код предмета, название предмета, который он ведет, общее количество часов на дисциплину, количество часов на лекции и на практику.

- в конструкторе добавить необходимые таблицы;

- выбрать необходимые поля для получения ответа на запрос;

- в строке условие отбора в квадратных скобках указать критерий отбора, который будет запрашиваться при каждом выполнении запроса.

Запрос в режиме SQL:

SELECT Преподаватель.ФИО, Преподаватель.КПредм, Предмет.ЧАСЫ, Предмет.ЛЕК, Предмет.ПР, Предмет.НП

FROM Предмет INNER JOIN Преподаватель ON Предмет.КПредм = Преподаватель.КПредм

WHERE (((Преподаватель.ФИО)=[введите фамилию преподавателя]));

Выполнение запроса:

Результат запроса:

3.3. Запрос с вычисляемыми полями

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

Запрос: найти записи о предметах, в которых об­щее число часов по предмету не совпадает с суммой часов лекций и практики.

  • Создать запрос на выборку для таблицы ПРЕДМЕТ. Перета­щить в бланк запроса поля НП, ПР, ЛЕК, Общее кол-во часов. Создание вычисляемого поля. Для получения разности созда­дим вычисляемое поле в пустой ячейке строки Поле, за­писав туда выражение: [Общее количество часов]-[ПР]-[ЛЕК].

  • Для отбора записей с ненулевым значением разности в вычис­ляемом поле в строку Условие отбора введем < > 0 (не равно 0).

  • После ввода выражения система формирует имя вычисляемого поля по умолчанию — Выражение 1:. Это имя вставится перед выражением. Для изменения имени установить курсор мыши в вычисляемом поле бланка запроса и нажать правую кнопку мыши. В контекстно-зависимом меню выбрать Свойства поля и в строку Подпись ввести новое имя поля — ЧАСЫ не равны ПР+ЛЕК. Имя поля может быть исправ­лено также непосредственно в бланке запроса.

Построенный запрос может быть использован для проверки правильности заполнения поля ЧАСЫ в таблице ПРЕДМЕТ.

Режим Конструктора запросов:

Запрос в режиме SQL:

SELECT Предмет.НП, Предмет.ЧАСЫ, Предмет.ЛЕК, Предмет.ПР, Предмет.ЧАСЫ- Предмет.ЛЕК- Предмет.ПР AS подсчет часов

FROM Предмет

WHERE (Подсчет часов <> 0);

Результат запроса: