Файл: Лабораторная базы данных.doc

ВУЗ: Не указан

Категория: Методичка

Дисциплина: Базы данных

Добавлен: 23.10.2018

Просмотров: 1556

Скачиваний: 14

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Основные параметры структуры таблицы Успеваемость

Таблица 2.3

Имя поля

Ключевое поле

Тип данных

Размер поля

Код предмета

Да

Числовой

Длинное целое

зачетки

Да

Короткий текст

8

Оценка


Числовой

Байт


Можно не делать Код предмета полем подстановки, т.к. заполнение и просмотр таблицы Успеваемость  — особая задача, к которой мы еще вернемся.


Дополните самостоятельно схему данных, установив все необходимые связи (см. лаб. работу №1). Не забудьте про обеспечение целостности.


Лабораторная работа №3


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


Порядок выполнения работы


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


Указания:

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

  2. Создайте новую форму на основе таблицы Специальности. Можно поместить на форму только поля Буквы и Название специальности, сделав их недоступными для изменения. Для этого нужно установить блокировку в свойствах поля на вкладке Данные.

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

Добавление справочника предметов

Создайте простую форму Предметы, установив свойство Режим по умолчанию – Режим таблицы. Она будет использоваться для добавления нового предмета или изменения названия имеющегося предмета. Поместите на форму Учебный план кнопку “Справочник предметов”, при нажатии которой будет открыта форма Предметы.


Составная форма Учебный план


Рис 3.1


Вы, наверное, заметили, что справочник всех предметов открывается в режиме простой формы, а не таблицы (хотя при создании вы задавали режим таблицы). Для такого справочника это неудачная форма представления данных. Чтобы исправить положение, нужно открыть текст обработчика нажатия кнопки «Справочник предметов». Дело в том, что когда кнопка создается при помощи мастера, Access автоматически формирует для нее процедуру на языке Visual Basic, которая называется обработчиком события Нажатие кнопки. Все обработчики событий для одной формы помещаются в один программный модуль, который называется модулем формы. Для каждой формы создается свой модуль.

В свойствах кнопки на вкладке События напротив Нажатия кнопки вы увидите кнопку с многоточием. Нажав ее, вы откроете нужный нам обработчик. Там вы увидите строку Режим


Смените его на режим Таблица






Ввод данных

Перейдите в режим формы и заполните учебный план данными для 2-3 специальностей. Предварительно заполните справочник предметов. Пример заполненной формы для одной из специальностей показан на рис. 3.1.

Связывание формы Специальности с формами Учебный план и Группы

Формы Специальности, Группы и Учебный план могут открываться независимо друг от друга, но было бы удобным для пользователя как-то связать эти формы друг с другом. Сделаем так.

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


В результате получилось две основных формы для просмотра, ввода и редактирования данных:

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

  • Группы, которая содержит также все сведения о студентах групп.


Задание: чтобы связать между собой и эти две формы, поместите на форму Специальности кнопку Группы (эта кнопка создается аналогично кнопке Учебный план).

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

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





ЛАБОРАТОРНАЯ РАБОТА №4


Цель работы: освоение техники построения запросов на выборку с использованием конструктора запросов.


Порядок выполнения работы

Прочитайте внимательно следующие пояснения .

Запросы — основное средство обработки данных в базах данных.

При помощи запросов можно выполнять следующие действия:

  • поиск нужной информации по одной или нескольким таблицам и анализ данных (запрос на выборку);

  • создание новой таблицы для сохранения результатов запроса на выборку (запросы на создание);

  • добавление новых строк в таблицу (запросы на добавление);

  • удаление строк из таблицы (запросы на удаление);

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


Запросы хранятся в базе данных в виде текста, написанного на языке запросов SQL, однако для разработки запросов в Access не требуется знания языка SQL. Дело в том, что имеющийся в Access конструктор запросов автоматически формирует текст на языке SQL. При этом пользователь формирует запрос, заполняя специальный бланк, который называется бланком запроса по образцу (QBE Query By Example). С его помощью можно сформировать запрос простыми приемами.

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


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

Сформированная в результате запроса таблица не сохраняется на диске, однако остается в оперативной памяти до тех пор, пока не будет закрыта. Каждый раз при открытии запроса (кнопка Открыть) результирующая таблица создается заново путем выполнения команды SQL, которая была сохранена в базе данных.


Указания по созданию запросов:

Создание запроса кначинается с открытия инструмента Конструктор запросов в ленте инструментов на вкладке Создание.



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

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

Бланк запроса по образцу имеет две панели: на верхней расположены таблицы, на которых основывается запрос, с указанием связей между ними; строки нижней панели определяют структуру запроса.

