Удаленные представления
Создание удаленных представлений в Visual FoxPro. Проектирование системы обработки данных. Интеграция и адаптация файл-серверных приложений к архитектуре клиент-сервер. Изучение критериев отбора в выборке. Комбинированные или многосвязные представления.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | русский |
Дата добавления | 14.02.2014 |
Размер файла | 34,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. Создание удаленных представлений
При создании системы обработки данных не всегда удается обеспечить их хранение в едином формате. Часто возникает необходимость использования данных из уже работающих приложений, которые написаны не на VFP.
В Visual FoxPro работа с внешними данными основана на создании удаленных представлений. Удаленное представление работает на основе соединения, которое, используя технологию Open Database Connectivity (ODBC), описывает условия передачи данных.
Для создания удаленного представления следует выполнить команду основного меню File/New/Remote View. Можно воспользоваться мастером или создать выборку вручную.
Для создания выборки вручную, следует нажать кнопку New View. При этом открывается окно диалога "Select connection or Available DataSource" (рис. 1).
Рис. 1 Окно диалога "Select connection or Available DataSource"
В списке перечислены соединения, определенные в текущей базе данных. Можно выбирать из доступных источников данных, установив опцию Available DataSource.
Чтобы создать внешнее соединение, можно использовать конструктор именованных соединений (им можно пользоваться только в том случае, если имеется открытая база данных). Именованное соединение - определение соединения, которое хранится в базе данных и на которое можно ссылаться по имени при создании удаленного представления.
При соединении с базой данных Oracle VFP выводит окно диалога выбора таблицы. После выбора таблицы, она появляется в области просмотра таблиц конструктора представления. Можно, при необходимости, выбирать дополнительные таблицы с помощью кнопки Add Table на управляюшей панели конструктора представления.
Можно добавлять дополнительные таблицы, но необходимо определить отношения между ними. Если этого не сделать, то VFP попытается связать каждую запись из первой таблицы с каждой записью из второй, в результате чего получится огромный файл, который называется декартовым произведением таблиц. Потом можно установить дополнительные критерии отбора записей. Единственное, чего нельзя сделать в пределах одной выборки - это установить связи между таблицами из разных внешних соединений. Однако, создав представление, можно определить запрос или форму, использующие данные из нескольких источников.
Предостережение. Visual Foxpro не пытается проверять синтаксис критериев отбора в выборке, поскольку не может знать о том, какие функции или выражения поддерживают базы данных сервера. Таким образом, строка остается непроверенной. Обращение к серверу может оказаться ошибочным, если критерий будет ему непонятен.
Если возможно, следует использовать одно соединение для нескольких внешних представлений. Совместное использование соединения выгодно тем, что:
Снижаются требования к ресурсам системы
Уменьшается число соединений, которые серверу приходится поддерживать
Снижается стоимость пользования сервером, если установлена плата за него по количеству подключений
Раздел SQL WHERE во вкладке Update Criteria позволяет управлять обновлением записей при работе в многопользовательской среде. Для этого необходимо установить переключатель в положение, обеспечивающее обновление необходимого набора полей:
Key fields only - только ключевые поля
Key and updatable fields - ключи и обновляемые поля
Key and modified fields - ключи и модифицированные поля
Key and timestamp fields - ключи и поля меток времени
VFP проверяет значения в обновляемых полях таблицы, расположенной на удаленном источнике данных, для контроля возможных изменений, произошедших со времени получения записи. Если данные за это время изменялись, будет выведено окно с сообщением о том, что выполненные изменения не могут приняты. В этом случае пользователь может либо отказаться от данной операции, либо принять вновь измененные данные и снова начать ввод.
Доступен также некоторый контроль над методом обновления для определения того, как будет обновляться на сервере информация в ключевых полях. Здесь возможны два варианта:
SQL DELETE then INSERT - удаление и вставка
SQL UPDATE - обновление.
В первом случае записи сначала удаляются,а затем добавляются с новыми значениями, в то время как во втором случае записи просто обновляются функцией SQL UPDATE.
VFP позволяет определить комбинированные, или многосвязные представления, т.е. можно построить представление на основе другого представления. Представление верхнего уровня может быть любым, а представления промежуточного уровня могут выполнять необходимые изменения. В многосвязном представлении можно использовать как локальные, так и удаленные представления, но имена удаленных представлений не появятся в окне вида. При использовании многосвязного представления необходимо убедиться, что установлены свойства обновления для каждого из представления.
2. Создание соединения с базой данных при проектировании файл-серверного приложения
visual серверный выборка удаленный
При создании файл-серверного приложения доступ к базе данных, установленной на файл-сервере, осуществляется с помощью соединения, которое создается следующим образом:
В Панели Управления вызывается ODBC-драйвер и добавляется новое соединение в список существующих соединений. Для этого выбирается кнопка ADD и в появившемся диалоговом окне устанавливаются параметры соединения:
В строке Path указаывается путь к базе данных. В том случае, если соединение создается на клиентской машине, необходимо указать сетевое имя файл-сервера, а затем собственно путь в БД.
Перенос файл-серверных приложений в среду клиент-сервер
Усложнение информационных приложений, их интеграция в корпоративные сети, создание распределенных БД коллективного пользования требуют новых инструментальных средств и "истинно реляционных" СУБД. Традиционно используемые "персональные" СУБД не могут обеспечить требуемый уровень надежности и достоверности информации, особенно при работе в сетях. Подобные СУБД не поддерживают целостность баз данных и не имеют механизмов управления транзакциями, что существенно затрудняет обеспечение логической непротиворечивости информации при сбоях оборудования и программ.
Возросшим требованиям удовлетворяет архитектура клиент-сервер, основанная на выделении одного узла сети под сервер БД с реляционной СУБД, поддерживающей максимальный уровень надежности хранения, ее актуальность и достоверность. До недавнего времени создание приложений для таких СУБД было делом непростым и требовало высокой квалификации, методика программирования на непроцедурном языке SQL не согласуется с опытом разработки приложений для СУБД на ПК.
С другой стороны, накоплен большой опыт работы на системах семейства xBase. Создано большое число прикладных программ, которые внедрены в эксплуатацию. При интеграции отдельных АРМ в корпоративные сети было бы желательно сохранить не только постановки задач и алгоритмы, но и собственно программное обеспечение.
Существует несколько способов интеграции и адаптации файл-серверных приложений к архитектуре клиент-сервер:
использование библиотек доступа к серверам БД;
связь с сервером БД через открытый протокол ODBC;
укрупнение файл-серверных приложений.
Рассмотрим способ адаптации файл-серверных приложений к архитектуре клиент-сервер, связанный с использованием ODBC.
Открытый протокол ODBC для связи с сервером БД
Интерфейс прикладного программирования ODBC API предоставляет общие методы доступа SQL как к реляционным, так и к нереляционным (ISAM) источникам данных.
В ANSI SQL входит интерфейс на уровне вызовов (CLI - call-level interface), который используется ODBC для обеспечения доступа и работы с данными во многих системах управления базами данных. Интерфейс CLI соответствует требованиям, установленным в 1991 году группой SQL Access Group, которые определяют общий синтаксис SQL и интерфейса API. Иметь общий метод доступа к источникам данных удобно потому, что тогда база данных на сервере становится прозрачной для приложений, которые написаны в соответствии с некоторым заданным уровнем совместимости ODBC.
Интерфейс ODBC API реализован как набор расслоенных DLL-функций для Windows. Динамическая библиотека ODBC.DLL - это основная библиотека управления драйверами ODBC, которая вызывает специализированные драйверы для разных поддерживаемых системой баз данных. Каждый драйвер совместим со своим уровнем CLI и относится к одной из двух категорий: одноуровневые или многоуровневые драйверы.
Одноуровнсвые драйверы предназначены для использования при работе с теми источниками данных, которые не могут быть обработаны ANSI SQL. Обычно это локальные базы данных на персональных компьютерах, такие как dBase, Paradox, FoxPro и Excel. Драйверы, соответствующие этим базам данных, переводят грамматику ANSI SQL в инструкции низкого уровня, которые непосредственно обрабатывают составляющие базу данных файлы.
Многоуровневые драйверы используют сервер СУРБД для обработки SQL-предложений и предназначены для работы в среде клиент-сервер. Помимо обработки ANSI SQL, они также могут поддерживать и собственную грамматику конкретной СУРБД, поскольку ODBC может без трансляции передавать SQL-предложения источникам данных (механизм "passthrough").
Драйверы ODBC для баз данных типа клиент-сервер реализованы для Oracle V6.0 и Oracle7, а также Informix, Microsoft и Sybase SQL Server, Rdb, DB2, Ingres, HP/Image и Any SQL.
Существует 4 важных этапа (шага) процедуры запроса данных через API.
Шаг 1 - установление соединения. Первый шаг состоит в размещении указателей (handle) среды ODBC, которые выделяют оперативную память под ODBC драйверы и библиотеки. Затем происходит выделение памяти для указателей соединения, и соединение устанавливается.
Шаг 2 - выполнение предложения SQL. Выделяется указатель предложения, локальные переменные связываются со столбцами в SQL-выражении (это необязательное действие), и выражение представляется на разбор главному ODBC драйверу для обработки.
Шаг 3 - извлечение данных. Перед извлечением данных возвращается информация о результирующем наборе, такая как число столбцов в наборе. Исходя из этого числа, результирующий набор помещается в буфер записей, выполняется цикл по нему и извлекается по одному столбцу в локальные переменные. Этот шаг необязателен, если используется связывание столбцов.
Шаг 4 - освобождение ресурсов. После того, как данные получены, освобождаются ресурсы вызовом функций освобождения указателей предложения, соединения и среды. Указатели предложения и соединения могут быть использованы в процессе обработки.
Технология ODBC разрабатывалась как общий, независимый от источников данных, способ доступа к данным. Также ее применение должно было обеспечить переносимость приложений на различные базы данных без переработки самих приложений. В этом смысле технология ODBC уже стала промышленным стандартом, ее поддерживают практически все производители СУБД и средств разработки.
Однако универсальность стоит дорого. Если при разработке приложений одним из основных критериев является переносимость на различные СУБД, то использование ODBC является оправданным. Для увеличения производительности и эффективности приложения активно применяют специфические для данной СУБД расширения языка SQL, используют хранимые на сервере процедуры и функции. В этом случае теряется роль ODBC как общего метода доступа к данным. Тем более, что для разных СУБД драйверы ODBC поддерживают разные уровни совместимости. Поэтому многие производители средств разработки помимо поддержки ODBC поставляют "прямые" драйверы к основным СУБД.
Размещено на Allbest.ru
Подобные документы
Основные вехи на пути развития систем программирования. Microsoft Access - первая СУБД для персональных компьютеров, созданная для работы в среде Windows. Перенос файл-серверных приложений в среду клиент-сервер. Использование ActiveX Data Objects.
презентация [662,2 K], добавлен 11.04.2013Анализ архитектуры информационной системы, в структуру которой входят системы файл-сервер и клиент-сервер. Сравнение языков запросов SQL и QBE. Принципы разработки приложений архитектуры клиент-сервер при помощи структурированного языка запросов SQL.
курсовая работа [88,9 K], добавлен 11.04.2010Рассмотрение архитектуры "файл-сервер" и двух- и трехуровневых архитектур "клиент-сервер". Модель сервера приложений и свойства "идеальной" системы управления распределенными базами данных. Способы распределения функций обработки логики запроса.
презентация [60,2 K], добавлен 19.08.2013Реализация прямого проектирования в архитектуре "файл-сервер". Процесс изменения структуры базы данных, реализация прямого проектирования в архитектуре "клиент-сервер", генерирование SQL-кода создания базы данных на основе физической модели данных.
контрольная работа [697,8 K], добавлен 16.02.2015Теоретические основы создания баз данных в Visual Foxpro 9.0. Описание программы, использование ее команд. Создание табличной базы данных, отношений между таблицами в многотабличной базе данных больных в больнице. Редактирование табличного отчета.
курсовая работа [681,2 K], добавлен 19.12.2013Проектирование информационной системы на основе архитектуры "файл-сервер", "клиент-сервер", многоуровневой архитектуры, Intranet-системы. Преимущества и недостатки файл-серверного подхода при обеспечении многопользовательского доступа к базе данных.
лабораторная работа [220,5 K], добавлен 02.02.2015Ограничения, присутствующие в предметной области. Проектирование инфологической модели данных. Описание основных сущностей и их атрибутов. Логический и физический уровни модели данных. Реализация базы данных: представления, триггеры, хранимые процедуры.
курсовая работа [1,7 M], добавлен 10.02.2013Характеристика модели клиент-сервер как технологии взаимодействия в информационной сети. Разработка и описание алгоритмов работы приложений на платформе Win32 в среде Microsoft Visual Studio, использующих для межпроцессного взаимодействия сокеты.
курсовая работа [544,6 K], добавлен 02.06.2014Базы данных и системы управления базами данных. Структура простейшей базы данных, свойства полей. Понятие языка SQL. Проектирование баз данных, режимы работы, объекты. СУБД Microsoft Access. Создание базы данных "Электротовары" средствами Visual FoxPro.
курсовая работа [5,7 M], добавлен 29.04.2014Описание модели предметной области, построение функциональной модели. Проектирование структуры базы данных, реализация спроектированной базы данных при помощи СУБД Visual FoxPro. Создание форм при помощи мастера форм, построение исполняемого файла.
лекция [4,0 M], добавлен 04.11.2009