Рефераты. Диплом Программная система Аттестации ИТ-специалистов p> Для доступа к серверу SQL необходимо иметь соответствующий псевдоним.
Базовый псевдоним для каждого используемого драйвера SQL Links создается автоматически при первом изменении параметров драйвера после инсталляции.

1.5 Использование SQL

В этом разделе будут рассмотрены различные аспекты применения запросов
SQL в приложениях, использующих базы данных. Для реализации запросов в
Delphi 7.0 существует специальный компонент — TQuery, расположенный на странице Data Access Палитры компонентов. Он имеет много общих свойств с
TTable и тоже используется для открытия наборов данных. В то же время
TQuery обладает рядом свойств и методов, которые позволяют использовать все преимущества запросов SQL для работы с данными. Так, применение TQuery дает возможность работать с данными нескольких таблиц в одном запросе, отбирать данные сразу по нескольким критериям. Однако следует помнить, что использование SQL ведет к некоторому усложнению программного кода приложения. Кроме того, создание эффективного запроса — дело далеко не простое и требует наличия определенного опыта в этой области. Запросы SQL бывают статическими и динамическими. Статические запросы полностью создаются при отладке приложения, а динамические могут изменять свои параметры при выполнении приложения.

Приложения Delphi 7.0 при помощи механизма запросов SQL могут использовать данные:

• таблиц Paradox и dBase, используя синтаксис локального SQL;

• локального сервера Interbase, синтаксис языка поддерживается полностью;

• удаленных серверов SQL через драйверы SQL Links.


1.6 Особенности создания систем клиент/сервер

Возможность создания приложений для работы в составе систем клиент/сервер, бесспорно, стала большим преимуществом Delphi 7.0.
Инструментарий для разработки таких приложений интегрирован в составе среды разработчика. Приложения Delphi 7.0, функционирующие на станции-клиенте, используя возможности BDE и драйверов SQL Links и ODBC, могут получать доступ к данным удаленных SQL-серверов. В качестве серверов могут быть использованы Informix, Interbase, Microsoft SQL Server, Oracle, Sybase.
Кроме этого, через BDE и установленный драйвер ODBC возможен доступ к таким базам, как DB2, Btrieve, Microsoft Access и другим, для которых существует соответствующий драйвер ODBC.

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


1.7 Совместимость / эффективность

Как известно, при создании приложений для систем клиент/сервер всегда приходится решать проблему выбора между универсальностью и производительностью. С одной стороны, чем большее количество типов серверов поддерживается приложением, тем лучше. Но в этом случае значительно понижается производительность. Впрочем, способ решения этой проблемы зависит от предназначения создаваемого приложения. Иногда можно пожертвовать совместимостью, а иногда оказывается не так уж и важна производительность.

Совместимость по данным в значительной степени зависит от используемых приложением компонентов. При применении ТТаblе проблем практически не возникает, а вот при использовании TQuery приходится накладывать ограничения на синтаксис предложений SQL в зависимости от диалекта SQL, используемого сервером.

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

В зависимости от типа оборудования, на котором работает приложение, может возникнуть необходимость в поддержке нескольких коммуникационных протоколов. Эта проблема решается инсталляцией соответствующего программного обеспечения на станции-клиенте и сервере, однако, это решение должно быть предусмотрено еще на этапе проектирования системы клиент/сервер. Информацию об инсталлированном протоколе необходимо включить в драйве SQL Links.

В дальнейшем реализация архитектуры "клиент-сервер" будет рассматриваться для сервера Borland Interbase. Объяснить такой выбор нетрудно. Во-первых,
Interbase - "родной" сервер для Delphi 7.0 (поэтому для доступа к нему не нужно устанавливать дополнительных драйверов SQL Links, что необходимо при работе из приложений, написанных на Delphi 7.0, с Oracle, Sybase и другими
СУБД). Во вторых, в поставку Delphi входит локальный (однопользовательский, на 2 одновременных подключения) сервер Local Borland Interbase. Доступен также и Interbase для Windows 95 на 4 пользователя.

