- •Задания для самостоятельной работы
- •Тема 1. Разработка клиентского приложения в среде ado.Net
- •Тема 2. Параллельное выполнение транзакций
- •Тема 3. Использование olap средств (дополнительно)
- •Приложение. Построение клиентского приложения в среде ado.Net
- •Организация интерфейса
- •Аутентификация пользователя
- •Вариант шифрования пароля
- •Выполнение хранимых процедур Подготовка
- •Подготовка соединения
- •Подготовка команды
- •Подготовка параметров
- •Выполнение команды select
- •Выполнение команды select count(*)
- •Выполнение других команд
- •Использование объекта типа DataSet
- •Создание фрагмента базы данных
- •Связывание таблиц с оконными формами
- •Именование объектов
- •Обмен данными с базой данных
- •Редактирование схемы
Задания для самостоятельной работы
по дисциплине “Архитектура информационных систем”
Тема 1. Разработка клиентского приложения в среде ado.Net
Предусмотреть создание, по крайней мере, двух типов окон – функциональные окна, обеспечивающие выполнение необходимых операций, и окно аутентификации, позволяющее проверить полномочия пользователей при их входе в систему.
Ошибочные ситуации, возникающие на сервере БД при выполнении любых операций с данными, должны обрабатываться клиентом и сопровождаться выводом сообщений об ошибках, понятных конечному пользователю (не специалисту в области работы с БД).
Создать специальную таблицу в базе данных, в которой содержатся имена пользователей, зарегистрированных в системе, их пароли (пароли должны храниться в зашифрованном виде) и роли. Разработать процедуру аутентификации, позволяющую пользователям начать сеанс работы в системе и предусматривающую передачу по сети зашифрованного пароля. Реализовать выполнение предложения SELECT, возвращающего единственное значение.
Разработать процедуру, обеспечивающую выполнение хранимой процедуры на стороне сервера, имеющей входные параметры и возвращающей некоторый результат через output параметры и через return value (например, процедура регистрации товара; входные данные – информация о товаре, результат – сообщение о том, успешно или не успешно завершилась операция регистрации; в случае успешного завершения – уникальный код товара, под которым товар зарегистрирован в системе, и количество товара на складе).
Реализовать выполнение предложения SELECT, возвращающего множество записей, для работы с ними в режиме read-only, используя объект типа DataReader (например, получить перечень товаров определенной категории, имеющийся в торговой организации). Полученные результаты должны быть доступны пользователю системы только в режиме чтения.
Создать на стороне клиента некоторый фрагмент схемы базы данных, состоящий из нескольких связанных таблиц; обеспечить отображение связанных данных, а также добавление, модификацию и удаление данных из любых таблиц фрагмента. Предусмотреть выявление и надлежащую обработку конфликтной ситуации, возникающей в том случае, когда несколько пользователей системы одновременно пытаются модифицировать одни и те же данные.
Тема 2. Параллельное выполнение транзакций
Создать двух клиентов, запустив два Query Analyzer’а. На каждом клиенте выполнить предложение SET IMPLICIT_TRANSACTIONS ON; в соответствии с ним, каждая транзакция заканчивается предложением COMMIT или ROLLBACK, после которых следующее предложение ЯМД SQL начинает (неявно) новую транзакцию.
Установить уровень изолированности READ UNCOMMITTED.
Определить необходимую последовательность предложений SQL в транзакции, иллюстрирующих решаемую данным уровнем изолированности проблему; объяснить результаты по данным, полученным из Enterprise Manager’а.
Определить необходимую последовательность предложений SQL в транзакции, иллюстрирующих не решаемую данным уровнем изолированности проблему; объяснить результаты по данным, полученным из Enterprise Manager’а.
Повторить пункты 3 и 4 для других уровней изолированности (READ COMMITTED, REPEATABLE READ, SERIALIZABLE).