Строку Поле заполняют перетаскиванием названий полей из таблиц в верхней части бланка, строка Имя таблицы заполняется автоматически при перетаскивании поля. Строка Сортировка позволяет отсортировать результат запроса по данному полю (по возрастанию или убыванию). Бывают случаи, когда поле должно присутствовать в бланке запроса по образцу, но не должно отображаться в результирующей таблице. В этом случае можно запретить его Вывод на экран, сбросив соответствующий флажок. Самая интересная строка в бланке запроса по образцу - Условие отбора. Здесь записывают тот критерий, по которому выбирают записи для включения в результирующую таблицу. По каждому полю можно создать свое условие отбора, при этом между отдельными условиями будет выполняться операция «И». Если требуется выполнить операцию «ИЛИ», то одно из условий записывают в строке «ИЛИ»

Запуск запроса выполняют щелчком на кнопке Выполнить (или команда меню Режим таблицы), при запуске образуется результирующая таблица. Чтобы выйти из результирующей таблицы и вернуться к созданию запроса, нужно выбрать команду Конструктор.

Например, рассмотрим процесс создания запроса, который выводит список всех студентов группы ЭМ-51.

Сначала определим, какие таблицы необходимы для выполнения запроса. В нашем случае это Группы и Студенты. Связь между ними установится автоматически, т.к. она указана в схеме данных. Далее определим, какие поля нужно отображать на экране (ФИО), а какие потребуются для формирования условия отбора (Буквы и Курс-номер). Задаем значения для отбора ЭМ и 51. В данном случае эти значения можно ввести вручную. Заполненный бланк для запроса изображен на рисунке.


















Пример заполнения бланка запроса


























Рис. 4.1


Обратите внимание:

Условие отбора записей и другие выражения можно формировать при помощи Построителя выражений (команда Построить контекстного меню). Построитель выражений, имеющийся в Access, очень прост и удобен. Он позволит избежать ошибок и описок при формировании выражений. Рекомендуем его использовать.


Задание: создайте запросы на выборку:

Список всех старост первого курса.

  1. Список всех студентов второго курса (ФИО).

  2. Список всех студентов второго курса, у которых фамилии начинаются на букву «А» (ФИО и № зачетки).

  3. Список всех студентов второго курса, у которых фамилии начинаются на букву «А» (ФИО, № зачетки, с указанием названий группы для каждого студента)

  4. Вывести список предметов специальности ЭМ, которые или необязательные, или по ним зачет.


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

Эти запросы позволяют создавать новые поля на основе значений других полей таблицы. Для создания вычисляемого поля следует в строке Поле Бланка запросов задать выражение для вычислений (вместо того, чтобы перетаскивать туда поле какой-либо таблицы). При этом настоятельно рекомендуется пользоваться инструментом Построитель в режиме Конструктор.


Задание: создайте запрос на выборку: Список всех студентов с указанием возраста в годах.

Указание: воспользуйтесь функцией DateDif(), которая использует разницу дат. Используйте Построитель.



Запросы с параметрами

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

После запуска запроса открывается диалоговое окно, в котором предлагается ввести параметр. Если в запросе несколько параметров, то последовательно открывается несколько окон для ввода параметров.


Задание: создайте запросы на выборку с параметром:

1. Все сведения о заданном студенте (вводится ФИО).

2. Список предметов (названия), которые изучает заданный студент (вводится ФИО).

3. Для заданной группы (вводим буквы и курс-номер) все предметы, по которым экзамен.

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


Запросы на выборку с группировкой

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


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


щелкнуть на ленте инструментов конструктора на элемент Итоги


Задание:

Создайте запросы на выборку с группировкой:

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

  2. То же самое для специальностей.

  3. Подсчитать общее количество студентов на всем факультете.

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






ЛАБОРАТОРНАЯ РАБОТА №5


Цель работы: освоить создание запросов на создание, добавление, удаление и обновление


Порядок выполнения работы

Прочитайте внимательно следующие пояснения.

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

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

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

Указания по созданию запросов действия:

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

Задание:

  1. Создайте таблицу Архив, которая должна иметь такую же структуру, как таблица Студенты и дополнительно Буквы специальности .

  2. Создайте запрос на обновление – перевод студентов на следующий курс. ( У каждой группы прибавить к номеру группы 10).

  3. Создайте запрос на добавление: списки студентов с указанием их специальности, закончивших институт, добавить в таблицу Архив ( тех студентов, у которых курс-номер > 60)

  4. Создайте запрос на удаление: удалить списки этих же студентов из таблицы Студенты.

  5. Создайте запрос на обновление: из цифр группы, которые > 60, вычесть 50, и у этих же групп очистить поле «Староста».

Обратите внимание, что при запуске запросов действия Access обязательно выдает запросы на подтверждение выполняемых действий. Выдачу окон подтверждения можно отменить, если в Окне параметров Базы данных (Файл/Параметры) на вкладке Параметры клиента снять флажки Подтверждение запросов на изменение и Подтверждение изменения записей.