- •1. Цели, задачи и предмет дисциплины
- •2. Требования к уровню освоения содержания дисциплины
- •2.1. Инновационные технологии, используемые в преподавании курса «Инструментальные средства разработки корпоративных экономических систем»
- •3. Объем дисциплины
- •3.1. Объем дисциплины и виды учебной работы Форма обучения очная
- •3.2. Распределение часов по темам и видам учебной работы Форма обучения очная
- •Тема 2. Определение структуры данных
- •Тема 3. Создание базы данных и проектирование таблиц с помощью sql
- •4. Содержание курса
- •Раздел 1. Основы sql
- •Тема 1. Введение в структурированный язык запросов sql
- •Тема 4. Эффективное выполнение запросов для извлечения данных
- •Тема 5. Вычисления и подведение итогов в запросах. Построение нетривиальных запросов
- •Тема 6. Запросы модификации данных. Определение ограничений целостности
- •Тема 7. Представления
- •Тема 8. Хранимые процедуры и функции пользователя
- •Тема 9. Триггеры: создание и применение. Триггеры в рекурсивных структурах
- •Тема 10. Транзакции и блокировки
- •Раздел 2. Технология asp.Net как инструмент разработки экономических информационных систем
- •Тема 11. Принципы работы и структура Web-приложений на основе asp.Net
- •Тема 12. Основы работы в Visual Studio. Net 2005
- •Тема 13. Основы языка с#
- •Тема 14. Основы Web-программирования с использованием asp.Net
- •Тема 15. Принципы разработки пользовательского интерфейса интернет-приложения
- •Тема 16. Использование Master Page и навигация при построении интернет-приложений
- •Тема 17. Использование тем при оформлении Web- приложения. Использование кэширования в Web-приложениях
- •Тема 18. Использование баз данных в приложениях asp.Net
- •5. Темы практических занятий
- •Раздел 1. Основы sql
- •Тема 2. Определение структуры данных
- •Тема 3. Создание базы данных и проектирование таблиц с помощью sql
- •Тема 4. Эффективное выполнение запросов для извлечения данных
- •Тема 5. Вычисления и подведение итогов в запросах. Построение нетривиальных запросов
- •Тема 6. Запросы модификации данных. Определение ограничений целостности
- •Тема 7. Представления
- •Тема 8. Хранимые процедуры и функции пользователя
- •Тема 12. Основы работы в Visual Studio. Net 2005
- •Тема 13. Основы языка с#
- •Тема 14. Основы Web-программирования с использованием asp.Net
- •Тема 15. Принципы разработки пользовательского интерфейса интернет-приложения
- •6. Задания для самостоятельной работы студентов
- •Тема 2. Определение структуры данных
- •Тема 3. Создание базы данных и проектирование таблиц с помощью sql
- •Тема 4. Эффективное выполнение запросов для извлечения данных
- •Тема5. Вычисления и подведение итогов в запросах. Построение нетривиальных запросов
- •Тема 6. Запросы модификации данных. Определение ограничений целостности
- •Тема 7. Представления
- •Тема 8. Хранимые процедуры и функции пользователя»
- •Тема 9. Триггеры: создание и применение. Триггеры в рекурсивных структурах
- •Тема 10. Транзакции и блокировки»
- •7. Тематика курсовых работ и методические указания по их выполнению
- •1. Титульный лист
- •2. Оглавление
- •3. Введение
- •4. Концептуальная модель базы данных
- •Темы курсовых работ
- •8. Вопросы для подготовки к зачету, экзамену
- •8.1. Вопросы к зачету
- •8.2. Вопросы к экзамену
- •9. Учебно-методическое обеспечение дисциплины
- •9.1. Литература Основная
- •Дополнительная
- •Методическое обеспечение дисциплины
- •9.3. Материально-техническое и информационное обеспечение дисциплины
- •Интернет-ресурсы
- •Федеральное агентство по образованию
- •Факультет социальных и информационных технологий Кафедра информационных технологий и телекоммуникаций
- •Москва 2009
- •Инструментальные средства разработки корпоративных
- •Экономических систем
- •Учебно-методический комплекс
Тема 8. Хранимые процедуры и функции пользователя»
Студентам предлагается ответить на вопросы тестов, аналогичных приведенному ниже варианту.
8.1. Создана процедура для увеличения на заданный % цены книг заданного издательства:
CREATE PROC my_proc1
@р FLOAT,
@iz VARCHAR(20)
AS
UPDATE Книга SET цена=Цена*(1+@р)
WHERE Издательство=@iz
Определите правильную команду для выполнения процедуры.
EXEC my_procl 0.2, 'ACT'
EXEC my_procl @p = 0.2, 'ACT'
EXEC my_procl @издат = 'АСТ', 0.2
EXEC my_procl @iz='ACT', @p=0.25
8.2. Для определения общей стоимости книг, изданных заданным автором в заданном издательстве, разработана процедура:
CREATE PROC my_proc2
@f VARCHAR(20),
@iz VARCHAR(20),
@s FLOAT OUTPUT
AS
SELECT @s = Sum(Книга.Цена*Книга.Количество)
FROM Книга INNER JOIN Автор
ON Книга.КодАвтора=Автор.КодАвтора GROUP BY Автор.Фамилия,
Книга.Издательство HAVING Автор.Фамилия = @f
AND Книга.Издательство = @iz
Укажите правильный вызов процедуры.
DECLARE @st FLOAT
EXEC my_proc2 @iz = 'Мир',@s=@st, @f='Иванов1
SELECT @st
DECLARE @st FLOAT
DECLARE @f VARCHAR(20), @iz VARCHAR (20)
EXEC my_proc2 @f = 'Иванов', @iz = 'Мир', @s = @st
OUTPUT SELECT @st
DECLARE @st INT
EXEC my_proc2 ('Иванов' , 'Мир’, @st OUTPUT)
SELECT @st
DECLARE @St FLOAT
EXEC my_proc2 'Иванов’,'Мир’, @st OUTPUT
SELECT @st
8.3. Для определения общей стоимости книг, изданных заданным автором в заданном издательстве, разработана процедура, в которой указаны значения параметров по умолчанию:
CREATE PROC my_proc3
@f VARCHAR(20)='Петров',
@iz VARCHAR(20)='ACT',
@s FLOAT = 0.1 OUTPUT
AS
SELECT @s = Sum(Книга.Цена*Книга.Количество)
FROM Книга INNER JOIN Автор
ON Книга.КодАвтора = Автор.КодАвтора
GROUP BY Автор.Фамилия, Книга.Издательство
HAVING Автор.Фамилия=@f AND Книга,издательство=@iz
Укажите правильный вызов процедуры.
DECLARE @st FLOAT EXEC my_proc3 @iz='Мир',@f='Иванов', @s=@st OUTPUT SELECT @St
EXEC my_proc3
DECLARE @st FLOAT EXEC my_proc3 @st OUTPUT SELECT @st
DECLARE @St FLOAT EXEC rny_proc3 @s=@st OUTPUT SELECT @st
Тема 9. Триггеры: создание и применение. Триггеры в рекурсивных структурах
Студентам предлагается ответить на вопросы тестов, аналогичных приведенному ниже варианту.
Даны таблицы Книга и Автор. Создать триггер, обрабатывающий вставку одной записи в таблицу Книга. При этом в таблице Автор должен увеличиться общий тираж изданий соответствующего автора:
CREATE TRIGGER trig_ins
ON Книга FOR INSERT
AS
Выберите операторы для продолжения текста триггера:
DECLARE @av INT,
@k INT
SELECT @ау=КодАвтора, @k = количество FROM inserted
UPDATE Автор SET тираж = тираж + @k
WHERE KoдАвтоpa = @av
UPDATE Автор
SET тираж = тираж + inserted.количество
WHERE KoдАвтopa = inserted.KoдАвтopa
UPDATE Автор
SET тираж = тираж + (SELECT количество
FROM inserted) WHERE Автор.КодАвтора = inserted.КодАвтора
UPDATE Автор
SET тираж = тираж + (SELECT количество
FROM inserted WHERE Автор.KoдАвтopa = inserted.КодАвтора)
