лаба10БД
.docМинистерство образования и науки РФ
РГРТУ
Кафедра ЭВМ
Отчет
по лабораторной работе №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 Фамилия='Пушкин'