СУБД MS Access 2003 (960526), страница 21
Текст из файла (страница 21)
Возможна и комбинация двух способов добавления одной записи, т. еодни значения задать непосредственно в запросе, а другие ввестис клавиатуры.9.3. Проектирование запроса на удалениеУдаление записей из таблиц БД требуется довольно часто, например информация устарела, или ее надо перенести в архив, илиона стала ненужной и т. д. Для удаления определенных записейтребуется сначала создать запрос на выборку этих записей обычным образом; при этом вопрос о том, какие поля включить в запрос, решается только с точки зрения правильной индикации удаляемых записей, чтобы не было сомнения, что это именно те записи, которые требуется удалить. К удалению следует относитьсяс большой осторожностью, так как удаленные данные восстановить будет нельзя.Например, сконструируем запрос на удаление из таблицыПредлагаемые модели моделей синего цвета.
После того как запрос на выборку сконструирован, его надо преобразовать в запросна удаление стандартным способом. При этом окно конструкторапримет вид запроса на удаление, а в режиме SQL слово SELECTбудет изменено на DELETE:DELETE [Предлагаемые модели].Цвет, *FROM [Предлагаемые модели]WHERE ((([Предлагаемые моде:ш].Цвет)=«Синий»));139Тема 4. Запросы - в центре внимания рынок сбытаЕсли требуется удалить записи из таблицы, связанной с другойтаблицей отношением 1 - М, то запрос может не пойти, еслине установлен флажок Каскадное удаление для этой связи. В этомслучае необходимо будет сначала удалить записи из подчиненнойтаблицы, а потом уже из главной.
Если флажок установлен, то приудалении записи из таблицы-владельца (со стороны один) будуттакже удалены все связанные с этой записью записи из таблицыподчиненного (со стороны многие).9.4. Проектирование запроса на изменениеЗапрос на изменение данных позволяет изменить значенияданных в нужных полях таблицы тех ее записей, которые удовлетворяют заданному условию отбора, или всех записей. При этомновое значение вычисляется для каждого поля по своему одномуи тому же выражению. Например: Увеличить стоимость всех моделей ВАЗ цвета Металлик на J %.Чтобы сконструировать такой запрос, сначала выберем нужныезаписи из таблицы Предлагаемые модели с помощью запросана выборку, а затем преобразуем его в запрос на изменение.
Послеэтого в строке Обновление окна конструктора в поле ЦенаПродаживведем выражение [Продажа Авто].ЦенаПродажи* 1,01 (рис. 90).ss4 УвелнчнтьНа1% : запрос на обновлениеМодельМощность двигателяЦветКоробка передачКоличество дверейОбивкаДругое оснащениеЗаводская ценаТранспортные издержкиКодМодельФилиалДатаПрода*мЦенэПродажиЗ-эеНомерПопе; ЦенаЛоодажицветИмя таблицы: ПродажаАвтоПредлагаемые но;1Обновление: ГПиодажаАвто!. ЦензУсловие отбора:"Метаялик"илиАМодельПредлагаемые н<нLike "ВАЗ*"<>Рис.
90. Запрос на изменениеV140Проектирование баз данных. СУБД MS AccessЦены продажи автомобилей моделей ВАЗ и цветом металликувеличены на 1 %. В режиме SQL запрос будет выглядеть следующим образом:UPDATE [Предлагаемые модели] INNER JOIN [Продажа Авто]ON [Предлагаемые модели].Модель = [Продажа Авто].Модель\SET [Продажа Авто].ЦенаПродажи == [Продажа Авто].ЦенаПродажи*1.01WHERE ((([Предлагаемые модели].Цвет)=«Металлик»)AND (((Предлагаемые модели].Модель) Like «ВАЗ*»));Как видно из текста, запрос на выборку начинается со словаUPDATE, после которого указывается источник записей, затемследует слово SET, за которым записывается имя изменяемого поля источника, знак равенства (присвоить) и выражение для вычисления нового значения этого поля.
В общем случае здесь можетразмещаться список всех изменяемых полей через запятую. Послеслова WHERE, как обычно, записывается условие отбора записей.Контрольные вопросы1.Для чего служат запросы?2.3.В чем особенности запроса типа Dynaset?В чем особенности запроса типа Snapshot?4. Какие бывают типы запросов?5.
По каким признакам определяется тип запроса?6. Как преобразовать запрос из одного типа в другой?7.В каких режимах может отображаться запрос?8. Как переключить режим представления запроса?9. Опишите процесс формирования запроса.10. Какие возможности имеются у пользователя для формированиязапроса?11.
Что такое запрос на выборку?12. Какова последовательность действий при конструировании запроса на выборку?13. Что такое перекрестный запрос?14. Из каких трех компонентов должен состоять перекрестный запрос?Тема 4. Запросы - в центре внимания рынок сбыта14115. Из каких шагов состоит процесс конструирования перекрестного запроса с помощью мастера?16. Как дополнить перекрестный запрос вычислениями итоговыхзначений?17. Что такое построитель выражения?18. Для чего можно использовать построитель выражения?19. Для чего предназначена команда Масштаб в контекстном меню?20.
Вычисления по горизонтали и их реализация.21. Вычисления по вертикали и их реализация.22. В каких случаях применяется операция группирования записей?23. Как формируется условие отбора записей?24. Как можно упорядочить записи в запросе?25. Какие запросы называются параметрическими?26. Что такое запрос на создание таблицы?27.
Как конструируется запрос на удаление?28. Какие модификации имеет запрос на удаление?29. Как конструируется запрос на добавление?30. Как конструируется запрос на изменение?31. Какими ключевыми фразами отличаются запросы различныхтипов на языке SQL?32. В каком случае запрос на удаление может не выполнитьсяи как в этом случае следует поступить?33. Когда при конструировании запроса необходимо применятьпереименование полей и таблиц? Как это сделать?34. Где в процессе конструирования запроса на создание таблицыили запроса на добавление можно посмотреть (или задать) имятаблицы-получателя данных?35.
Каким образом можно соединить несколько таблиц-источников данных в одном запросе? Когда это нужно делать?Задание 81. Создайте несколько запросов на выборку для своей БД в следующих модификациях:а) простой запрос с отбором нужных полей;б) простой запрос с отбором нужных записей и сортировкой;142Проектирование баз данных. СУБД MS Accessв)г)д)е)ж)2.3.4.5.6.с использованием нескольких таблиц в источнике;с вычислениями по горизонтали;с вычислениями по вертикали;с группированием;с форматированным представлением данных (функция Format).Создайте перекрестный запрос в следующих вариантах:а) классический вариант в режиме конструктора;б) с помощью мастера;в) с группированием в строках по нескольким полям;г) с различными статистическими функциями и выражениямив строках или в столбцах;д) с различными выражениями в клетках значений.Сконструируйте запрос на создание таблицы.Сконструируйте запрос на добавление записей в следующихвариантах:а) добавление группы записей из таблицы-источника;б) добавление одной записи с клавиатуры;в) добавление одной записи с фиксированными значениями.Сконструируйте запрос на удаление одной записи и группызаписей.Сконструируйте запрос на изменение значений одного поля,нескольких полей, в одной таблице и в нескольких таблицах.Основные требования к представлению результатов выполнения заданий:•прежде чем приступить к конструированию запроса, четкосформулировать его содержание на естественном языке;•определить, какие поля БД или выражения, построенные на ихоснове, должны войти в запрос;•определить, какие таблицы и/или запросы должны войтив источник данных;•определить условия отбора записей;•определить порядок сортировки записей;•сконструировать запрос и привести его текст на языке SQL.Тема 5ФОРМЫСуществует три способа ввода информации в Access: посредством таблицы, с помощью формы и с использованием страницыдоступа к данным.
Выбрать тот или иной способ можно, основываясь на следующем простом правиле.Если данные в таблице изменяются редко или в нее редко добавляются новые записи, то для ввода, изменения и индикацииданных следует использовать таблицу. Кроме того, режим таблицы рекомендуется использовать тогда, когда необходимо получитьнаиболее полный обзор данных. Но если данные часто меняютсяили база постоянно пополняется новыми записями, следует пользоваться формой, так как в режиме формы можно сконцентрировать внимание на данных, относящихся к определенной записи,например к определенному клиенту,Страницы доступа к данным представляют специальный тип вебстраниц, предназначенный для просмотра и работы через Интернетили интрасеть с данными, хранящимися в БД Microsoft Access.Использование страниц доступа к данным для ввода данныханалогично использованию форм ввода данных: пользователь имеет возможность просматривать, вводить, редактировать и удалятьданные в БД.
Однако страницу можно использовать за пределамиБД Microsoft Access, предоставляя пользователям возможность обновлять или просматривать данные через Интернет или Интранет.Страницы доступа к данным разрабатываются в режиме конструктора в Microsoft Access. Страница представляет собой отдельный файл, хранящийся за пределами Access; однако при создании этого файла Microsoft Access автоматически добавляет ярлык к нему в окно БД. Разработке страниц доступа к даннымпосвящена тема 7 книги.Любая форма строится на основе Access-таблицы. Вся информация формы содержится в управляющих элементах (полях) этойформы, некоторые из них напрямую связаны с полями базовойПроектирование баз данных.