Файл: Учебнопрактическое пособие Хабаровск 2004 Содержание Введение 4 Лабораторная работа Создание таблиц 5 Основные понятия субд access 5.doc

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

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.05.2024

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

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

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

СОДЕРЖАНИЕ

Введение

Лабораторная работа № 1. Создание таблиц

Основные понятия СУБД Access

Учебная база данных "Борей"

Основные сведения о таблицах

Создание базы данных

Ввод данных в таблицы

Освоение приемов работы с фильтрами в таблицах

Общие сведения о MDE-файлах

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

Основные сведения

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

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

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

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

Лабораторная работа № 3. Конструирование форм

Общие сведения

Создание простой формы

Формирование составной формы

Лабораторная работа № 4. Конструирование отчетов

Основные сведения

Создание простого отчета

Группировка данных в отчёте

Формирование перекрестного отчёта

Создание связанного отчета

Лабораторная работа № 5. Создание макросов

Основные сведения

Формирование форм-меню

Создание пользовательского ниспадающего меню

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

Основные сведения

SQL-запросы на выборку

Соединение таблиц

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

QSL-запросы на изменение

Заключение



FROM таблица_1 INNER JOIN таблица_2

ON таблица_1.поле_1 оператор таблица_2.поле_1 {AND|OR}

ON таблица_1.поле_2 оператор таблица_2.поле_2;

Предложения JOIN могут быть вложенными, в таком случае будет выполняться множественное соединение. Синтаксис запроса:

SELECT список_полей

FROM таблица_1 INNER JOIN таблица_2 INNER JOIN таблица_3

ON таблица_2.поле_1 оператор таблица_3.поле_1

ON таблица 1.поле1 оператор таблица_2.поле _1 {AND|OR}

ON таблица 1.поле _2 оператор таблица_2.поле_2;
Задание 18. С помощью SQL-запроса сформировать список групп с указанием наименования факультетов, к которым они относятся.

Запрос должен содержать поля: Номер группыи Наименование факультета.

В запросе использовать предложение INNER JOIN.
Задание 19. С помощью SQL-запроса сформировать список коммерческих студентов на оплату за обучение, упорядоченный по наименованию специальности. Список должен содержать поля Наименование специальности, Фамилияи Стоимость обучения. В запросе использовать предложение INNER JOIN.
Задание 20. Составить SQL-запрос для подсчета итоговой стоимости платы за обучение коммерческими студентами по каждой специальности в разрезе факультетов.

Запрос должен содержать поля: Наименование факультета, Наименование специальностии Итого по специальности.

В запросе использовать предложение INNER JOIN
.

Внешнее соединение таблиц

Для выполнения внешнего соединения таблиц в любом предложении FROM используют предложения LEFT JOIN или RIGHT JOIN.

Синтаксис запроса на внешнее соединение:

SELECT список полей

FROM таблица_1 {LEFT|RIGHT} JOIN таблица_2

ON таблица_1.поле_1 оператор таблица_2.поле_2

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

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

Примечание. Операции LEFT JOIN или RIGHT JOIN могут быть вложены в операцию INNER JOIN, но операция INNER JOIN не может быть вложена в операцию LEFT JOIN или RIGHT JOIN.
Задание 21. Составить SQL-запрос для определения по каждой специальности номеров групп.

Запрос должен содержать поля Наименование специальностии Номер группы.

В запросе использовать предложение LEFT JOIN.
Задание 22. Создать копию запроса по заданию 21. Присвоить ему имя Задание 22. Изменить запрос так, чтобы результатом являлось правое внешнее объединение таблиц Группаи Факультет.
Задание 23. Составить SQL-запрос, определяющий на основании таблиц Группаи Студентколичество студентов в группах. С помощью запроса определить, по каким группам отсутствуют сведения о студентах.

Задание 24. Составить SQL-запрос, формирующий список старост групп.

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

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

  • в режиме таблицы ввести в поле Старостаномера зачетных книжек тех студентов из таблицы Студент, кто является старостой. Для этого можно открыть таблицу Группа, затем последовательно щелкать по знаку «+», расположенному в левом столбце каждой записи. На экране будет появляться список студентов, обучающихся в текущей группе. Просматривая этот список, можно выбрать номер зачетной книжки старосты;

Список студентов, создаваемый запросом должен содержать следующие поля: Наименование факультета, Номер группы, Фамилия, Дата рождения и Номер зачетной книжкистаросты.

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

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


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


Список полей в команде SELECT кроме полей может содержать выражения. Например, для вычисления стоимости обучения с учетом НДС в список полей следует включить выражение:

Специальность [Стоимость обучения]*(1+НДС) AS [Стоимость с учетом НДС]

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

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

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

ORDER BY Специальность. [Стоимость обучения] *(1+НДС)

Если требуется найти итоговую стоимость в разрезе факультетов, необходимо выполнить группировку полученного по запросу объединения по наименованию факультета

GROUP BY Группа.[Номер факультета]

в список полей включить групповую операцию:

SUМ(Специальностъ.[Стоимость обучения]*(1+НДС))
Пример. Определить итоговую стоимость обучения с учетом НДС по номерам специальностей.

SELECT Специальность.[Номер специальности], Sum(Специальность. [Стоимость обучения] * (1+НДС)) AS [Итоговая стоимость с учетом НДС]

FROM Специальность INNER JOIN ( Группа INNER JOIN Студент

ON Студент.[Номер группы] = Группа.[Номер группы]) ON Группа.[Номер специальности] = Специальность.[Номер специальности]

WHERE Студент.Коммерческий=Yes GROUP BY Специальность. [Номер специальности];
Задание 25. Составить SQL-запрос для получения справки по
стоимости обучения коммерческих студентов с учетом НДС. Принять, что стоимость обучения с учетом НДС коммерческого студента равна стоимости обучения по выбранной им специальности, умноженной на (1+0,2), где 0,2 - величина НДС.

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

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

В справку выводить Наименование специальностии Итоговую стоимость обучения с учетом НДС.

Создание новой таблицы

Создание повой таблицы выполняется командой CREATE TABLE. В этой команде выполняется описания новой таблицы, ее полей и индексов.

Синтаксис команда:

CREATE TABLE таблица (поле_1 тип [(размер)] [NOT NULL] [индекс_1]

[, поле_2 тип [(размер)][NOTNULL] [индекс_2] [,...]]

[,CONSTRAINT составной_Индекс [,...]])

где таблица - имя создаваемой таблицы;

поле_1, поле_2и т.д. имена нолей, создаваемых в новой таблице. Таблица должна содержать хотя бы одно поле;

типтип данных поля в новой таблице;

размер размер поля в символах (только для текстовых и двоичных полей);

индекс_1, ипдекс_2 предложение CONSTRAINT, предназначенное для создания простого индекса;