Ответы на экзаменационные вопросы № 1-25 по дисциплине "Информационные системы" (Недостаточность файловых систем для инф.технологий. Представления реляционных баз данных), страница 32

Использ-ие операторов условия в хр. процед.

-CREATE PROCEDURE STIP_IND @K_SNUM INT, @K_PNUM INT, @K_STIP DECIMAL (5,2) AS IF EXISTS (SELECT SNUM,PNUM FROM USP WHERE SNUM=@k_snum AND pnum=@k_pnum) UPDATE STUDENTS SET STIP=@K_stip WHERE SNUM=@K_SNUM

-EXEC STIP_IND 3412, 2005/2;

-EXEC STIP_IND 3412, 2001/2;

Использ-ие локальных переменных в хр. процед. 

Лок-ые перем-ые описываются в теле процедуры после слова DECLARE, правила описания перем. аналогичны.

CREATE PROCEDURE IZM AS

DECLARE @K_SNUM INT 

SELECT @K_SNUM=MAX(SNUM)FROM STUDENTS INSERT INTO STUDENTS (SNUM)VALUES (@K_SNUM+1);

Занесение инф-ии в новую таблицу по рез-ам запроса

Процедура м. содержать команду INSERT для заполнения новой таблицы, например EX_PR(с полями SFAM,STIP,OCENKA,PNAM), а также саму программу создания таблицы CREATE.

CREATE PROCEDURE STUD_MIN AS INSERT INTO EX+PR SELECT STUDENTS.SFAM,STUDENTS.STIP,USP.OCENKA, PREDMET.PNAM FROM STUDENTS,USP,PREDMET WHERE STUDENTS.SNUM=USP.SNUM AND USP.OCENKA=3 AND USP.PNUM=PREDMET.PNUM

Преимущества использования хранимых процедур

1.Хран. проц. создают пользователи, имеющие наивысший уровень доступа к данным.

2.Одно и тоже действие м.б. разделено между несколькими пользователями БД независимо от исполняемого приложения, что повышает надежность системы.

3.Снижается время разработки системы т.к. нет необх-ти копировать ф-ии хранимых процедур на клиенте.

4.Снижается сетевой трафик обмена данными.

25.Представления реляционных баз данных.

Представление – хранимые запросы к БД,имеют вид обычной таблицы и ведут себя как таблицы. Гл. отличие не содержат физич. данных. Таблицы, на основе кот. строятся представления назыв-ся базовыми. Представления использ-ся:

-для объедиения для объединения данных, хранящихся в нескольких таблицах с целью их представления в удобном для польз-ля виде

-для разграничения доступа в инф-ии, т.к. с помощью представления м. разрешить доступ только к части данных, хранящихся в БД.

Создание представлений:

CREATE VIEW <ИМЯ ПРЕДСТАВЛЕНИЯ>AS <ЗАПРОС>[WITH CHECK OPTION];

ПР:CREATE VIEW NOWS AS SELECT*FROM STUDENTS WHERE STIP=57.50;

CREATE VIEW NO_STIP AS SELECT SNUM,SFAM, SNAM FROM STUDENTS; SELECT*FROM NO_STIP;

Изменение представлений:

UPDATE <ИМЯ ПРЕДСТАВЛЕНИЯ>SET<ВЫРАЖ-ИЕ>;

Удаление представлений:

DROP VIEW<ИМЯ ПРЕДС-ИЯ>

Опция WITH CHECK OPTION примен-ся тогда, когда необх-мо гарантировать что все применяемые опции (UPDATE,INSERT,DELETED) удовлетворяют указанным представл. услов. иначе оператор возвратит ошибку.

CREATE VIEW NOWS AS SELECT*FROM STUDENTS WHERE STIP=57.50 WITH CHECK OPTION

Для того, чтобы представление м.б. изменить необходимо:

1.в представ-ии не д. присутствовать предикат DISTING

2.представл-ие д.б. создано на основе только одной таблицы

3.предст-ие не д. содержать GROUP BY

4.-//-подзапросов

5.-//-//-//-агрегатных и итоговых ф-ий

Опция WITH CHECK OPTION примен-ся тогда, когда необх-мо гарантировать что все применяемые опции (UPDATE,INSERT,DELETED) удовлетворяют указанным представл. услов. иначе оператор возвратит ошибку.

CREATE VIEW NOWS AS SELECT*FROM STUDENTS WHERE STIP=57.50 WITH CHECK OPTION

Для того, чтобы представление м.б. изменить необходимо:

1.в представ-ии не д. присутствовать предикат DISTING

2.представл-ие д.б. создано на основе только одной таблицы

3.предст-ие не д. содержать GROUP BY

4.-//-подзапросов

5.-//-//-//-агрегатных и итоговых ф-ий