 |
| Лекция 2. Определение структуры данных |
 |
| |
(html, txt)
| Пример 2.1.
| Создание пользовательского типа данных bir. |
| |
(html, txt)
| Пример 2.2.
| Использование пользовательского типа данных bir при создании таблицы. |
| |
(html, txt)
| Пример 2.3.
| Преобразование данных символьного типа к данным типа дата/время. |
| |
(html, txt)
| Пример 2.4.
| Использование SET для присваивания значения локальной переменной. |
| |
(html, txt)
| Пример 2.5.
| Использование SELECT для присваивания локальной переменной результата вычислений. |
 |
|
 |
| Лекция 3. Создание базы данных и проектирование таблиц |
 |
| |
(html, txt)
| Пример 3.1.
| Создание базы данных. |
| |
(html, txt)
| Пример 3.2.
| Создание таблицы для хранения данных о товарах, поступающих в продажу в некоторой торговой фирме. |
| |
(html, txt)
| Пример 3.3.
| Создание таблицы для сохранения сведений о постоянных клиентах. |
| |
(html, txt)
| Пример 3.4.
| Добавление в таблицу Клиент поля для номера расчетного счета. |
| |
(html, txt)
| Пример 3.5.
| Создание уникального кластерного индекса. |
| |
(html, txt)
| Пример 3.6.
| Создание уникального некластерного индекса. |
 |
|
 |
| Лекция 4. Эффективное выполнение запросов для извлечения данных |
 |
| |
(html, txt)
| Пример 4.1.
| Список сведений о всех клиентах. |
| |
(html, txt)
| Пример 4.2.
| Список всех фирм. |
| |
(html, txt)
| Пример 4.3.
| Операции отпуска товаров объемом больше 20. |
| |
(html, txt)
| Пример 4.4.
| Список товаров, цена которых больше или равна 100 и меньше или равна 150. |
| |
(html, txt)
| Пример 4.5.
| Список клиентов из Москвы или из Самары. |
| |
(html, txt)
| Пример 4.6.
| Список товаров, цена которых лежит в диапазоне от 100 до 150. |
| |
(html, txt)
| Пример 4.7.
| Список товаров, цена которых не лежит в диапазоне от 100 до 150. |
| |
(html, txt)
| Пример 4.8.
| Список клиентов из Москвы или из Самары |
| |
(html, txt)
| Пример 4.9.
| Список клиентов, проживающих не в Москве и не в Самаре. |
| |
(html, txt)
| Пример 4.10.
| Выборка клиентов, у которых в номере телефона вторая цифра – 4. |
| |
(html, txt)
| Пример 4.11.
| Выборка клиентов, у которых в номере телефона вторая цифра – 2 или 4. |
| |
(html, txt)
| Пример 4.12.
| Выборка клиентов, у которых в номере телефона вторая цифра 2, 3 или 4. |
| |
(html, txt)
| Пример 4.13.
| Выборка клиентов, у которых в фамилии встречается слог "ро". |
| |
(html, txt)
| Пример 4.14.
| Выборка сотрудников, у которых нет телефона (поле Телефон не содержит никакого значения). |
| |
(html, txt)
| Пример 4.15.
| Найти сотрудников, у которых есть телефон (поле Телефон содержит какое-либо значение). |
| |
(html, txt)
| Пример 4.16.
| Список клиентов в алфавитном порядке. |
| |
(html, txt)
| Пример 4.17.
| Список фирм и клиентов. Названия фирм в алфавитном порядке, имена клиентов в каждой фирме в обратном порядке. |
 |
|
 |
| Лекция 5. Соединения и теоретико-множественные операции над отношениями |
 |
