- •Лабораторная работа 1
- •Лабораторная работа №2 Создание базы данных
- •Работа в среде Microsoft sql server 2008
- •Создание базы данных
- •Создание таблиц, входящих в бд. Задание для их атрибутов типов данных и ограничений целостности, соответствующих смыслу таблиц.
- •Присвоение имен ограничениям
- •Проверка ограничивающих условий с использованием составных полей
- •Values (111,'Петров','Александр', ‘Иванович’, ‘1994-05-05’, 23, 3,5);
- •Values (101, 'Иванов', null, 200, 3, 'Москва','6/10/1979', 15);
- •3. Модификация структуры таблицы (добавление и удаление нового столбца, добавление ограничений, изменение типа данных, ограничений целостности)
- •Лабораторная работа №3 Команды манипулирования данными
- •Values (111, 'Иванов', ‘Александр’);
- •Лабораторная работа №4 Проектирование запросов
- •Лабораторная работа №5 Создание запросов
- •Проектирование представлений, хранимых процедур, триггеров
- •Проектирование представлений
- •Примеры триггеров
- •Лабораторная работа №7 Представления
- •Обновление данных в представлениях
- •Тип, Цена, Цена*0.05 from Товар Модифицирование представлений
- •Операции модификации в представлениях, маскирующих строки и столбцы
- •Агрегированные представления
- •Представления, основанные на нескольких таблицах
- •Лабораторная работа №8 Разработка хранимых процедур Хранимые процедуры
- •Создание, изменение и удаление хранимых процедур
- •Drop procedure {имя_процедуры} [,...N]; Выполнение хранимой процедуры
- •Лабораторная работа №9 Создание триггеров
- •Компоненты триггера
- •Типы триггеров
- •Создание триггеров
- •Преимущества использования триггеров:
- •Программирование триггеров
- •Примеры использования триггеров
- •Insert into Students (fio, Nomer_zachetki, id_Group, Stipendiya) values ('Ильин с.В.', '08вп131', 2, 1250);
- •17.6. Использование хранимых процедур в триггерах
- •Insert into Students (fio, Nomer_zachetki, id_Group, Stipendiya) values ('Макарь в.А.', '06вп118', 4, 1200);
Лабораторная работа №5 Создание запросов
Все запросы на получение любого количества данных из одной или нескольких таблиц выполняются с помощью предложения SELECT. В общем случае результатом реализации предложения SELECT является другая таблица. К этой новой (рабочей) таблице может быть снова применена операция SELECT и т.д., т.е. такие операции могут быть вложены друг в друга. Именно возможность включения одного предложения SELECT внутрь другого послужила мотивировкой использования прилагательного «структурированный» в названии языка SQL.
Теоретический материал по созданию запросов приведен в [1].
Задание
Реализовать запросы, спроектированные в лабораторной работе №1, на языке Transact-SQL.
Лабораторная работа № 6
Проектирование представлений, хранимых процедур, триггеров
Проектирование представлений
Задание
Создать необновляемое представление и обновляемое представление для определенных категорий пользователей.
Привести примеры команд, подтверждающих, что данное представление является необновляемым / обновляемым.
Создать агрегирующее представление.
Создать представление, основанное на нескольких таблицах.
Проектирование хранимых процедур
Задание
Разработать процедуры, в которых предусмотрены операции добавления, удаления, изменения данных, а также какие-либо вычисления.
Проектирование триггеров
Задание.
Создать триггеры, срабатывающие при добавлении, удалении, обновлении данных. Ниже приведены примеры триггеров для различных предметных областей.
Примеры триггеров
Предметная область: Библиотека
Триггер: при удалении читателя, на руках у которого имеются книги, уменьшить количество экземпляров этих книг.
Предметная область: Оптовая база
Триггер: при удалении поставщика удаляются товары, поставлявшиеся только этим поставщиком.
Предметная область: Производство
Триггер: при удалении изделия материал, используемый только в этом изделии, помечается как неиспользуемый.
Предметная область: Автомастерская
Триггер: при досрочном завершении ремонта премия автомеханика увеличивается на 1 % стоимости ремонта за каждый выигранный день.
Предметная область: Сессия
Триггер: общий объем часов для группы вычисляется вновь при изменении объема часов дисциплины или при переназначении дисциплины на сессию.
Предметная область: Поликлиника
Триггер: больной-пенсионер направляется к врачу не ниже 2-й категории.
Предметная область: Телефонизация
Триггер: контроль не может быть более 2 сблокированных телефонов.
Предметная область: Спорт
Триггер: исправление мирового рекорда при появлении соответствующего результата.
Предметная область: Сельскохозяйственные поставки
Триггер: при удалении предприятия, являющегося единственным поставщиком какой-то продукции, удаляется и эта продукция.
Предметная область: Городской транспорт
Триггер: количество машин в парке не может превышать сумму количеств машин на маршрутах.
Предметная область: Аэропорт
Триггер: количество проданных билетов не должно превышать числа мест на рейсе.
Предметная область: Деканат
Триггер: количество студентов, зачисленных на I курс, не может превышать число мест на факультете.
Предметная область: Автотранспортное предприятие
Триггер: при зачислении контролируется превышение числа штатных единиц и фонда зарплаты.
Предметная область: Театр
Триггер: если при назначении актера на роль оказывается, что роль уже «занята», в старом назначении делается отметка о снятии.
Предметная область: Справочная аптек
Триггер: при изменении количества медикаментов запись удаляется, если количество становится 0.
Предметная область: Отдел кадров
Триггер: при зачислении контролируется превышение числа штатных единиц и фонда зарплаты.
