
- •1. Цели, задачи и предмет дисциплины
- •2. Требования к уровню освоения содержания дисциплины
- •2.1. Инновационные технологии, используемые в преподавании курса «Инструментальные средства разработки корпоративных экономических систем»
- •3. Объем дисциплины
- •3.1. Объем дисциплины и виды учебной работы Форма обучения очная
- •3.2. Распределение часов по темам и видам учебной работы Форма обучения очная
- •4. Содержание курса
- •Раздел 1. Основы sql
- •Тема 1. Введение в структурированный язык запросов sql
- •Тема 2. Определение структуры данных
- •Тема 3. Создание базы данных и проектирование таблиц с помощью 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
- •Инструментальные средства разработки корпоративных
- •Экономических систем
- •Учебно-методический комплекс
Тема 4. Эффективное выполнение запросов для извлечения данных
Студентам предлагается ответить на вопросы тестов, аналогичных приведенному ниже варианту.
1. Пусть дана таблица Автор с полями:
Фамилия VARCHAR(5O),
Пол CHAR(3),
Дата_рождения DATETIME,
Телефон CHAR(9),
Количество_трудов INT,
Город VARCHAR(15)
Найти авторов, количество трудов которых превышает 10, но не больше 20, можно с помощью следующего кода:
SELECT Фамилия, Количество_трудов FROM Автор WHERE Количество_трудов>10 And Количество_трудов<=20
SELECT Фамилия, Количество_трудов FROM Автор WHERE Количество_трудов Between 10 And 20
SELECT Фамилия, Количество_трудов FROM Автор WHERE Количество_трудов Between 11 And 20
SELECT Фамилия, Количество_трудов FROM Автор WHERE Количество_трудов >=11 Or Количество_трудов<= 19
2. Пусть дана таблица Автор. Требуется найти города, в которых живут молодые авторы (до 25 лет), издавшие более 10 книг.
SELECT Город FROM Автор WHERE Дата„рождения>'1/1/1980' AND Количество_трудов>10
SELECT Город, Дата_рождения,Количество_трудов FROM Автор
WHERE Дата_рождения>25 AND Количество_трудов>10
SELECT Город FROM Автор WHERE Дата_рождения > 25 OR Количество_трудов > 10
SELECT DISTINCT Город FROM Автор WHERE Дата_рождения > '1/1/1980' OR Количество_трудов>10
3. Пусть дана таблица Автор. Требуется определить авторов, фамилии которых начинаются с буквы «Б» или «Г» и содержат слог «ор».
SELECT Фамилия FROM Автор WHERE (Фамилия Like "Б%" Or Фамилия Like "Г%") And Фамилия Like “%ор%”
SELECT Фамилия FROM Автор WHERE Фамилия Like "Б%" And Фамилия Like "Г%" And Фамилия Like “%ор%”
SELECT Фамилия FROM Автор WHERE (Фамилия Like "Б%" And Фамилия Like "Г_") And Фамилия Like “_ор_”
SELECT Фамилия FROM Автор WHERE (Фамилия Like "Б _%" And Фамилия Like "Г%_") And Фамилия Like “%ор%”
Тема5. Вычисления и подведение итогов в запросах. Построение нетривиальных запросов
Студентам предлагается ответить на вопросы тестов, аналогичных приведенному ниже варианту.
5.1. Пусть созданы таблицы Автор и Книга:
CREATE TABLE Автор
(КодАвтора INT ,
Фамилия VARCHAR(50) NULL,
Имя VARCHAR(50) NULL,
Отчество VARCHAR(50) NULL,
Пол VARCHAR(50) NOT NULL,
Дата_рождения DATETIME,
Телефон CHAR(9) )
CREATE TABLE Книга
(Код__Книги INT,
Название VARCHAR(50) NOT NULL,
Цена MONEY,
Тематика VARCHAR(50) NOT NULL,
Издательство VARCHAR(50) NOT NULL,
КодАвтора INT NOT NULL,
Количество INT)
Требуется рассчитать общую стоимость тиража и 5% налог с продаж для книг каждого автора.
SELECT Название, Цена*Количество AS Стоимость, Цена * Количество * 0.05 AS Налог FROM Книга
SELECT Название, Цена*Количество, Цена*Количество*0.05 FROM Книга
SELECT Название, Стоимость = Цена*Количество,
Налог = Цена * Количество*0.05 FROM Книга
SELECT Название, @S = Цена * Количество, @р = Цена * Количество * 0.05 FROM Книга
На какую сумму были проданы книги каждого автора?
SELECT Автор.Фамилия, Sum(Книга.Цена*Книга.Количество) AS Стоимость FROM Книга INNER JOIN Автор.
ON Книга.КодАвтора=Автор.КодАвтора GROUP BY Автор.Фамилия
‘SELECT Автор.Фамилия,
Стоимость= (Книга.Цена*Книга.Количество) FROM Книга INNER JOIN Автор ON Книга.КодАвтора=Автор.КодАвтора GROUP BY Автор.Фамилия
SELECT Автор.Фамилия,
Sum(Книга.Цена*Книга.Количество) AS Стоимость FROM Книга INNER JOIN Автор ON Книга.КодАвтора=Автор.КодАвтора
SELECT Автор.Фамилия,
Sum(Цена* Количество) AS Стоимость FROM Книга INNER JOIN Автор
ON Книга.КодАвтора=Автор.КодАвтора GROUP BY Автор.Фамилия
5.2. Необходимо определить число различных наименований проданных в издательстве «ACT» книг, количество книг каждого наименования и вырученную сумму.
SELECT Count(Название) AS Кол_Название,
Sum(Количество) AS Общее_Количество,
Sum(Цена*Количество) AS Общ_Стоимость
FROM Книга
WHERE Издательство="ACT"
SELECT Count(Название) AS Кол_Название,
Sum(Количество) AS Общее_Количество,
Sum(Цена*Количество) AS Общ_Стоимость
FROM Книга
GROUP BY Издательство="АСТ"
SELECT Count(Название) AS Кол_Название,
Sum(Количество) AS Общее_Количество,
Sum(Цена*Количество) AS Общ_Стоимость
FROM Книга
GROUP BY Издательство WHERE Издательство="АСТ"
SELECT Count(Название) AS Кол_Название,
Sum(Количество) AS Общее_Количество,
Sum(Цена*Количество) AS Общ_Стоимость
FROM Книга
GROUP BY Название
HAVING Издательство = "ACT"