| |
(html, txt)
| Пример 5.1.
| Операция выборки в SQL. |
| |
(html, txt)
| Пример 5.2.
| Операция проекции в SQL. |
| |
(html, txt)
| Пример 5.1.
| Декартово произведение отношений в SQL. |
| |
(html, txt)
| Пример 5.2.
| Тета-соединение отношений в SQL. |
| |
(html, txt)
| Пример 5.3.
| Естественное соединение отношений в SQL. |
| |
(html, txt)
| Пример 5.4.
| Выборка информации о проданных товарах. |
| |
(html, txt)
| Пример 5.5.
| Выборка сведений о товарах, дате сделок, количестве проданного товара и покупателях. |
| |
(html, txt)
| Пример 5.6.
| Выборка сведений о товарах, дате сделок, количестве проданного товара и покупателях с использованием псевдонима. |
| |
(html, txt)
| Пример 5.7.
| Левое внешнее соединение отношений в SQL. |
| |
(html, txt)
| Пример 5.8.
| Правое внешнее соединение отношений в SQL. |
| |
(html, txt)
| Пример 5.9.
| Выборка информации о всех товарах. |
| |
(html, txt)
| Пример 5.10.
| Полусоединение отношений в SQL. |
| |
(html, txt)
| Пример 5.11.
| Объединение отношений в SQL. |
| |
(html, txt)
| Пример 5.12.
| Пересечение отношений в SQL. |
| |
(html, txt)
| Пример 5.13.
| Разность отношений в SQL. |
| |
(html, txt)
| Пример 5.14a.
| Деление отношений в SQL. |
| |
(html, txt)
| Пример 5.14b.
| Деление отношений в SQL. |
| |
(html, txt)
| Пример 5.14c.
| Деление отношений в SQL. |
| |
(html, txt)
| Пример 5.14d.
| Деление отношений в SQL. |
| |
(html, txt)
| Пример 5.14e.
| Деление отношений в SQL. |
| |
(html, txt)
| Пример 5.14f.
| Деление отношений в SQL. |
 |
|
 |
| Лекция 6. Вычисления и подведение итогов в запросах |
 |
| |
(html, txt)
| Пример 6.1.
| Расчет общей стоимости для каждой сделки. |
| |
(html, txt)
| Пример 6.2.
| Получение списка фирм с указанием фамилии и инициалов клиентов. |
| |
(html, txt)
| Пример 6.3.
| Получение списка товаров с указанием года и месяца продажи. |
| |
(html, txt)
| Пример 6.4.
| Определение первого по алфавиту названия товара. |
| |
(html, txt)
| Пример 6.5.
| Определить количество сделок. |
| |
(html, txt)
| Пример 6.6.
| Определение суммарного количества проданного товара. |
| |
(html, txt)
| Пример 6.7.
| Определение средней цены проданного товара. |
| |
(html, txt)
| Пример 6.8.
| Подсчет общей стоимости проданных товаров. |
| |
(html, txt)
| Пример 6.9.
| Вычисление среднего объема покупок, совершенных каждым покупателем. |
| |
(html, txt)
| Пример 6.10.
| Определение, на какую сумму был продан товар каждого наименования. |
| |
(html, txt)
| Пример 6.11.
| Подсчет количества сделок, осуществленных каждой фирмой. |
| |
(html, txt)
| Пример 6.12.
| Подсчет общего количества купленного для каждой фирмы товара и его стоимости. |
| |
(html, txt)
| Пример 6.13.
| Определение суммарной стоимости каждого товара за каждый месяц. |
| |
(html, txt)
| Пример 6.14.
| Определение суммарной стоимости каждого товара первого сорта за каждый месяц. |
| |
(html, txt)
| Пример 6.15.
| Определение фирм, у которых общее количество сделок превысило три. |
| |
(html, txt)
| Пример 6.16.
| Вывод списка товаров, проданных на сумму более 10000 руб. |
| |
(html, txt)
| Пример 6.17.
| Вывод списка товаров, проданных на сумму более 10000 без указания суммы. |
 |
|
 |
| Лекция 7. Построение нетривиальных запросов |
 |
| |
(html, txt)
| Пример 7.1.
| Определение даты продажи максимальной партии товара. |
| |
(html, txt)
| Пример 7.2.
| Определение даты сделок, превысивших по количеству товара среднее значение и указать для этих сделок превышение над средним уровнем. |
| |
(html, txt)
| Пример 7.3.
| Определение клиентов, совершивших сделки с максимальным количеством товара. |
| |
(html, txt)
| Пример 7.4.
| Определение клиентов, в сделках которых количество товара отличается от максимального не более чем на 10%. |
| |
(html, txt)
| Пример 7.5.
| Определение даты, когда среднее количество проданного за день товара оказалось больше 20 единиц. |
| |
(html, txt)
| Пример 7.6.
| Определение даты, когда среднее количество проданного за день товара оказалось больше среднего показателя по всем сделкам вообще. |
| |
(html, txt)
| Пример 7.7.
| Определение списка товаров, которые имеются на складе. |
| |
(html, txt)
| Пример 7.8.
| Определение списка отсутствующих на складе товаров. |
| |
(html, txt)
| Пример 7.9.
| Определение товаров, которые покупают клиенты из Москвы. |
| |
(html, txt)
| Пример 7.10.
| Определение товаров, покупку которых осуществляют только клиенты из Москвы, и никто другой. |
| |
(html, txt)
| Пример 7.11.
| Определение товаров, которые ни разу не купили московские клиенты? |
| |
(html, txt)
| Пример 7.12.
| Определение фирм, покупающих товары местного производства. |
| |
(html, txt)
| Пример 7.13.
| Определение фирм, которые покупают только товары, произведенные в своем городе, и никакие другие. |
| |
(html, txt)
| Пример 7.14.
| Определение клиентов, совершивших сделки с максимальным количеством товара. |
| |
(html, txt)
| Пример 7.15.
| Определение фирмы, купившей товаров на сумму, превышающую 10000 руб. |
| |
(html, txt)
| Пример 7.16.
| Определение фирмы, которая приобрела товаров на самую большую сумму. |
| |
(html, txt)
| Пример 7.17.
| Определение фирм, в сделках которых количество товара превышает такой же показатель хотя бы в одной сделке клиентов из Самары. |
| |
(html, txt)
| Пример 7.18.
| Определение списка имеющихся на складе товаров. |
| |
(html, txt)
| Пример 7.19.
| Определение списка отсутствующих на складе товаров. |
 |
