
Задания на л. Р.
Спроектировать БД, создать ее, создать скрипты для всех объектов БД.
Продемонстрировать в БД все известные ограничения (DEFAULT, CHECK, PRIMARY KEY, UNUIQUE, FOREIGN KEY) и их работу
Продемонстрировать наличие индексов (sp_helpindex) (создать при необходимости)
Создать несколько проекций (VIEW): по одной таблице, по нескольким таблицам, используя GROUP BY и HAVING, продемонстрировать их текст (sp_helptext) и зависимости (sp_depends), изменить данные через проекции, если возможно или продемонстрировать что невозможно (на основе проекций удобно делать отчеты)
Придумать случай, в котором необходимо использовать курсор, написать хранимую процедуру, выполняющую некие действия, используя курсор
Создать триггры выполняющие каскадные изменения данных в связанных таблицах, либо поддерживающие денормализованные данные
Создать две роли БД, предоставить им доступ к разным частям БД, создать две учетные записи (login), предоставить им доступ к БД включив соответствующих им пользователей БД (user name) в разные роли, продемонстрировать различия в правах
Содержимое отчета
Титульный лист
ОПИСАНИЕ СТРУКТУРЫ БД (нарисовать БД в EM, и привести тексты скриптов)
ОПИСАНИЕ ХРАНИМЫХ ПРОЦЕДУР
ОПИСАНИЕ ТРИГГЕРОВ
КОНТРОЛЬНЫЙ ПРИМЕР
Номер выбирается согласно порядкового номера в списке. Особо одаренные могут предложить свое задание, в котором будет все перечисленное выше. Текст заданий:
1. Больница
Таблицы:
- больницы (_код больницы_, наименование, ИНН, адрес, ...)
- отделения (_код больницы_, _код отделения_, наименование отделения, зав. отделением, ...)
- врачи (_код больницы_, _код отделения_, _ИНН врача_, Ф.И.О., код должности, ...)
- должности (_код должности_, наименование должности, ...)
- диагнозы (_код диагноза_, наименование, методика лечения, ...)
- пациенты (код больницы, код отделения, код врача, код диагноза, дата госпитализации пациента, дата выписка, дата установления диагноза, ФИО пациента, ИНН пациента, состояние при выписке, ...)
Отчеты:
- Для каждого врача список пациентов на дату с ... по ...
- Список незанятых врачей на заданную дату
- и т.п.
2. Гостиница
Таблицы:
- гостиницы (_код гостиницы_, наименование, ИНН, директор, владелец, адрес, ...)
- персонал (_код гостиницы_, _ИНН человека_, ФИО, код должности,...)
- должности (код должности, наименование должности, ...)
- номера (_номер_, описание номера, кол-во мест, стоимость в сутки, признак: ремонт/работает, ...)
- посетители (номер, дата заезда, дата отъезда, аванс, данные о посетителе, ...)
- бронь (номер, дата прибытия, данные о посетителе)
Отчеты:
- перечень свободных номеров на заданную дату
- количество свободных номеров/занятых номеров на заданную дату
- количество посетителей в срок с ... по ...
и т.п.
3. Аэропорт
Таблицы:
- аэропорты (_код аэропорта_, наименование, ИНН, адрес, ...)
- самолеты (_код аэропорта_, _код самолета_, наименование, ...)
- персонал (_код аэропорта_, _ИНН человека_, ФИО, код должности, код экипажа, код службы)
- должности (_код должности_, наименование, ...)
- маршруты (_код маршрута_, код аэропорта начального, код аэропорта конечного, кол-во часов полета, код аэропорта к которому прикреплен самолет, код самолета, время вылета, ...)
- экипажи (_код экипажа_, название, ...)
- службы (_код службы_, название, ...)
- транзитные маршруты (код маршрута, номер стоянки, код аэропорта стоянки, время прибытия, ...)
Отчеты:
- по конечному пункту назначения выдать список возможных маршрутов
- список ближайших рейсов
и т.п.