Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Теоретические сведения. Компоненты из набора InterBase Express (IBX) предназначены для работы с сервером InterBase




 

Компоненты из набора InterBase Express (IBX) предназначены для работы с сервером InterBase. Преимущество данной технологии заключается в реализации всех функций за счет прямого обращения сервера InterBase к API. Благодаря этому существенно повышается скорость работы компонентов.

При работе с серверными БД компонент набора данных TTable становится малоэффективным, так как он создает на компьютере пользователя временную копию серверной БД и работает с этой копией. Естественно, что такая процедура требует больших ресурсов и существенно загружает сеть. Преодолеть этот недостаток позволяет использование в приложении компонента IBQuery, так как запрос SQL сводится к просмотру таблицы и результат этого запроса (а не сама исходная таблица) помещается во временном файле на компьютере пользователя. Ограничением работы с компонентом IBQuery является то, что набор данных, передаваемый в приложение, доступен только для чтения, однако существуют возможности преодолеть этот недостаток:

1. Компонент IBQuery с запросом Select формирует таблицу только для чтения. Установка значения True в свойстве компонента RequestLive позволяет возвращать изменяемый набор данных, вместо таблицы только для чтения при соблюдении следующих условий:

- набор данных формируется обращением только к одной таблице;

- набор данных не упорядочен использованием OrderBy;

- набор данных не использует агрегатных функций.

2. Использование запросов Insert, Delete, Update. Запросы, не возвращающие наборов данных, выполняются методом ExecSQL.

3. Использование компонента UpdateSQL. Для этого в свойствах компонента: UpdateSQL, DeleteSQL, InsertSQL, необходимозаписать тексты запросов, которые должны выполняться при удалении, вставке или модификации записи. После чего, изменение записей таблицы может быть выполнено с помощью компонента DBNavigator.

4. Использование хранимых на сервере исполняемых процедур.

Существуют три формы реализации SQL. Интерактивный SQL применяется для непосредственной работы с БД: пользователь вводит SQL -оператор, он сразу же выполняется и пользователь видит результат выполнения (или код ошибки). Статический SQL содержит SQL -операторы, жестко закодированные в теле исполняемого приложения. Динамический SQL также является частью приложения, но конкретный SQL -код генерируется во время выполнения приложения (RunTime), а не вводится заранее. Наибольшей гибкостью обладает последний вариант формирования текста SQL -запроса.

С помощью динамического SQL программа-клиент выполняет программное формирование оператора SQL для его последующего исполнения, делая это в три этапа:

- программа собирает текст оператора SQL в виде символьной строки, хранящейся в программной переменной; в общем случае это может быть не один, а несколько операторов SQL, разделенных точкой с запятой;

- программа выполняет оператор Prepare, который обращается к серверу баз данных для анализа текста оператора и подготовки его к выполнению;

- программа использует оператор Execute для выполнения подготовленного оператора.

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

Задание к выполнению

Разработать приложение для работы с базой данных, созданной в лабораторной работе №11, используя компоненты технологии DelphiIBX, соблюдая выполнение следующих требований:

1. Приложение должно обеспечивать возможность отображения данных из всех таблиц БД с использованием динамического SQL (выбор имени таблицы осуществляется пользователем). Использовать для этого только один компонент IBQuery.

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

3. Разработать в приложении для одной из таблиц отдельную форму, используя компоненты отображения для представления значений одного поля. Реализовать на форме возможность выполнения операций модификации данных, используя различные способы: динамический SQL, компонент UpdateSQL, хранимую на сервере процедуру модификации данных.

4. Реализовать в приложении возможности формирования SQL запроса пользователем, его выполнения и сохранения в отдельном файле.

5. Реализовать возможность вызова из приложения хранимой процедуры с передачей параметров.

6. Реализовать на стороне клиентского приложения выполнение правила бизнес-логики.

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

Контрольные вопросы

1. Какие компоненты обеспечивают технологию IBX?

2. Формы реализации SQL?

3. Этапы программного формирования динамического оператора SQL для его последующего исполнения?

4. Работа с параметрами, их назначение?

5. Отображение данных из связанных таблиц?

6. Способы модификации данных, предусмотренные технологией IBX?

7. Работа с просмотрами и хранимыми процедурами?

8. Операции реляционной алгебры и их реализация средствами языка SQL?




Поделиться с друзьями:


Дата добавления: 2017-01-14; Просмотров: 277; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.