- •Лабораторная работа №1
- •1. Постановка задачи
- •2. Пример решения
- •2.1. Создание проекта базы данных stud.
- •2.2. Создание таблиц в режиме конструктора.
- •2.3. Установка свойств полей таблицы "Преподаватели".
- •2.4. Создание таблиц в режиме мастера таблиц.
- •2.5. Создание ограничений на значения для полей.
- •2.6. Создание первичных ключей для таблиц.
- •2.7. Установление связей между таблицами.
- •2.8. Создание индексов.
- •Результаты работы
- •Лабораторная работа №2
- •1. Постановка задачи
- •2. Пример решения
- •2.1. Модификация таблиц базы данных.
- •2.1.1. Добавление нового поля в таблицу.
- •2.1.2. Копирование полей в таблице.
- •2.5. Создание масок ввода значений.
- •2.1.3. Удаление описания поля.
- •2.1.4. Модификация свойств данных.
- •2.2. Модификация структуры базы данных.
- •2.2.1. Изменение первичных ключей базы данных.
- •2.2.2. Модификация структуры связей базы данных.
- •2.2.3. Расщепление таблиц.
- •2.2.4. Объединение таблиц.
- •3. Результат выполнения работы
- •Лабораторная работа №3
- •1. Постановка задачи
- •2. Пример решения
- •2.1. Импорт данных.
- •2.1.1. Импорт таблиц баз данных.
- •2.1.2. Импорт данных из электронной таблицы Excel.
- •2.1.3. Импорт текстовых файлов.
- •2.2. Экспорт данных.
- •2.3. Присоединение внешних данных.
- •2.3.1. Присоединение таблицы Результаты из бд филиала.
- •3. Результаты работы
- •Предмет
- •2.1.2. Создание итогового запроса.
- •2.1.3. Создание запроса с параметром.
- •2.1.4. Создание перекрестного запроса.
- •2.1.5. Создание запроса типа "внешнее объединение".
- •2.2. Использование мастера запросов.
- •3. Результаты работы
- •Лабораторная работа № 5
- •1. Постановка задачи
- •2. Пример решения
- •2.1. Вставка данных в таблицу.
- •2.2. Создание новой таблицы при помощи запроса.
- •2.3. Запросы на обновление групп записей.
- •2.4. Запрос на удаление группы записей.
- •2.5. Ошибки, возникающие при выполнении запросов.
- •3. Результаты работы
- •Лабораторная работа №6
- •2. Пример решения
- •2.1. Создание простых запросов.
- •2.2. Создание многотабличного запроса.
- •2.3. Запросы с параметрами.
- •2.4. Создание многотабличного запроса с параметрически заданным условием отбора.
- •2.5. Групповые запросы.
- •2.6. Создание запроса на объединение таблиц.
- •2.7. Запросы, использующие таблицы удаленной бд.
- •Приложение 3
- •2.8. Запросы объединения инструкций select.
- •2.9. Перекрестные запросы на sql.
- •2.10. Запросы − действия на sql.
- •2.10.1. Запрос на создание таблицы.
- •2.10.2 Запросы на модификацию данных с использованием sql.
- •2.10.3 Запросы на удаление данных на sql.
- •2.10.4 Запрос на добавление данных в таблицу.
- •3. Результаты работы
- •Лабораторная работа №7
- •1. Краткие теоретические сведения
- •2.Постановка задачи
- •3.Пример решения
- •4. Результаты работы
- •1.2. Стандартная панель инструментов окна предварительного просмотра (слева направо):
- •2. Постановка задачи
- •3. Пример решения
- •3.1 Построение отчета "Сведения по зарплате":
- •3.2 Создание отчетов с помощью мастера:
- •3.2.1. Рассмотрим создание отчетов с помощью мастера на примерах отчетов "Отчет о оценках" и "Почтовые наклейки".
- •3.4Создание отчета с внедрением объектов:
- •4. Результаты работы
- •Лабораторная работа №9
- •Цель: Обработка событий для форм и отчетов приложения и выполнение различных действий в зависимости от значений данных.
- •1. Краткие теоретические сведения
- •1.6 Макросы могут включать в себя несколько макрокоманд.
- •2. Постановка задачи
- •3. Пример решения.
- •3.3. Организация работы с отчетами.
- •4. Результаты работы
- •Лабораторная работа №10
- •1.Краткие теоретические сведения
- •1.6. Microsoft Access Basic поддерживает следующие типы данных:
- •1.7. Инструкции:
- •1.8.Семейства, объекты, свойства и методы.
- •Чтобы создать с помощью переменной ссылку на поле "Фамилия" в таблице "Преподаватели", используя только что созданную переменную tblMyTable, введите:
- •1.12 Функции и подпрограммы.
- •2. Постановка задачи
- •3. Решение задачи
- •Лабораторная работа №11
- •1. Постановка задачи
- •2. Пример решения
- •3. Результаты работы
- •Лабораторная работа №12
- •1.Постановка задачи
- •2. Пример решении
- •3. Результаты работы
3. Результаты работы
В результате выполнения лабораторной работы были созданы запросы, производящие модификацию данных базы STUD, требующиеся для создания в следующих ЛР законченного приложения.
Лабораторная работа №6
СОЗДАНИЕ ЗАПРОСОВ НА ЯЗЫКЕ SQL
Тема: создание запросов на языке SQL
Цель: научиться создавать запросы на языке SQL
Первая версия стандарта языка SQL была принята Американским национальным институтом стандартов (ANSI) и Международной ассоциацией стандартов (ISO) в октябре 1986 года и называлась SQL-86. В 1989 году появилась усовершенствованная версия - SQL-89. Существующий сейчас стандарт - SQL-92 (SQL-2) является версией с расширенными возможностями и поддерживается большинством разработчиков СУБД в своих приложениях.
Access также поддерживает язык SQL стандарта 1992 года (SQL-92) с небольшими дополнениями. Компания Microsoft добавила к стандартной версии языка некоторые предложения, позволяющие более полно использовать возможности СУБД Access. Так, были добавлены предложения TRANSFORM, IN, DISTINCTROW и опция WITH OWNER ACCESS OPTION, которые будут рассмотрены позднее.
Не все типы запросов можно сгенерировать при помощи QBE или мастера запросов. Эти режимы позволяют генерировать только основные их виды, а при необходимости создания более сложных запросов приходится использовать возможности языка SQL.
Любой созданный в QBE запрос легко может быть конвертирован в инструкции языка SQL при помощи кнопки SQL на панели инструментов. Это позволяет при создании сложных запросов не выписывать все предложения на SQL, а сгенерировать основу запроса в бланке QBE, а затем перейти в окно команд SQL, в котором добавить все требуемые дополнения и опции.
В целях унификации процедуры сохранения запросов даже те из них, которые были сгенерированы при помощи QBE хранятся в SQL-формате, а при их вызове обратно преобразуются к форме QBE.
Язык SQL представляет пользователю широкие возможности по обработке данных БД, часть из которых будет рассмотрена в данной лабораторной работе.
2. Пример решения
2.1. Создание простых запросов.
Инструкция SELECT является основной в языке SQL. Она выполняет реляционные операции выбора и объединения для создания логических таблиц или запросов. Элементы списка выбора задают вычислимые выражения или столбцы, выбираемые из исходных таблиц, которые затем включаются в выходную логическую таблицу.
Синтаксис команды SELECT:
SELECT [ALL | DISTINCT | DISTINCTROW | TOP число [PERCENT] ]
список выбора
FROM [{имя-таблицы [[AS] псевдоним ] |
имя-запроса-выборки [[AS] псевдоним ] |
<таблица-объединение> },...
[WHERE условие отбора]
[GROUP BY имя-столбца,...]
[HAVING условие отбора]
[UNION [ALL] инструкция выбора]
[ORDER BY {имя столбца [ ASC | DESC ] },...]
IN <"имя-базы-данных-источника"> <[строка-подключения-источника-данных]>
[WITH OWNERACCESS OPTION];
где список выбора есть:
{ * | {выражение [AS имя-столбца-выходной-таблицы] |
имя-таблицы.* |
имя-запроса.* |
псевдоним.* },...}
и где таблица-объединение есть:
({ имя-таблицы [[AS] псевдоним ] |
имя-запроса-выборки [[AS] псевдоним ] } |
<таблица-объединение>}
{ INNER | LEFT | RIGHT | JOIN
{ имя-таблицы [[AS] псевдоним ] |
имя-запроса-выборки [[AS] псевдоним ] |
<таблица-объединения>}
ON <условие-объединения>)
Таблицы, которые должны быть объединены, указываются в предложении FROM, а строки, которые необходимо выбирать ─ предложении WHERE. Предложение GROUP BY используется для определения, как должны быть сформированы группы для итогового запроса, предложение HAVING
Для отбора тех групп, которые должны быть включены в результат запроса.
Для каждой таблицы или запроса SQL позволяет определить альтернативное имя. Это имя может быть использовано как псевдоним вместо полного имени таблицы при задании имен столбцов в списке выбора, в предложении WHERE, или в подчиненных запросах.
Псевдоним также используется при объединении таблицы или запроса с самим собой, чтобы указать, на какую копию таблицы или запроса идет ссылка при задании в списки выбора.
Можно также определить строки, включаемые ACCESS в выходной набор записей, с помощью предикатов ALL, DISTINCT, DISTINCTROW, TOP и TOP число PERCENT.
При использовании предиката ALL ACCESS включает в выходную таблицу все строки из исходной таблицы, удовлетворяющие условиям отбора, в том числе
и те, которые дублируются.
DISTINCT требует возврата только уникальных строк (дублирующие отбрасываются).
Предикат DISTINCTROW (установлен по умолчанию) возвращает только те строки, в которых объединение первичных ключей из всех таблиц, участвующих в формировании выходных столбцов, является уникальной.
При выводе только части записей используется предикат TOP n и TOP n PERCENT. Первый выводит только n первых записей, а второй − только первые n %. n должно быть целым числом, а во втором случае меньше 100.
Предложение ORDER BY позволяет отсортировать выведенные строки по задаваемым столбцам. В этом предложении можно указать один или несколько столбцов, по значениям которых будут сортироваться выводимые записи. Записи сортируются вначале по первому из указанных столбцов, а при одинаковых записях первого столбца - по последующим. Для каждого столбца можно указать порядок сортировки: по возрастанию (ASC) или убыванию (DESC) значений в столбцах.
Создадим простой запрос на SQL по таблице "Преподаватели", выводящий информацию о преподавателях, отсортированных по номерным знакам. Для этого откроем базу данных STUD и щелкнем по корешку “Запросы”. Выберем кнопку "Создать" и в появившемся диалоговом окне выберем режим конструктора и кнопку "OK". Закроем окно “Добавление таблиц”.
После появления окна с пустым бланком QBE и диалоговым окном выбора таблиц для запроса щелкнем по кнопке "SQL" панели инструментов. Появится окно редактирования, в котором мы будем вводить создаваемые запросы. После создания запроса его можно просмотреть в форме бланка QBE, хотя некоторые элементы SQL в бланке отображены не будут.
В окне редактирования запроса введем инструкцию SQL:
SELECT Преподаватели.Номер_П, Преподаватели.Фамилия,
Преподаватели.Имя,
Преподаватели.Отчество,Преподаватели.Кафедра,
Преподаватели.Должность,Преподаватель.Дом_адрес
FROM Преподаватели
ORDER BY Преподаватели.Номер_П;
Запустим полученный запрос на выполнение кнопкой "Запуск" на панели инструментов.
Сохраним полученный запрос под именем "Сведения о преподавателях".