на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Базы данных на логическоми и функциональном программировании
p align="left">Использование более сложных условий.

Пусть требуется построить следующий запрос: «Построить список студентов заданной группы, поступивших в институт либо после 2002 года, либо до 1999». Условие, по которому будут выбираться данные в запросе, можно записать следующим образом:

Forms![Список студентов в группе]![Шифр группы] ((YearEnter => 2002) (YearEnter <= 1999)).

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

Откройте предыдущий запрос в режиме «Конструктора».

Добавьте в третий столбец бланка запроса поле YearEnter.

В строке Условие отбора этого столбца установите =>2002, а в стоке Или - <= 1999.

Вызовите форму на выполнение.

Вычисления в запросах.

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

Вызовите «Конструктор запросов» для предыдущего запроса.

Удалите третий столбец бланка запроса.

В первом свободном столбце введите имя столбца «Срок обучения:», а затем выражение:

Year(Date()) - [YearEnter]

Если не ввести имя поля и двоеточие, то вычисляемому полю будет присвоено имя «Выражение1». Бланк запроса примет вид:

Поле:

SGroup

FIOS

Срок обучения: Year(Date())-[YearEnter]

Имя таблицы:

Student

Student

Сортировка:

По возрастан

Вывод на экран:

Условие отбора:

Forms![Спи

или:

4. Вызовите форму на выполнение.

Занятие 5. Создание простых запросов (продолжение)

Создайте следующие запросы и формы для их вызова (возможно размещение нескольких запросов на одной форме):

Составить список групп для заданного факультета, в которых более 20 студентов.

Составить список групп для заданного факультета и курса, в которых заданное количество студентов (число студентов должно задаваться в диапазоне).

Определить список предметов, принимавшихся заданным преподавателем.

Создать список ведомостей по экзаменам, принимавшимся в весеннем семестре

Создать список групп, сдававших экзамены заданному преподавателю в конкретном месяце.

Составить список преподавателей, принимавших экзамены в период с заданного момента времени по текущий момент времени.

Составить список студентов, получивших неудовлетворительные оценки или не аттестованных по какому-либо предмету.

Занятие 6. Построение многотабличных запросов

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

Внутреннее соединение (или эквисоединение) обычно используют при создании запросов на выборку. Результирующее множество запроса содержит записи одной таблицы, имеющие совпадающие значения в связанных полях другой (WHERE поле1 = поле2). В большинстве случаев соединения основываются на уникальном значении поля первичного ключа в одной таблице и значении поля внешнего ключа в другой таблице, если таблицы связаны отношением «один - ко - многим». Если в таблице «многие» записи с заданной величиной отсутствуют, то соответствующие записи таблицы «один» в результирующее множество не включаются. Access автоматически создает соединение между таблицами, если в них имеются поля с одинаковыми именами, одно из которых является ключевым, либо если соединение было задано в окне связей.

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

Рекурсивное соединение связывает данные в одной таблице. Создание этого типа соединения выполняется путем добавления в запрос копии таблицы и связывания полей идентичных таблиц.

Соединение по отношению (или тета-соединение) связывает данные некоторым отношением. Это может быть любое отношение, исключая равенство.

Построим запрос: «На каких курсах и в каких группах преподается дисциплина Базы данных». Для этого выполним следующие действия:

Создайте в режиме «Конструктора» новый запрос. С помощью окна «Добавление таблиц» включите в окно запроса таблицы Group, Vedom и Predmet. Обратите внимание, что между таблицами будут установлены связи.

В первый свободный столбец бланка запроса включите поле Predm из таблицы Predmet. Установите в этом столбце Условие отбора равное “Базы данных”. Сбросьте флажок Вывод на экран.

Во второй столбец включите поле SGroup из таблицы Vedom, а в третий - Curs из таблицы Group. Выполните запрос.

Использование в запросах условий Like, In, Between.

Like определяет шаблон, которому должно соответствовать искомое строковое выражение. Наиболее часто используются символы шаблона *, замещающий любое число знаков, и ? - замещающий один символ.

In определяет, является ли строковое выражение элементом списка значений.

Between определяет, находится ли значение поля в определенном диапазоне.

Реализуем запрос «Выдать список студентов, либо не аттестованных, либо получивших неудовлетворительную оценку по математическим дисциплинам, поступившим в институт в период с 1999 по 2001 год». Будем предполагать, что название математических дисциплин содержит в той или иной форме производные от слова «математика». Для построения данного запроса в конструкторе необходимо добавить таблицы Ball, Student, Predmet, Ekzamen и Vedom. Бланк запроса должен иметь следующий вид:

Поле:

Ocen

FIOS

Predm

YearEnter

Имя таблицы:

Ball

Student

Predmet

Student

Сортировка:

Вывод на экран:

Условие отбора:

In (“неуд”, “неат”)

Like “Математ*”

Between 1999 And 2001

или:

Like “*математ*”

Построить следующие запросы:

Определить предметы, сдававшиеся в осеннем семестре.

Составить список групп, сдававших «Физику», в весеннем семестре.

Определит список преподавателей, принимающих экзамены на факультете «Информационных технологий».

Задание 7.

Создание запросов с использованием статистических функций

В качестве статистических функций используются следующие функции:

Avg() - вычисляет арифметическое среднее набора чисел, содержащееся в указанном типе запроса;

Count() - вычисляет количество непустых записей, возвращаемых запросом;

First() - возвращает значение поля из первой записи результирующего набора;

Last() - возвращает значение поля из последней записи результирующего набора;

Max() - возвращает максимальное из набора значений, содержащихся в указанном поле;

Min() - возвращает минимальное из набора значений, содержащихся в указанном поле;

Sum() - возвращает сумму значений, содержащихся в указанном поле;

Var() - возвращает дисперсию, вычисляемую по набору значений, содержащихся в данном поле.

Реализуем запрос: «Определить количество студентов, поступивших в институт в разные годы». Для создания этого запроса выполните следующие действия:

Создайте новый запрос и добавьте в него таблицу Student.

Выберите команду «Вид. Групповые операции» либо щелкните правой кнопкой мыши по бланку запроса и выберите в контекстном меню команду «Групповые операции». В бланк запроса добавляется строка Групповые операции, содержащая по умолчанию в каждой ячейке операцию «Группировка». Эта операция позволяет сгруппировать данные, полученные из таблицы или запроса, относительно каждого уникального значения поля, для которого определена эта операция.

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

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

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

Задание: Создайте следующие запросы:

Определить средний балл, полученный студентами разных групп по различным предметам.

Определить средний возраст студентов по факультетам.

Определить количество неудовлетворительных оценок, полученных по физике по факультетам.

Определить студента, имеющего максимальный средний балл на факультете «Информационных технологий».

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

Запросы на изменение позволяют создавать новые таблицы и обновлять данные в уже имеющихся. Будем рассматривать четыре типа запросов на изменение:

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

Запросы на добавление позволяют добавить в таблицу создаваемые запросом данные.

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

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

Создание новой таблицы при помощи запроса. Пусть требуется построить таблицу, в которой содержится перечень предметов и преподавателей, преподающих эти предметы, на различных факультетах с указанием полугодия, когда принимается экзамен. Реализовать этот запрос можно в два этапа. На первом этапе осуществляется разработка запроса на выборку данных, как это было показано выше. Бланк запроса должен иметь вид:

Поле:

FIOP

Predm

Семестр: Iif(Month([Vedom]![DataEkz])>8, ”Осень”, “Весна”

Имя таблицы:

Prep

Predmet

Сортировка:

Вывод на экран:

Условие отбора:

или:

Убедитесь в правильности выполнения запроса. Создайте на его основе таблицу. Для этого выберите команду «Запрос. Создание таблицы». Введите Ведение предметов в поле «Имя таблицы». Нажмите на панели инструментов кнопку «Запуск». Выводится приглашение подтвердить добавление указанного числа записей. Нажмите кнопку «Да». Убедитесь, что таблица создана.

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

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

Запросы на удаление записей. Создайте запрос на выборку и включите в него все поля (перетащите элемент списка полей *), а затем добавьте поля, определяющие критерий отбора уничтожаемых данных. Если не задать условие, то, преобразовав запрос на выборку в запрос на удаление и выполнив его, можно удалить все записи используемой таблицы.

Для преобразования запроса на выборку в запрос на удаление выберите команду «Запрос. Удаление». Строки «Сортировка» и «Вывод на экран» исчезают, появляется строка «Удаление». Значение «Из» в первой ячейке строки «Удаление» вместе с выражением, заданным в ячейке «Поле», указывают откуда произойдет удаление. Столбцы со значением «Условие» в строке «Удаление» определяют критерий отбора записей для удаления.

Запросы для обновления записей. Запросы на обновление позволяют изменять данные в таблице. Они используются для обновления значений полей с помощью одного общего выражения. Для создания запроса на обновление требуется выполнить следующие действия:

Откройте «Конструктор запросов». С помощью «Запрос. Обновление» установите режим обновления. В бланке запроса появиться новая строка Обновление, в которой указывается значение, на которое будет меняться значение поля в данном столбце. Условие определяет критерий отбора записей для обновления.

Задание. Создать следующие запросы:

1. Создать таблицу с перечнем студентов факультета информатики, поступившим в институт в 2001 году, имеющим задолженности с указанием предметов, по которым имеются задолженности.

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

3. Создайте запрос для удаления студентов, имеющих более пяти задолженностей в течение трех лет.

4. Создайте запрос, позволяющий изменять Ф.И.О. Преподавателя, который проводит экзамен.

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.