Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра ЕОМ
/
Звіт
до лабораторної роботи № 5
з дисципліни: «Організація баз даних»
«Створення та використання представлень, функцій та тригерів»
Варіант №11
Львів 2018
Мета роботи: Отримати навики використання функцій, представлень та тригерів.
Завдання:
До кожної таблиці, що була створена у попередніх лабораторних роботах створити представлення
До довільної таблиці додати колонку із типом datetime, яка буде автоматично заповнюватись за допомогою тригера під час INSERT операції.
Написати 3 запити із довільними вбудованими функціями
Написати одну користувацьку функцію, яка повертає скалярне значення і одну користувацьку функцію, яка повертатиме таблицю
Створення представлення до кожної таблиці із попередніх лабораторних робіт:
create view CustView as select CUST.ID as vID, CUST.FirstName as vFirstName, CUST.SecondName as vSecondName from CUST;
create view TicketView as select TICKET.TicketID as vTicketID, TICKET.CustomerID as vCustID, TICKET.ShowNum as vShowNum from TICKET;
create view ShowView as select SHOW.ShowID as vShowID, SHOW.ShowName as vShowName, SHOW.date_n_time as vdate from SHOW;
create view RefView as select REF_TICK_SHOW.ticket_id as vTicket_id, REF_TICK_SHOW.show_id as vShow_id from REF_TICK_SHOW;
create view Show_priceView as select SHOW_PRICE.Price as vPrice, SHOW_PRICE.show_id as vShow_id from SHOW_PRICE;
Додати колонку із типом datetime, яка буде автоматично заповнюватись за допомогою тригера під час INSERT операції:
create trigger CUSTdate_trigger on CUST
after Insert
as
begin
update CUST set datelog = GETDATE()
where ID in (select ID from inserted)
End
INSERT INTO CUST(ID, FirstName, SecondName) VALUES('145','Brian','May');
Select * FROM CUST
/
Рис.1. Використання тригера.
Використання трьох довільних вбудованих функцій
select COUNT(*) as NumberOfCustomers from CUST
select MAX(SHOW_PRICE.Price) as MaximumPrice from SHOW_PRICE
select MIN(SHOW_PRICE.Price) as MinimumPrice from SHOW_PRICE
/
Рис.2. Результат виконання.
Створити одну користувацьку функцію, яка повертає скалярне значення і одну користувацьку функцію, яка повертатиме таблицю:
create function MulFunc (@A int, @B int)
returns int
as begin
return @A*@B
End
go
select dbo.MulFunc(30, 5);
/
Рис.3. Користувацька функція (повертає скалярне значення).
CREATE FUNCTION CustIDfunc
(
@OrderID INT
)
RETURNS TABLE
RETURN
SELECT
*
FROM CUST
inner join TICKET on CUST.ID =TICKET.CustomerID
where CUST.ID=@OrderID
go
select * from CustIDfunc(125);
/
Рис.4. Користувацька функція (повертає таблицю).
Висновок: На даній лабораторній роботі я отримала навики використання функцій, представлень та тригерів.