 
        
        - •Оглавление
- •1. Понятия и определения (система и признаки, экономическая система, макропредставление, микропредставление, структура системы)
- •2. Предприятие (фазы планирования, виды анализа, решения на предприятии, информация на предприятии, этапы развития информационной системы на предприятиях)
- •3. Процессы, происходящие в информационных системах
- •4. Классификация корпоративных ис
- •5. Классификация архитектур кис. Mainframe
- •6. Классификация архитектур кис. Файл-сервер
- •7. Классификация архитектур кис. Клиент-сервер
- •8. Классификация архитектур кис. Intranet
- •9. Классификация архитектур кис. Сервис-ориентированная архитектура. Web-сервисы. Используемые стандарты (xml, soap, wsdl, uddi)
- •10. Классификация архитектур кис. Системы основанные на распределенной архитектуре. Corba. Dcom
- •11. Общие сведения о Microsoft sql Server. Архитектура sql Server. Архитектура доступа к данным. Компоненты Microsoft sql Server. Клиентские компоненты
- •12. Типы данных в ms sql Server. Описание переменных. Операторы, функции
- •13. Transact sql. Dcl, ddl, dml. Ссылки на объекты в Transact sql. Элементы управления выполнением программы. Пакеты и сценарии
- •14. Sql запросы. Обработка запросов. Способы кэширования запросов. Организация транзакций
- •15. Хранимые процедуры в ms sql Server. Преимущества использования хранимых процедур. Обработка хранимых процедур. Синтаксис создания хранимых процедур
- •16. Триггеры в ms sql Server. Использование триггеров. Правила использования триггеров. Принцип работы триггеров
- •17. Объектная модель asp.Net
- •18. Объектная модель ado.Net
- •19. Методология управления и контрроля it на основе стандарта Cobit
- •20. Модели зрелости предприятия
14. Sql запросы. Обработка запросов. Способы кэширования запросов. Организация транзакций
Обработка запросов.
Можно разделить запросы на два типа: кэшированные и некэшированные. Увидеть ход выполнения запроса можно в Query Analizer.
Некэшированные
 
- Анализ, проверка правильного синтаксиса. 
- Проверка прав пользователя на выполнение операций. 
- Определение целесообразности создания индексов и стратегии объединения. 
- Перевод запроса в исполнительную форму. 
- Обработка откомпилированного запроса. 
Кэшированные
 
Способы кэширования запросов.
- Кэширование незапланированных запросов. Происходит автоматически. Если SQL Server встречает структуру уже выполненного запроса, то возможно использование КЭШа уже выполненного запроса. Кэш уникален от пользователя. 
- Кэширование по спецификации. При помощи хранимой процедуры, которая называется SP_EXECUTESQL можно задать запрос и его параметр и сократить время на выполнение запросов. Применение кэширования по спецификации: использование сложных запросов, использующих агрегированные функции. 
Организация транзакций.
- Перед началом транзакции база данных находится в согласованном состоянии. 
- Приложение объявляет о начале транзакции. Этот процесс может быть инициирован явно с помощью оператора BEGIN TRANSACTION. Первый же оператор Transact SQL, исполняемый после завершения предыдущей транзакции, автоматически запускает новую транзакцию. В начале транзакции в журнал не заносится никаких записей; первая запись в журнале появляется при модификации данных. 
- Приложение начинает производить по очереди модификации данных. 
- Когда приложение достигает этапа, на котором все модификации успешно завершены, и база данных снова находится в согласованном состоянии, приложение фиксирует транзакцию. На этом этапе все сделанные модификации базы данных становятся постоянными. 
- Если приложение обнаруживает ошибки, которые предотвращают завершение транзакции, оно выполняет отмену (откат) всех модификаций данных. Этот процесс возвращает базу данных к той точке, в которой она находилась до начала транзакции. 
15. Хранимые процедуры в ms sql Server. Преимущества использования хранимых процедур. Обработка хранимых процедур. Синтаксис создания хранимых процедур
Сохраненная процедура – именованный набор операторов SQL, хранящийся на сервере.
Они позволяют:
- Включать группы операторов 
- Вызывать другие сохраненные процедуры 
- Принимать входные и возвращать выходные параметры 
- Возвращать статус выполнения 
Хранимые процедуры бывают
- системные – хранятся в БД master и начинаются с префикса SP_ 
- пользовательские сохраненные процедуры – хранятся в пользовательских БД 
- временные сохраненные процедуры – хранятся во временной БД tempdb и удаляются автоматически. 
- удаленные хранимые процедуры – хранимые процедуры других SQL Server. 
- расширенные системные сохраненные процедуры - в отличии от всех перечисленных представляют из себя созданные на других языках программирования и откомпилированные программы, которые могут быть вызваны из SQL Server. 
Преимущества создания приложений.
- Совместное использование хранимых процедур и приложений. 
 
Хранимые процедуры
- Возможная реализация дополнительных механизмов защиты. К хранимым процедурам доступ пользователь не имеет. Пользователю запрещено чтение из таблицы, но благодаря хранимой процедуре эта возможность появляется. 
- Автоматическое выполнение хранимых процедур при запуске SQL Server. 
- Улучшенная производительность хранимых процедур. 
Формальные запросы на SQL
 
Ответ-таблица
Вводим промежуточный уровень на котором прописаны SQL запросы, что позволяет снизить сетевой трафик.
Обработка сохраненных процедур.
 Выполнение,
рекомпиляция ХП. Изменилась версия
схемы, изменились индексы; изменилась
среда компиляции ХП, изменилась статистика
таблиц или индекса на который ссылается
ХП.
 Выполнение,
рекомпиляция ХП. Изменилась версия
схемы, изменились индексы; изменилась
среда компиляции ХП, изменилась статистика
таблиц или индекса на который ссылается
ХП.
Оптимизация ХП:
- Выясняется объем данных таблиц в которых хранятся ХП. 
- Выясняется наличие индексов. 
- При оптимальном рассмотрении условия, формируется в приложении. 
- Группировка. 
Компиляция ХП – процесс анализа, сохраненных процедур и создание плана выполнения запроса. После план выполнения ХП помещается в кэш для повторного использования.
Синтаксис создания ХП.
Create procedure имя_процедуры
Имя процедуры не должно начинаться с префикса sp.
@параметр тип данных = значение по умолчанию output
as
операторы SQL
Вызов процедуры.
Exec имя_процедуры параметры
Project Worker
Id_project id_worker
Name name
Boss spec
Deadline status
Create proc p1
As
Select distinct worker.name from worker, project
Where worker.id_worker = project.boss
