Сетевые базы данных

Контрольная работа | назад

ЗАДАНИЕ НА Контрольную Работу

1. Рекомендации по выполнению контрольной работы

Прежде, чем приступать к выполнению контрольной работы, необходимо выполнить все лабораторные работы данного курса.

Контрольная работа состоит из задания, которое выбирается согласно своему варианту. Если работа выполнена в соответствии с заданием, в ней нет грубых ошибок, то вы получаете положительную оценку по контрольной работе. В противном случае работа отправляется вам на доработку.

!!! Номер варианта контрольной работы определяется по последней цифре пароля

Работу следует выполнять в среде программирования Oracle 10g XE или более высокой версии XE.

2. Требования к оформлению работы

Необходимо представить следующее:

1. Текст задания ( с подставленными данными своего варианта);

2. Текст программы (текстовый файл или файл с расширением .sql) ;

3. Результат работы программы (т.е. все данные, которые выводятся на экран, – текстовый файл или файл, содержащий скрин-шоты панели вывода среды разработки Oracle XE).

3. Критерии оценки контрольной работы

Оценка "отлично" выставляется, если: созданы все объекты, указанные в задании; созданные объекты отвечают указанным требованиям полноты и функциональности; при обработке данных максимально используются возможности, предоставляемые языками программирования SQL и PL/SQL.

Оценка «хорошо» выставляется, если: созданы все объекты, указанные в задании; не более, чем два объекта имеют несущественные отклонения от указанных требований, не влияющие на результирующую функциональность; программные процедуры дают правильный результат, но обработка данных выполняется нерационально, не используя возможности языков SQL и PL/SQL.

Оценка «удовлетворительно» выставляется, если: созданы не все объекты, указанные в задании, но остается возможность хранить и обрабатывать данные в соответствии с правилами предметной области; не более, чем две программные процедуры не отвечают требованиям функциональности.

Оценка «неудовлетворительно» выставляется, если имеет место одно из следующих: созданные объекты не обеспечивают хранение и обработку данных в соответствии с правилами предметной области; более, чем две программные процедуры не отвечают требованиям функциональности.

4. Общая часть задания

Создать две таблицы, имеющие уникальные поля и первичные ключи. Таблицы должны быть связаны с помощью внешнего ключа.

Для одной из таблиц разработать триггер для обеспечения дополнительных действий при изменение данных таблицы (см. свой вариант задания).

Создать представление для связанных таблиц, которое позволяет вывести только часть полей и часть строк таблиц.

Создать пакет PL/SQL, содержащий процедуру начального заполнения таблиц данными (по 5-7 записей в таблице) и процедуру очистки таблиц (удаления записей).

Добавить в пакет процедуру (см. свой вариант задания) изменения данных в таблицах. Значения изменяемых данных должны передаваться в процедуру как параметры.

В процедурах предусмотреть обработку исключений.

Обеспечить подтверждение транзакций при их успешном выполнении и откат - в случае возникновения исключительной ситуации.

5. Варианты задания на выполнение контрольной работы

