ПРОСМОТРЫ, ПАРАМЕТРИЧЕСКИЕ ЗАПРОСЫ И КУРСОРЫ
Теоретические сведения. Просмотр (вид или view) – это статическое определение динамической таблицы, созданной из одного или более наборов строк в соответствии с заданным критерием выборки. Виды можно использовать для определения разнообразных сочетаний строк и столбцов одной или нескольких таблиц. Необходимое сочетание строк и столбцов в виде задается с помощью обычной инструкции Select. Если говорить упрощенно, просмотр (вид) – это что-то вроде рамки, которая накладывается на вашу таблицу, или способ получения информации в окне. С технической точки зрения вид-это хранимое в базе данных определение инструкции Select с заданными в ней строками и столбцами, которые при следующем вызове должны считываться. После определения вида нанего можно ссылаться так же, как на таблицу. Хотя на экране вид напоминает обычную таблицу, которая постоянно хранится на диске в базе данных, на самом деле это не так. Вид не создает постоянную копию выбранных строк и столбцов базы данных. Если в какой-нибудь инструкции вместо имени таблицы указать имя вида, то выполнится инструкция Select, входящая в определение вида, и после этого создается временная таблица, которая отображается на экране. Таким образом, при ссылке на вид просто выполняется заданная в определении вида инструкция Select. Общий формат команды создания вида или просмотра следующий: CREATE SQL VIEW < имя вида> AS SELECT < формат команды select> Вид можно использовать для доступа ко всей таблице, части таблицы, нескольким таблицам. Поскольку таблицы, к которым вы получаете доступ, уже определены внутри вида, нет необходимости их повторно упоминать в инструкции Select. Виды позволяют упростить доступ к базе данных. Создав сложный составной вид с множеством предложений, входящих в инструкцию select, вы выполните его так же просто, как вид с самой элементарной инструкцией select. В Visual FoxPro для создания видов можно воспользоваться конструктором представлений (View Designer). В отличие от конструктора запросов конструктор представлений имеет ещё одну вкладку – Update Criteria, так как в отличие от запроса представление (вид) может быть модифицировано. При изменении представления все модификации посылаются в исходную таблицу. Вы можете решить, какие таблицы будут модифицироваться и как именно: Update, Delete, Insert. На вкладке Update Criteria справа от списка Field Name расположены две группы переключателей, где указываются ключевые поля, а также какие поля могут модифицироваться. Последнее различие конструкторов представлений и запросов в том, что при создании представления нельзя назначить направления вывода результатов. Дело в том, что, хотя представление можно использовать в отчётах, оно служит для модификации данных, а не для формирования вывода. С использованием видов можно создавать параметрические запросы, часто используемые в программах, когда один и тот же запрос выполняется с разными исходными данными, вводимыми, например из формы. Для этого при создании представления вызывается диалоговое окно View Parameters, в котором указываются имена и типы параметров, используемых в части Select-Where. До показа информации из вида параметрам присваиваются конкретные значения, затем запускается команда просмотра вида. Признаком параметра в FoxPro используется вопросительный знак, который указывается до имени параметра в правой части выражения запроса. Кроме обычных просмотров (локальные виды – View или Local Views) FoxPro поддерживает работу с удаленными просмотрами (Remote Views) – это просмотр данных ODBC источника (типа SQL Server). В данном цикле лабораторных работ сервер баз данных не используется, поэтому работа с удаленными просмотрами подробно не рассматривается. В Visual FoxPro имеется конструктор соединений (Connection). Если данные хранятся в ином, чем DBF формате (в том числе и данные на сервере), то, скорее всего Вы будете обращаться к ним через интерфейс ODBC. Для обращения к данным можно описать параметры соединения и сохранить их в базе данных. Чтобы создать описание параметров соединения используется команда: Create Connection xyz (для сохранения описания нужна открытая база данных). Курсор – это временный файл, существующий до тех пор, пока не будет закрыт, создавший его просмотр или запрос. В отличие от запроса или вида из курсора данные могут быть выведены в произвольной последовательности, а не только в прямом направлении. В СУБД Access не используются понятия видов и курсоров. При реализации параметрических запросов в поле заданного значения указывается приглашение для ввода параметра, заключенное в квадратных скобках.
Задание на лабораторную работу. 1. Создать просмотры для базы данных “Сведения о студентах”: а) вывести сведения о студентах, изучающих указанный курс б) вывести фамилии студентов поступивших в институт в указанном году и обучающихся в платной группе. Открыть созданные виды и через них модифицировать разрешённые для модификации данные. 2. Создать параметрические запросы: а) вывести фамилии студентов, поступивших в институт в указанном через параметр году. 4. Создать запросы а) первого задания и вывести их в курсоры, которые затем просмотреть в обратном направлении (от последней записи к первой). 5. Создать параметрический запрос второго пункта средствами Access.
Вопросы.
1. Что такое представление (просмотр или вид)? 2. Что Вы понимаете под курсором? 3. В чём отличия просмотра от запроса? 4. Как создать параметрический запрос? 5. Чем отличается курсор от вида и запроса? 6. Для чего используется удаленный просмотр? 7. В каком случае используется конструктор соединений?
|