Локальный Interbase может использоваться для отладочных целей. После того, как приложение отлажено на локальной версии SQL-сервера, происходит масштабирование приложения (upsizing). БД переносится на сетевой сервер, а изменения в клиентских приложениях при этом минимальны - необходимо изменить псевдоним БД и, может быть, скорректировать некоторые параметры соединения приложения с сервером.

1.8 Перенос данных

При переносе приложений, ранее разработанных для применения в архитектуре
"файл-сервер", требуется не только частично или полностью переписывать приложения клиентов, но и преобразовывать локальную БД в серверную. Для этого под управлением серверной СУБД (например, Interbase) создают БД на сервере, куда затем "перекачивают" данные из локальных СУБД реализованных, например, с помощью Paradox. Основная проблема, встающая в этом случае - несовместимость некоторых форматов данных или их отсутствие. Например,
Interbase не поддерживает поля типа Boolean (Logical), и их необходимо реализовывать при помощи столбцов типа CHAR(1); Interbase не поддерживает автоинкрементные поля Paradox - для обеспечения уникальности значений в числовых полях в БД Interbase используют генераторы и т.д. При возникновении подобных проблем следует изучить вопросы совместимости типов данных локальной СУБД и выбранной серверной СУБД.

Преобразование делится на два этапа:

• модернизация баз данных до уровня сервера;

• преобразование приложений в приложения-клиенты.

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

Преобразование базы данных в сервер содержит ряд этапов.

1. Создание метаданных, основанных на структуре базы данных.

2. Перенос данных на сервер.

3. Разделение данных по типам.

4. Создание паролей и интеграция данных.

5. Контроль транзакций.

6. Управление доступом к данным.

7. Проверка данных.

Delphi обеспечивает два способа преобразования баз данных:

• использование возможностей утилиты Database Desktop для преобразования таблиц в формат SQL;

• использование при создании приложения компонента TBatchMove.

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

Приложения, созданные для работы с локальными базами данных, могут быть приспособлены для систем клиент/сервер только путем внесения ряда исправлений в исходный код. В простейшем случае, при полном совпадении структуры преобразованных и исходных данных необходимо лишь изменить параметры свойств DatabaseName используемых компонентов TTable и TQuery и добавить в приложение компонент TDatabase. Однако такое бывает не часто.

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

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

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

Также, нередко возникает необходимость в создании кода для регистрации пользователя на сервере.


1.9 Применение локального сервера InterBase

Локальный Interbase Server является версией сервера Borland Interbase 6.0 для

Windows и содержит полный набор функций для локального однопользовательского применения. При разработке приложений клиент/сервер локальный Interbase Server может использоваться в качестве модели сервера или для преобразования баз данных в серверы SQL (см. "Перенос данных"), кроме этого, он может применяться в качестве процессора базы данных в работ локальных приложений. Его использование позволит разработчику повысит надежность разрабатываемого приложения и избежать возможной потери данных при тестировании "сырых" приложений.

Если база данных, для работы с которой предназначено разрабатываемое приложение, уже существует, то Interbase Server может быть использован для решения ряда других вопросов:

1. Для поиска и преобразования нестандартного синтаксиса запросов SQL и неиспользуемых типов данных;

2. Для создания приложений, использующих Interbase в качестве сервера;

3. Применение Windows ISQL возможно для создания базы Interbase, предложения SQL которой могут быть использованы в базе сервера приложения

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

Если настоящая база данных еще не существует, то Interbase Server может использоваться для создания прототипа используемых данных, на котором будет проверяться работоспособность приложения.

Если приложение разрабатывается для уже существующей базы функционирующей на сервере Interbase:

• перед проверкой работоспособности приложения на реальных данных может использоваться утилита локального сервера Interbase для создания резервных копий данных;

• желательно перенести на локальный сервер небольшую, но представительную выборку данных и отлаживать работу приложения на ней.

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

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.