Использование вычисляемых полей в запросах



Лабораторная работа № 2. Конструирование запросов

 

Цель работы:Ознакомление с технологией связывания таблиц.Конструирование и использование запросовк базе данных. Конструирование и использование запросов на изменение базы данных.

Связи между таблицами

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

При установлении связи нужно определить какая таблица является главной, а какая - подчиненной.

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

Наиболее часто используются отношения один-ко-многим. В этом случае одной записи в главной таблице соответствует несколько записей в подчиненной таблице.

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

Задание 1.

Установить связи между данными таблиц Факультет, Специальность, Группа и Студент.

Технология.

1. Загрузить файл базы данных Университет, созданный в предыдущей лабораторной работе.

2. Щелкнуть по кнопке инструментальной панели Схема данныхили выполнить команду СЕРВИС/Схема данных.

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

4. Добавив последнюю таблицу, щелкнуть по кнопке Закрыть.

5. В окне Схема данныхустановить связь между таблицей Факультет и таблицей Группа. Для этого:

- выделить щелчком поле Номер факультета в таблице Факультет и, удерживая нажатой левую клавишу мыши, переместить указатель на поле с тем же названием в таблице Группа',

- отпустить клавишу мыши, появится окно Связи,в котором необходимо включить флажок Обеспечение целостности данныхи нажать кнопку Создать;

- в окне Схема данныхпоявится связь между таблицами

типа один ко многим.

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

6. Аналогично установить связь между таблицами Специальность и Группа по полю Номер специальности. Установить связь между таблицами Группа и Студент по полю Номер группы.

7. Закрыть окно Схема данных.

Запросы

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

Условие может определять:

- порядок сортировки выводимых данных ;

- фильтрацию данных;

- вычисляемые поля;

- вывод данных из нескольких связанных таблиц;

- и т.п.

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

Все запросы можно разделить на 2 группы:

- запросы-выборки;

- запросы действия.

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

Основные виды запросов-выборок:

- запрос-выборка по одной таблице с заданными ключами сортировки (таблицы, рассортированы только по одному ключу);

- запрос с критерием поиска;

- запрос перекрестный;

- запрос с параметром;

- запрос с вычисляемым полем;

- запрос с итогами;

- запрос к связанным таблицам.

Запросы-действияпредназначены для выполнения требуемых действий над данными таблиц. Они позволяют добавлять, изменять или удалять данные. В Access существует 4 вида запросов - действия:

- запрос на удаление;

- запрос на замену (обновление);'

- запрос на создание новой таблицы;

- запрос на добавление новых записей в таблицу.

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

1-ая строка таблицы называется Поле. Вней содержатся имена полей. Поле может быть вычисляемым. Тогда в соответствующей ячейке содержится выражение для вычисления значения этого поля.

2-ая строка таблицы называется Сортировка. Она определяет способ сортировки по соответствующему полю (по возрастанию, по убыванию или без сортировки).

3-ья строка таблицы управляет Выводом на экран значения соответствующего поля

4-ая строка таблицы называется Условием отбора. Содержит критерии, по которым производится отбор записей в динамический набор данных.

При записи в таблицу условий в одну ячейку таблицы можно поместить до 1024 символов.Одно и то же поле может записываться в строку таблицы описания запроса несколько раз.

При записи в запросе условия можно объединять критерии при помощи операций И (AND) или ИЛИ(OR).

Использование вычисляемых полей в запросах

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

1. В режиме конструктора запроса введите выражение в пустую ячейку строки "Поле". После нажатия клавиши Enter или перевода курсора в другую ячейку будет выведено имя поля "Выражение №N, где N - целое число, увеличивающееся на единицу для каждого нового создаваемого вычисляемого поля в запросе. Это имя выводится перед выражением и отделяется от него двоеточием. В режиме таблицы данное имя становится заголовком столбца.

2. Пользователь имеет возможность переименовать вычисляемое поле.

Например, для создания поля "Сумма" следует ввести в ячейку в строке "Поле" выражение: Сумма: [Цена]*[Количество]

При выполнении запроса в поле "Сумма" будет занесено новое значение, найденное путем перемножения содержимого полей "Цена" и "Количество".

Вычисляемые поля позволяют:

-рассчитывать числовые значения и даты;

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

-создавать подчиненные запросы;

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

 

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

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

При делении денежного значения на любое число возвращается числовое значение со значением свойства <Размер поля> -"С плавающей точкой (8 байт)". Для того чтобы возвращалось значение типа "Денежный", следует указать этот тип в свойстве запроса <Формат поля>.

В Microsoft Access определена специальная функция, Count, обеспечивающая подсчет числа записей в запросе. Для этого следует ввести Count(*)в ячейку в строке полей.

Окно "Область ввода", выводящееся нажатием клавиш Shift+F2,позволяет просматривать выражения целиком (без прокрутки).

Элементы выражений

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

Оператор=, <, >,&, And, Or, Like Определяет операцию, выполняемую над одним или несколькими элементами.

ИдентификаторФормы! [Заказы]! [Заказ] или Отчеты! [Счет].ВыводНаЭкран Задает ссылку на значение поля элемента управления или свойства.

ФункцияDate, Sum, DLookup Возвращает значение, найденное в результате расчета или другой операции. Access Basic предоставляет пользователю возможность создавать собственные функции.

Литерал100, #1-янв-94#, "New York" Представляет значение, например, число, строку или дату, которое используется в Microsoft Access, именно в том виде, как оно записано. Даты заключаются в символы номера (#), а строки в прямые кавычки (").

Константа True,False, Да, Нет, Null Представляет значение, остающееся неизменным.

 

Задание2.

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

- наименование факультета

- номер группы

- наименование специальности

- номер зачетной книжки

- фамилия, имя, отчество

Технология

1. В окне База данных выбрать объект Запросы.

2. В появившемся списке выбрать Создание запроса в режиме конструктора.

3. В появившемся окне Добавление таблицы добавить таблицы Студент, Группа, Специальность, Факультет, затем закрыть окно.

4. При необходимости отрегулировать размеры и расположение окон с таблицами на схеме данных.

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

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

6. Просмотреть полученную выборку, выполнив команду ВИД/Режим таблицыили щелкнув по кнопке инструментальной панели «Вид».

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

8. Закрыть запрос. Появится диалоговое окно, в котором следует подтвердить необходимость его сохранения.Присвоить запросу имя «Выборка 1»

Задание3.

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

Для выполнения этого задания необходимо на бланке запроса добавить поле «Коммерческий» и ввести по нему соответствующее условие - ДА

Задание 4.

Составить запрос для подсчета количества коммерческих студентов в каждой группе.

Технология.

1. Создать в режиме конструктора новый запрос с использованием таблиц Факультет, Группа, Студент.

2. Ввести в 1-ый столбец бланка запроса поле Наименование факультета, во 2-ой столбец - поле Номер труппы, в 3-ий столбец - поле Коммерческий,

3. Установить в качестве условия выборки для 3-го столбца -значение Да.

4. Установить для 1-го и 2-го столбцов бланка сортировку по возрастанию.

5. Отключить вывод на экран данных 3-го столбца.

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


Дата добавления: 2018-04-05; просмотров: 191; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!