Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СБД_Курсач_отчёт.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
171.52 Кб
Скачать

Федеральное агентство связи

Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования

«Сибирский государственный университет телекоммуникаций и информатики»

Факультет информатики и вычислительной техники

Кафедра ПМиК

Курсовой проект

по дисциплине «Сетевые базы данных»

Вариант 17

Выполнил:

студент группы П-93

Чудотворов А.А.

Проверил:

доцент кафедры ПМиК Грязнов Н. Г.

Новосибирск

2013

Оглавление

ЗАДАНИЕ НА КУРСОВОЕ ПРОЕКТИРОВАНИЕ 3

Создание таблиц 4

Создание триггера 7

Создание представления 7

Пакет №2 8

Привилегии 9

Результаты запросов и выполнения процедур 10

Задание на курсовое проектирование

Создать две таблицы, каждая из которых должна иметь первичный ключ и, по крайней мере, один столбец с ограничением NOT NULL. Таблицы должны быть связаны внешним ключом; тип связи - "один-ко-многим". Создать пакет, содержащий процедуру начального заполнения таблиц данными (по 7-10 записей в таблице) и процедуру

очистки таблиц (удаления записей).

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

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

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

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

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

17. Чудотворов а.А.

Требуется обрабатывать данные об Издательствах и Спонсорах.

Одно издательство может иметь несколько спонсоров.

Процедура должна вводить нового спонсора. Триггер

должен регистрировать ввод, указывая идентификатор спонсора,

пользователя и время ввода.

Включить в пакет еще одну процедуру, которая выбирает из БД

издательства с максимальным и минимальным числом спонсоров.

Выборку данных производить в коллекцию, которую передать как

параметр в другую процедуру для вывода данных на экран.

Создание таблиц

Скрипт createtables.sql

Таблица Издательство

-- создание таблицы издательств Publisher

create table Publisher

(pnum number(4),

pname VARCHAR2(20) NOT NULL);

-- определение первичного ключа таблицы publisher

ALTER TABLE Publisher

ADD(CONSTRAINT pub_pk_pnum PRIMARY KEY(pnum));

Таблица Спонсоры

-- создание таблицы спонсоров Sponsor

create table Sponsor

(snum NUMBER(4),

pnum NUMBER(4),

sname VARCHAR2(20) NOT NULL);

-- определение первичного и внешнего ключей таблицы Sponsor

ALTER TABLE Sponsor

ADD(CONSTRAINT sp_pk_snum PRIMARY KEY(snum),

CONSTRAINT sp_fk_pnum FOREIGN KEY(pnum)

REFERENCES Publisher(pnum));

Связь между таблицами - «один ко многим», так как каждое издательство может иметь несколько спосноров.