Помощь в написании студенческих работ
Антистрессовый сервис

Создание и использование представлений

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

Практически все приложения, разрабатываемы в настоящее время, проектируются как многопользовательские. Это значит, что данное приложение либо сразу помещается на сетевой сервер, либо в ближайшем будущем должно быть доработано и перенесено с среду клиент/сервер. Проводимые Microsoft исследования показывают, что 65% всех приложений VFP будут в ближайшее время модернизироваться именно в этих целях… Читать ещё >

Создание и использование представлений (реферат, курсовая, диплом, контрольная)

Из данного множества таблиц реляционные выражения позволяют получить множество других, например путем соединения двух таблиц. Исходные таблицы называются базовыми таблицами, а таблицы, полученные из них путем выполнения каких-либо реляционных выражений, называются производными. Поэтому базовые таблицы существуют независимо, в то время как производные таблицы зависят от базовых. Базовые таблицы, конечно, должны быть именованными (т.е. их имена указываются в операторах создания). Большинство производных таблиц, наоборот, неименованные. Однако реляционные системы обычно поддерживают один определенный вид производных таблиц, называемый представлением, которое имеет имя. Таким образом, представление — это именованная таблица, которая, в отличие от базовой, не может существовать сама по себе, а определяется в терминах одной или нескольких именованных таблиц (базовых таблиц или других представлений).

Преимущества представлений:

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

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

Для скрытых данных обеспечивается автоматическая защита. Под скрытыми данными здесь понимают данные, которые не видны в определенном представлении. Таки образом, пользователи вынуждены получать доступ к базе данных через представления; это простой и эффективный механизм контроля доступа и аутентификации.

Практически все приложения, разрабатываемы в настоящее время, проектируются как многопользовательские. Это значит, что данное приложение либо сразу помещается на сетевой сервер, либо в ближайшем будущем должно быть доработано и перенесено с среду клиент/сервер. Проводимые Microsoft исследования показывают, что 65% всех приложений VFP будут в ближайшее время модернизироваться именно в этих целях. Независимо от перспектив использования данного приложения имеет смысл сразу же создавать его с учетом подобных требований. При построении многопользовательских приложений весьма важно создать представления, которые отвечают требованиям, предъявляемым к вводу и выводу данных.

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

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

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

Если в форме вы используете представления, у вас появляются дополнительные возможности:

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

Команду CREATE LOCAL VIEW.

Средство View Designer (конструктор представлений) Мастер Local View Wizard.

Удалить представление можно командами DELETE VIEW или DROP VIEW. Переименовать представление можно с помощью команды RENAME VIEW.

Типы представлений.

Многотабличные представления Предположим, необходимо разделить в б.д. все запииси о продажах на некоторое количество частей. Это может потребоваться в том случае, если вам необходимо (из соображений защиты информации), чтобы каждое торговое отделение могло вводить и просматривать информацию о продажах только своего региона, ане всех остальных. В подобной ситуации необходима область описания данных с возможностью выборки только некоторого набора записей. Реализовать это требование можно с помощью создания многотабличного представления, которое определяется командой Select с соответствующим предложением Where.

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

Если поместить ограничения (в приведенном примере для регионов) в отдельные представления, то такой вариант будет работоспособен, но необходимо определить и хранить множество представлений — для каждого региона, где осуществляются торговые операции. Не самый лучший подход для работы с базами данных! В данном случае следует использовать параметризованные представления, которые мы рассмотрим позднее.

При создании многотабличного представления с набором установленных отношений указатель записи в нем перемещает и управляет записями точно так же, как в многотабличной области описания данных. Если добавляемая в представление таблица не имеет постоянных отношений, для определения соединения активизируется диалоговое окно, позволяющее определить необходимый тип соединения. В соединении, как правило, устанавливают отношения между первичным ключом в одной таблице и внешним ключом в другой. Значения общих полей сравниваются на основании условий соединения, и отбираются те записи, для которых они выполняются. Visual FoxPro поддерживает следующие условия соединения:

Inner joins (внутреннее соединение). Возвращаются только те записи из обеих таблиц, которые отвечают условиям сравнения двух полей в соединении.

Left outer joins (левое внешнее соединение). Возвращаются все записи из таблицы, находящейся слева от ключевого слова JOIN, и любые записи из второй таблицы, которые отвечают условиям сравнения двух полей.

Right outer joins (правое внешнее соединение). Возвращаются все записи из таблицы, находящейся справа от ключевого слова JOIN, и любые записи второй таблицы, которые отвечают условиям сравнения двух полей.

Full outer joins (полное внешнее соединение). Возвращаются все записи обеих таблиц, вне зависимости от того, соответствуют они условиям сравнения или нет.

Представления с параметрами.

С помощью параметризованных представлений можно определить помещаемые в представлении данные. В этих представлениях предложение Where содержит параметр ?.

При выполнении этой команды появится диалоговое окно Параметры представления, в котором нужно указать значение для cregion. Кроме того, можно определить значение парметра представления, например, закрепив это значение за положением переключателя, либо за элементом списка, либо присвоив параметру значение в к-либо методе формы или методе объекта.

Параметризованные представления особенно ценны при создании на их основе отчетов. Из парметров можно построить произвольное выражение, тем самым предоставив будущим пользователям полный контроль над возвращаемым набором данных.

Представления с обновлением данных.

В конструкторе представлений можно определять методы, используемые для обновления существующих и внесения новых записей. Для этого служит вкладка Update Criteria. Любое из полей в списке Field name можно сделать доступным только для чтения посредством удаления флажка, расположенного перед именем поля в столбце с пиктограммой карандаша. Кроме того, можно указать ключевые поля, однозначно идентифицирующие каждую строку представления. Для этого необходимо поместить флажок в столбец с пиктограммой ключа. Если определить поле как ключевое, то заносить в него изменения можно только при создании новых записей. Для уже существующих записей модифицировать значения в этих полях будет невозможно.

Опция Send SQL updates является основной для разрешения обновления данных в представлении.

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