Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лаба10БД

.doc
Скачиваний:
30
Добавлен:
15.04.2015
Размер:
36.86 Кб
Скачать

Министерство образования и науки РФ

РГРТУ

Кафедра ЭВМ

Отчет

по лабораторной работе №10

«Создание правил, умолчаний, представлений»

Выполнили:      

Ст.гр. №048 (бр. 6)

Перунова Е.

Шумилова А.

Проверил:     

Громов А.Ю.

Рязань, 2012

1. Изучение оператора CREATE RULE для создания правил, использование системной хранимой процедуры sp_bindrule для связывания правила с объектами БД.

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

CREATE RULE r1

AS @m LIKE '[А-Я,а-я]%'

1.2. Связать правило со столбцом Фамилия абонента и со столбцом Автор книги.

EXEC sp_bindrule 'r1','Абоненты.Фамилия'

EXEC sp_bindrule 'r1','Книги.Автор'

2. Изучение оператора CREATE DEFAULT для создания умолчаний,

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

связывания умолчания с объектами БД.

2.1. Создать умолчание 1.

CREATE DEFAULT d1 AS 1

2.2. Связать умолчание со столбцом Количество экземпляров книги.

EXEC sp_bindefault 'd1','Книги.КолЭкз'

3. Изучение оператора CREATE VIEW для создания представлений, выполнение запросов к представлениям.

3.1Создать представление с информацией о выдаче книг на руки. Представление должно включать столбцы Фамилия абонента, Название книги, Дата выдачи, Срок возврата, Размер штрафа за утерю книги.

CREATE VIEW v1 AS

SELECT Абоненты.Фамилия, Книги.Название, ВыдачаКниг. ДатаВыдачи,

ВыдачаКниг.СрокВозврата, ВыдачаКниг.Штраф

FROM Абоненты, ВыдачаКниг, Книги

WHERE Абоненты.ЧитБилет = ВыдачаКниг.Абонент and ВыдачаКниг.Книга = Книги.Шифр

3.2 Выполнить запрос, который на основе созданного в п.3.1 представления для каждого абонента выводит фамилию абонента и общее количество выданных ему книг.

SELECT Фамилия, count(Название) As КолКниг

FROM v1

GROUP BY Фамилия

4. Создание представлений с ограничением WITH CHECK OPTION. Модификация базовых таблиц через представление.

4.1 Создать представление с информацией о книгах, количество экземпляров которых менее 10 штук.

CREATE VIEW v2 AS

SELECT *

FROM Книги

WHERE КолЭкз<10

WITH CHECK OPTION

4.2. Разработать запросы для добавления, удаления и обновления одной записи о книге на основе созданного в п. 4.1 представления.

1)Добавление:

INSERT v2 VALUES(11, 'Гоголь', 'Вий', 8)

2)Удаление:

DELETE

FROM v2

WHERE Фамилия='Гоголь'

3)Обновление:

UPDATE v2

SET КолЭкз=КолЭкз+1

WHERE Фамилия='Пушкин'

3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]