Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ekzamenatsionnye_voprosy_po_TRZBD.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
346.67 Кб
Скачать

Создание хранимых процедур

Созданию хранимой процедуры предшествует этап предварительной работы, в ходе которой необходимо найти ответы на следующие вопросы:

Помимо тех хра­нимых процедур, что создает пользователь в контексте собственной базы данных, существует также возможность создавать системные и временные процедуры. С точки зрения написания кода, эти хранимые процедуры мало отличаются друг от друга. Различие заключается в организации спо­соба хранения процедуры. Чтобы создать системную процедуру, необходи­мо дать ей название, начинающееся с префикса sp_, и сохранить ее в сис­темной базе данных master. Временные хранимые процедуры доступны пользователям в течение того времени, пока активно соединение, в кон­тексте которого эта процедура была создана. SQL Server позволяет созда­вать как локальные, так и глобальные временные процедуры, которые хра­нятся в базе данных tempdb. Локальные временные хранимые процедуры доступны только пользователю, работающему в контексте соединения, по­родившего данную процедуру. При определении хранимой процедуры та­кого типа необходимо дать ей имя, начинающееся с символа #. Глобальные временные хранимые процедуры доступны пользователям из любых сое­динений данного сервера. Имя глобальной временной процедуры начина­ется с символов ##.

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

Для разработки схем триггеров используется следующий алгоритм:

Составляется полная таблица истинности, из которой получают аналитическое выражение работы триггера.

Выбирается тип базового триггера (бистабильной ячейки, рис. 4, а; 5, а) и записывается его характеристическое уравнение.

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

Выводы

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

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

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

    1. Основные элементы клиентских программ

Такие СУБД состоят из клиентской части (которая входит в состав прикладной программы) и сервера. Клиент-серверные СУБД, в отличие от файл-серверных, обеспечивают разграничение доступа между пользователями и мало загружают сеть и клиентские машины. Недостаток клиент-серверных СУБД в самом факте существования сервера (что плохо для локальных программ — в них удобнее встраиваемые СУБД) и больших вычислительных ресурсах, потребляемых сервером. В этой архитектуре на выделенном сервере, работающем под управлением серверной операционной системы, устанавливается специальная программа, управляющая удаленной базой данных - SQL-сервер, например, Microsoft®SQL Server™или Oracle. Основа работы сервера БД - использование языка запросов SQL (Structured Query Languague). SQL-сервер обеспечивает интерпретацию запроса, его выполнение в базе данных, формирование результата выполнения запроса и выдачу его приложению-клиенту. При этом ресурсы клиентского компьютера не участвуют в физическом выполнении запроса; клиентский компьютер лишь отсылает запрос к серверной БД и получает результат, после чего интерпретирует его необходимым образом и представляет пользователю. Извлеченные данные транспортируются по сети от сервера к клиенту. Тем самым, количество передаваемой по сети информации уменьшается во много раз. Примеры: Firebird, Interbase, MS SQL Server, Sybase, Oracle, PostgreSQL, MySQL.

Итак, в результате работа построена следующим образом:

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

· СУБД располагается также на сервере сети.

· Существует локальная сеть, состоящая из клиентских компьютеров, на каждом из которых установлено клиентское приложение для работы с БД.

· На каждом из клиентских компьютеров пользователи имеют возможность запустить приложение. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к СУБД, расположенной на сервере, на выборку/обновление информации. Для общения используется специальный язык запросов SQL, т.е. по сети от клиента к серверу передается лишь текст запроса.

· СУБД инкапсулирует внутри себя все сведения о физической структуре БД, расположенной на сервере.

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

    1. Требования и принципы разработки клиентских приложений.

    1. Подходы и технология разработки интерфейса пользователя клиентских приложений.

    2. Сортировка, поиска и фильтрации данных в БД и в выборках.

Сортировка заключается в упорядочивании записей по определенному полю в порядке возрастания или убывания содержащихся в нем значений. Сортировку можно выполнять и по нескольким полям. Например, при сортировке по двум полям записи сначала упорядочиваются по значениям первого поля, а затем группы записей с одинаковым значением первого поля сортируются по второму полю. Сортировка наборов данных Table и Query выполняется различными способами. Сортировка наборов данных Table выполняется автоматически по текущему индексу. При смене индекса происходит автоматическое переупорядочивание записей. Таким образом, сортировка возможна по полям, для которых создан индекс. Для сортировки по нескольким полям нужно создать индекс, включающий эти поля. По умолчанию сортировка происходит в порядке возрастания значений полей. Для указания обратного порядка сортировки по какому-либо полю нужно указать после имени этого поля описатель DESC.

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

Для поиска записей по полям служат методы Locate и Lookup, причем поля могут быть неиндексированными. Функция Locate: Boolean ищет запись с заданными значениями полей. Если удовлетворяющие условиям поиска записи существуют, то указатель текущей записи устанавливается на первую из них. Если запись найдена, функция возвращает значение True, в противном случае — значение False. Список полей, по которым ведется поиск, задается в параметре KeyFields, поля разделяются точкой с запятой. Параметр KeyValues типа variant указывает значения полей для поиска. Если поиск ведется по одному полю, то параметр содержит одно значение, соответствующее типу поля, заданного для поиска.

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

Фильтрация — это задание ограничений для записей, отбираемых в набор данных. Напомним, что набор данных представляет собой записи, выбранные из одной или нескольких таблиц. Состав записей в наборе данных в данный момент времени зависит от установленных ограничений, в том числе и от фильтров. Система Delphi дает возможность осуществлять фильтрации записей:1. по выражению;2. по диапазону. По умолчанию фильтрация записей не ведется, и набор данных Table содержит все записи связанной с ним таблицы БД, а в набор данных Query включаются все записи, удовлетворяющие SQL-запросу, содержащемуся в свойстве SQL.Фильтрация похожа на SQL-запросы, но является менее мощным средством. По сравнению с SQL-запросами фильтрация менее эффективна, т. к. ограничивает количество записей, видимых в наборе.