- •Оглавление
- •1. Цели и задачи лабораторного практикума
- •2. Программа и порядок выполнения лабораторных работ
- •3. Требования к оформлению отчета о выполнении лабораторной работы
- •4. Лабораторная работа №1 Разработка приложений на языке программирования Visual Basic for Application в программной среде ms Office
- •1. Структура редактора vba
- •Окно Project – vba Project (окно проекта)
- •Окно редактирования кода
- •Окно Properties
- •Окно редактирования форм
- •2. Создание пользовательской функции. Процедура Sub
- •Способы выполнения процедуры Sub
- •Работа с макрорекордером
- •3. Создание процедур обработки событий элементов управления, встроенных в рабочие листы Excel
- •4. Объектная модель программы ms excel
- •Четыре ключевых объекта
- •Объект Application
- •Объект Workbook и семейство Workbooks
- •Объект Worksheet и семейство Worksheets
- •Объект Range
- •5. Работа с базами данных на основе модели dao (Data Access Objects)
- •Открытие базы(источника данных)
- •Объект Recordset
- •Объект Field
- •Порядок работы при объектном доступе к данным (предполагается, что база данных существует):
- •5.Индивидуальные задания для выполнения лабораторной работы №1
- •Контрольные вопросы
- •6.Лабораторная работа №2 «Создание sql – запросов при использовании специального программного средства субд Microsoft Access»
- •1. Основные понятия реляционных баз данных
- •2. Связывание реляционных таблиц. Типы связей между реляционными таблицами.
- •Связь типа “один-к-одному” (1:1)
- •Связь типа “один-ко-многим” (1:м)
- •Связь типа “много-ко-многим” (м: м)
- •3.Создание базы данных в ms Access с помощью конструктора
- •4.Определение связи таблиц
- •5.Общие сведения об sql. Простейшие sql-запросы.
- •Контрольные упражнения
- •6.Функции агрегирования в sql- запросах
- •Контрольные упражнения
- •7.Использование вложенных запросов
- •7.Индивидуальные задания для выполнения лабораторной работы №2
- •Контрольные вопросы
- •8.Лабораторная работа №3 “Язык разметки гипертекста html ”
- •1.Общие сведения
- •2. Наиболее часто используемые теги и их описание
- •3.Технология css
- •8. Индивидуальные задания для выполнения лабораторной работы №3
- •Контрольные вопросы:
- •9.Лабораторная работа №4 «Создание интерактивных, динамически изменяемых страниц с использованием JavaScript»
- •1.Общие сведения
- •2.Операторы управления JavaScript
- •3.Размещение JavaScript на html-странице
- •4.События
- •5.Функции
- •10.Индивидуальные задания для выполнения лабораторной работы №4
- •Контрольные вопросы
- •Список литературы
- •Приложение. Образец формы титульного листа отчета о выполнении лабораторной работы
Контрольные упражнения
Написать запросы к вышеприведенной базе данных:
Вывести список всех дисциплин (без повторений), по которым проводятся экзамены
Вывести список студентов, которые имеют оценку “3” по ОС.
Вывести список студентов, которые не сдавали дисциплину по ИПС
6.Функции агрегирования в sql- запросах
В SQL добавлены дополнительные функции, которые позволяют вычислять обобщенные групповые значения. Для применения агрегатных функций предполагается предварительная операция группировки. В чем состоит суть операции группировки? При группировке все множество кортежей отношения разбивается на группы, в которых собираются кортежи, имеющие одинаковые значения атрибутов, которые заданы в списке группировки. Например, если сгруппировать отношение R1 по значению столбца Дисциплина, то получим 4 группы, для которых можем вычислить некоторые групповые значения, например количество кортежей в группе, максимальное или минимальное значение столбца Оценка.
Это делается с помощью агрегатных функций.
Вычислим количество студентов, сдавших экзамены по каждой дисциплине:
Select Дисциплина, count (Дисциплина)
From R1
Group by Дисциплина;
Можно применять агрегатные функции также и без операции предварительной группировки, вэтом случае все отношение рассматривается как одна группа и для этой группы можно вычислить одно значение на группу. Например, найдем количество успешно сданных экзаменов:
SELECT count(*)
FROM R1
WHERE Оценка<>2;
Контрольные упражнения
Написать запросы к вышеприведенной базе данных:
Найти максимальный бал, полученный студентом Ивлевым.
Количество студентов, сдавшие дисциплину “БД”
Вывести средний бал оценок, полученный каждым студентом
7.Использование вложенных запросов
С помощью SQL можно вкладывать запросы внутрь друг друга. Обычно внутренний запрос генерирует значение, которое проверяется в предикате внешнего запроса (в предложении Where или Having), определяющего, верно оно или нет. Совместно с подзапросом можно использовать предикат Exists, который возвращает истину, если вывод подзапроса не пуст.
Найдем список тех студентов, кто должен бал сдавать экзамен по БД, но пока еще не сдавал:
Select ФИО
From R2 as a, R3
Where R2.Группа=R3.Группа and Дисциплина=”БД” and not exists (select ФИО
From R1
Where ФИО=a.ФИО and Дисциплина=”БД”)
При использовании подзапроса, основанных на операциях сравнений, нужно быть уверенным, что подзапрос возвращает единственное значение.
В общем, работа с подзапросами осуществляется в следующие этапы:
1. Выбирается кортеж из таблицы, имя которой указанно во внешнем запросе.
2. Выполняется подзапрос и полученное значение применяется для анализа этой строки в условии оператора where внешнего запроса.
3. По результату оценки условия применяется решение о включении или не включении строки в состав выходных данных.
4. Процедура выполняется для следующей строки таблицы внешнего запроса.