> 0. В таблицах должны содержаться данные о Строительных компаниях и Газопроводах. Одна компания может строить несколько газопроводов. Компании должны иметь номер, наименование и страну размещения. Газопроводы должны иметь номер, наименование и стоимость строительства. Процедура должна увеличить стоимость строительства газопроводов для двух компании с наименьшими стоимостями своих строительных работ; процент увеличения задать в параметре процедуры. Триггер должен запрещать изменения 13-го числа. Включить в пакет еще одну процедуру, которая, используя представление, выводит компании и количества и суммарные стоимости их газопроводов.
> 1. В таблицах должны находиться данные о Компьютерных фирмах и Типах компьютеров. Компьютеры каждого типа можно приобрести в нескольких фирмах. Фирмы должны иметь номер, название и город размещения. Компьютеры должны иметь номер, тип и рабочую частоту. Процедура должна удалить компьютер с самой низкой частотой и все фирмы, в которых продавался этот компьютер. Триггер должен разрешать удаление только собственнику таблицы. Включить в пакет еще одну процедуру, которая выводит компьютеры и количества фирм, продающих компьютеры этого типа; выводиться должны компьютеры, для которых количество фирм более заданного в параметре.
> 2. Внести в таблицы данные о Морских круизах и Страховых компаниях. Страховая компания может обслуживать несколько круизов. Круизы должны иметь номер, порт отправления и сумму страховки. Компании должны иметь номер, наименование и страну размещения. Процедура должна удалить круизы для компании с максимальным четным номером. Триггер должен регистрировать удаление с указанием пользователя, даты и времени операции. Включить в пакет еще одну процедуру, которая выводит компании, количества обслуживаемых круизов и средние суммы их страховки, кроме компании, указанной в параметре.
> 3. Занести в таблицы данные о Научных конференциях и Организаторах. Каждая конференция может иметь несколько организаторов. Конференции должны иметь номер, наименование и число участников. Организаторы должны иметь номер, наименование и бюджеты финансирования. Процедура должна изменять первичный ключ конференции, при этом ее организаторы не должны потеряться. Триггер должен регистрировать изменение с указанием пользователя, даты и времени операции, если значение ключа увеличивается. Включить в пакет еще одну процедуру, которая, используя представление, выводит конференции и количества их организаторов; в вывод должны попадать конференции с количеством организаторов, не менее, чем задано в параметре.
> 4. Требуется обрабатывать данные о Телефонных компаниях и Услугах связи. Компания предоставляет несколько видов услуг. Компании должны иметь номер, наименование и количество абонентов. Услуги должны иметь номер, наименование и тариф. Процедура должна добавлять новую компанию и ее услугу; данные о компании и услуге должны быть переданы в параметрах процедуры. Триггер должен разрешать добавление, если число компаний на момент добавления не превышает семи. Включить в пакет еще одну процедуру, которая выводит компании, количества и средние тарифы предоставляемых услуг; выводиться должны компании, для которых средние тарифы попадают в диапазон, заданный в параметрах.
> 5. Поместить в таблицы информацию о Теннисных турнирах и Теннисистах. В каждом турнире принимает участие не менее четырех теннисистов. Турниры должны иметь номер, наименование и страну проведения. Теннисисты должны иметь номер, имя и страну, за которую он выступает. Процедура должна удалить турниры с количеством участников, менее заданного в параметре. Триггер должен запрещать удаление после 25-го числа. Включить в пакет еще одну процедуру, которая, используя представление, выводит турниры и имена их участников; в вывод должны попадать турниры с количеством участников, заданном в параметре.
> 6. Таблицы должны содержать данные об Издательствах и их Спонсорах, причем каждый спонсор может финансировать несколько издательств. Издательства должны иметь номер, наименование и сумму спонсорской помощи. Спонсоры должны иметь номер, наименование и страну пребывания. Процедура должна изменять спонсорскую помощь тем издательствам, чей спонсор размещается в указанной стране; страну и сумму изменения задать в параметре процедуры. Триггер должен регистрировать изменение с указанием пользователя, даты и времени операции, если сумма помощи увеличивается. Включить в пакет еще одну процедуру, которая выводит N самых щедрых спонсоров; N должно передаваться как параметр процедуры. Выводиться должны спонсоры и их суммарная спонсорская помощь.
> 7. Занести в таблицы данные о Кинофильмах и Киностудиях. Каждая киностудия может снимать несколько фильмов. Кинофильмы должны иметь номер, наименование и бюджет. Киностудии должны иметь номер, наименование и страну пребывания. Процедура должна добавлять новую киностудию и ее фильм без указания бюджета; данные о киностудии и фильме должны быть переданы в параметрах процедуры. Триггер должен регистрировать добавление с указанием пользователя, даты и времени операции. Включить в пакет еще одну процедуру, которая, используя представление, выводит киностудии и снимающиеся на них фильмы. Для каждой студии должны выводиться только фильмы с минимальным и максимальным бюджетами.
> 8. Поместить в таблицы информацию о Клубах кинологов и Породах собак. Собаку любой породы можно приобрести в нескольких клубах. Клубы должны иметь номер, наименование и диапазон цен продажи щенков. Породы должны иметь номер, наименование и тип. Процедура должна удалять породы, которые продаются в наименьшем числе клубов. Триггер должен разрешать удаление, если количество пород в таблице не менее пяти. Включить в пакет еще одну процедуру, которая выводит количество клубов, где можно приобрести собаку указанной породы, и название клуба, в котором нижняя граница цены минимальна.
> 9. Поместить в таблицы информацию об Автомобильных фирмах и Странах. Каждая фирма может иметь офисы в нескольких странах. Фирмы должны иметь номер, наименование и страну принадлежности. Страны должны иметь номер, наименование и число выпускаемых автомобилей. Процедура должна изменять число выпускаемых в каждой стране автомобилей для фирмы с максимальным номером, кратным трем; величину изменения передавать в параметре процедуры. Триггер должен разрешать изменение только собственнику таблицы. Включить в пакет еще одну процедуру, которая выводит суммарное количество выпускаемых автомобилей заданная в параметре фирма, а также страны, где она имеет свои офисы.

наверх

назад