|
 |
| Лекция 8. Запросы модификации данных |
 |
| |
(html, txt)
| Пример 8.1.
| Добавление в таблицу ТОВАР новой записи. |
| |
(html, txt)
| Пример 8.2.
| Добавление в итоговую таблицу сведения об общей сумме ежемесячных продаж каждого наименования товара. |
| |
(html, txt)
| Пример 8.3.
| Удаление всех прошлогодних сделок. |
| |
(html, txt)
| Пример 8.4.
| Обновление выбранных записей. |
| |
(html, txt)
| Пример 8.5.
| Обновление выбранных записей. |
| |
(html, txt)
| Пример 8.6.
| Обновление выбранных записей. |
 |
|
 |
| Лекция 9. Определение ограничений целостности |
 |
| |
(html, txt)
| Пример 9.1.
| Создание родительской таблицы Товар с ограничениями. |
| |
(html, txt)
| Пример 9.2.
| Создание родительской таблицы Клиент с ограничениями. |
| |
(html, txt)
| Пример 9.3.
| Создание дочерней таблицы Сделка с ограничениями. |
| |
(html, txt)
| Пример 9.4.
| Создание таблицы Склад. |
| |
(html, txt)
| Пример 9.5.
| Удаление ограничения внешнего ключа. |
| |
(html, txt)
| Пример 9.6.
| Добавление ограничения внешнего ключа, реализующего декларативную ссылочную целостность. |
| |
(html, txt)
| Пример 9.7.
| Добавления ограничения внешнего ключа, реализующего каскадные обновления и изменения. |
| |
(html, txt)
| Пример 9.8.
| Пример создания и удаления вычисляемого поля. |
| |
(html, txt)
| Пример 9.9.
| Поле КодТовара необходимо сделать первичным ключом. |
| |
(html, txt)
| Пример 9.10.
| Удаление столбца целого типа и добавление столбца-счетчика. |
| |
(html, txt)
| Пример 9.11.
| Добавление ограничений первичного ключа. |
| |
(html, txt)
| Пример 9.12.
| Добавление ограничения NOT NULL. |
| |
(html, txt)
| Пример 9.13.
| Добавление ограничения уникальности значения. |
| |
(html, txt)
| Пример 9.14.
| Создание и добавление умолчания столбцу. |
| |
(html, txt)
| Пример 9.15.
| Создание и добавление правила столбцу. |
 |
|
 |
| Лекция 10. Представления |
 |
| |
(html, txt)
| Пример 10.1.
| Представление клиентов из Москвы. |
| |
(html, txt)
| Пример 10.2.
| Создание представления с проверкой команд модификации. |
| |
(html, txt)
| Пример 10.3.
| Немодифицируемое представление с данными из разных таблиц. |
| |
(html, txt)
| Пример 10.4.
| Немодифицируемое представление с группировкой и итоговыми функциями. |
| |
(html, txt)
| Пример 10.5.
| Модифицируемое представление с вычислениями. |
 |
|
 |
| Лекция 11. Функции пользователя |
 |
| |
(html, txt)
| Пример 11.1.
| Создание функции скалярного типа для вычисления суммарного количества товара, поступившего за определенную дату. |
| |
(html, txt)
| Пример 11.2.
| Создание функции табличного типа для определения двух наименований товара с наибольшим остатком. |
| |
(html, txt)
| Пример 11.3.
| Создание функции, которая для некоторого сотрудника выводит список всех его подчиненных. |
| |
(html, txt)
| Пример 11.4.
| Использование функции округления до одного знака после запятой для расчета налога. |
| |
(html, txt)
| Пример 11.5.
| Использование функции LEFT для получения инициалов клиентов. |
| |
(html, txt)
| Пример 11.6.
| Использование функций YEAR и MONTH для определения общего количества товара, проданного за каждый месяц каждого года. |
| |
(html, txt)
| Пример 11.7.
| Пример выделения из даты значения года. |
 |
