Помощь в учёбе, очень быстро...
Работаем вместе до победы

Лабораторная работа № 8. Добавление, изменение, удаление данных. 
Отчеты

РефератПомощь в написанииУзнать стоимостьмоей работы

Здесь хотелось бы напомнить, что у оператора INSERT есть два варианта записи, первый из которых используется, когда нужно внести в базу заранее определенный набор значений, второй — если нужно вставить в таблицу результат выполнения некоторого запроса (как раз для этого случая подходит заготовка, сформированная Конструктором запросов). Начнем с первого варианта. Пусть в таблицу Book надо добавить… Читать ещё >

Лабораторная работа № 8. Добавление, изменение, удаление данных. Отчеты (реферат, курсовая, диплом, контрольная)

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

Как вы уже знаете из теоретической части курса, для добавления, изменения и удаления записей в таблицах служат операторы SQL INSERT, UPDATE и DELETE соответственно. Рассмотрим создание таких запросов в конструкторе Access. На рис. П. 8.1 показаны кнопки панели инструментов Конструктора запросов, позволяющие создать заготовку для запроса соответствующего типа.

Перекрестный запрос.

Рис. П. 8.1. Перекрестный запрос.

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

INSERT INTO Book.

SELECT;

Здесь хотелось бы напомнить, что у оператора INSERT есть два варианта записи, первый из которых используется, когда нужно внести в базу заранее определенный набор значений, второй — если нужно вставить в таблицу результат выполнения некоторого запроса (как раз для этого случая подходит заготовка, сформированная Конструктором запросов). Начнем с первого варианта. Пусть в таблицу Book надо добавить новую запись. Сделать это можно следующим образом:

INSERT INTO Book (Author, Title, Publisher, BookYear) VALUES ('Дейт К.', 'Введение в системы баз данных. 8-е издание', 'Издательский дом «Вильямс» ', 2005);

В данном запросе обратите внимание на перечень столбцов в скобках после названия таблицы. В том же порядке идут соответствующие значения после ключевого слова VALUES. Если столбцы после названия таблицы явно не указывать, то предполагается, что они идут, как в таблице. В примере пропущен столбец BookID, так как это столбец типа Счетчик и значение для него должно генерироваться автоматически.

Задание. Используя базу из файлов к лабораторной работе, напишите запрос, добавляющий новый статус «устарела» в таблицу BookStatus.

Рассмотрим теперь пример использования второго формата оператора INSERT. Пусть в таблицу Bookl нужно внести записи из таблицы Book о книгах, выпущенных после 2000 г. Текст запроса приведен ниже. Считаем, что в таблице Bookl, так же как и в Book, поле BookID имеет тип «счетчик» и генерирует значения автоматически, из-за чего идентификаторы изданий в таблицах Book и Bookl могут отличаться:

INSERT INTO Bookl (Author, Title, Publisher, BookYear) SELECT Author, Title, Publisher, BookYear.

FROM Book.

WHERE Book. BookYear>2000;

Задание. Напишите запрос, добавляющий в таблицу BookStatusI названия статусов книг из таблицы BookStatus.

Рассмотрим теперь запросы на обновление. В языке SQL обновление записей делается с помощью оператора UPDATE. Например, следующий запрос обновит значение года издания для книги с идентификатором 4:

UPDATE Book.

SET BookYear=2000.

WHERE BookID=4;

Если секция WHERE в запросе отсутствует, то обновлены будут все записи в таблице.

Задание. Напишите два запроса, первый из которых увеличивает год издания всех книг в таблице Bookl на 2, а второй изменяет в таблице BookStatusI название статуса с «устарела» на «обветшала» .

Перейдем теперь к удалению данных из таблиц. Если в окно Конструктора запросов добавить таблицу Book и выбрать тип запроса «удаление», то будет сформирована следующая заготовка:

DELETE *.

FROM Book;

Выполнение этого кода приведет к попытке удаления всех записей из таблицы Book. Здесь стоит отметить, что ограничение внешнего ключа не позволит удалить те записи, для которых есть связанные с ними в таблице BooklnLib (в Access удаление не оформляется как транзакция, поэтому часть записей этим запросом может быть удалена, часть — нет). Также надо отметить, что стандарт SQL не подразумевает указания столбцов после DELETE (в примере это «*» (звездочка), которую подставляет Конструктор) и код DELETE FROM Book; также будет корректен.

Если в запрос добавить секцию WHERE, то появляется возможность указать, какие именно записи удаляются. Например, следующий запрос удалит из таблицы Book запись со значением поля BookID, равным 6 (если такая запись в таблице имеется):

DELETE *.

FROM Book.

WHERE BooklD=6;

Задание. Напишите два запроса, первый из которых удаляет все записи из таблицы BookStatusI, а второй удаляет из таблицы BooklnLib записи об экземплярах книг, изданных издательством «Азбука» (подсказка: в секции WHERE можно использовать условие IN и подзапрос).

Отчеты в Access. Отчеты — это объекты БД Access, позволяющие выбрать из базы требуемую информацию и оформить ее в виде документа, который удобно будет просмотреть и напечатать. В отличие от форм, которые тоже предназначены для более удобного представления информации, отчеты не позволяют вводить и исправлять данные в таблицах. Отчет можно легко конвертировать и сохранить в формате Word, HTML, PDF и ряде других.

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

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

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

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

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

Показать весь текст
Заполнить форму текущей работой