|
 |
| Лекция 12. Хранимые процедуры |
 |
| |
(html, txt)
| Пример 12.1.
| Процедура для получения названий и стоимости товаров, приобретенных Ивановым. |
| |
(html, txt)
| Пример 12.2.
| Процедура для уменьшения цены товара первого сорта на 10%. |
| |
(html, txt)
| Пример 12.3.
| Процедура для получения названий и стоимости товаров, которые приобрел заданный клиент. |
| |
(html, txt)
| Пример 12.4.
| Процедура для уменьшения цены товара заданного типа в соответствии с указанным %. |
| |
(html, txt)
| Пример 12.5.
| Процедура с входными параметрами и значениями по умолчанию. Создать процедуру для уменьшения цены товара заданного типа в соответствии с указанным %. |
| |
(html, txt)
| Пример 12.6.
| Процедура с входными и выходными параметрами. Создать процедуру для определения общей стоимости товаров, проданных за конкретный месяц. |
| |
(html, txt)
| Пример 12.7.
| Создание процедуры для определения общего количества товаров, приобретенных фирмой, в которой работает заданный сотрудник. |
 |
|
 |
| Лекция 13. Курсоры: принципы работы |
 |
| |
(html, txt)
| Пример 13.1.
| Объявление курсора. |
| |
(html, txt)
| Пример 13.2.
| Использование переменной для объявления курсора. |
| |
(html, txt)
| Пример 13.3.
| Объявление и открытие курсора. |
| |
(html, txt)
| Пример 13.4.
| Использование переменной для переприсваивания курсора. |
| |
(html, txt)
| Пример 13.5.
| Курсор для вывода списка фирм и клиентов из Москвы. |
| |
(html, txt)
| Пример 13.6.
| Курсор для вывода списка приобретенных клиентами из Москвы товаров и их общей стоимости. |
| |
(html, txt)
| Пример 13.7.
| Прокручиваемый курсор для клиентов из Москвы. |
| |
(html, txt)
| Пример 13.8.
| Использование курсора как выходного параметра процедуры. |
 |
|
 |
| Лекция 14. Триггеры: создание и применение |
 |
| |
(html, txt)
| Пример 14.1.
| Использование триггера для реализации ограничений на значение. |
| |
(html, txt)
| Пример 14.2.
| Использования триггера для сбора статистических данных. |
| |
(html, txt)
| Пример 14.3.
| Триггер для обработки операции удаления записи из таблицы |
| |
(html, txt)
| Пример 14.4.
| триггер для обработки операции изменения записи в таблице |
| |
(html, txt)
| Пример 14.5.
| Исправленный вариант триггера для обработки операции изменения записи в таблице |
| |
(html, txt)
| Пример 14.6.
| Триггер, позволяющий отменять изменение только некоторых записей и выполнять изменение остальных. |
 |
|
 |
| Лекция 15. Триггеры в рекурсивных структурах |
 |
| |
(html, txt)
| Пример 15.1.
| Триггер для добавления записи в таблицу. |
| |
(html, txt)
| Пример 15.2.
| Триггер для изменения записи в таблице. |
| |
(html, txt)
| Пример 15.3.
| Триггер для удаления записи из таблицы. |
 |
|
 |
| Лекция 16. Транзакции и блокировки |
 |
| |
(html, txt)
| Пример 16.1.
| Использование точек сохранения |
| |
(html, txt)
| Пример 16.2.
| Вложенные транзакции. |
 |
|
 |
| Лекция 17. Основные методы защиты данных. Управление пользователями |
 |
| |
(html, txt)
| Пример 17.1.
| Создание новой базы данных, нового пользователя для этой базы данных, с предоставлением ему всех прав. |
 |
|
 |
| Лекция 18. Внедрение SQL-операторов в прикладные программы |
 |
| |
(html, txt)
| Пример 18.1.
| Выполнение статического SQL-запроса к учебной базе данных из Java-программы. |
| |
(html, txt)
| Пример 18.2.
| Выполнение динамического SQL-запроса к учебной базе данных из Java-программы. |
| |
(html, txt)
| Пример 18.3.
| Выполнение статического SQL-запроса к учебной базе данных из VBScript-сценария. |
| |
(html, txt)
| Пример 18.4.
| Выполнение динамического SQL-запроса к учебной базе данных из VBScript-сценария. |