Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки
Національний університет „Львівська політехніка”
Кафедра EОМ
Звіт
з лабораторної роботи № 5
з дисципліни: “ Організація баз даних”
Створення та використання представлень, функцій та тригерів
2018
Тема: Створення та використання представлень, функцій та тригерів
Мета: Отримати навики використання функцій, представлень та тригерів
Завдання
До кожної таблиці, що була створена у попередніх лабораторних роботах створити представлення
До довільної таблиці додати колонку із типом datetime, яка буде автоматично заповнюватись за допомогою тригера під час INSERT операції.
Написати 3 запити із довільними вбудованими функціями
Написати одну користувацьку функцію, яка повертає скалярне значення і одну користувацьку функцію, яка повертатиме таблицю
При захисті лабораторної роботи взяти індивідуальне завдання у викладача
Вибір варіанту:
№
Завдання
3.
База даних продуктового супермаркету
Хід роботи:
Код запиту що сторює представлення для таблиць:
USE LAB1
GO
CREATE VIEW SHELVES_VIEW AS
SELECT * FROM LAB1.DBO.SHELVES
GO
USE LAB1
GO
CREATE VIEW PRODUCT_PROPERTIES_VIEW AS
SELECT * FROM LAB1.DBO.PRODUCT_PROPERTIES
GO
USE LAB1
GO
CREATE VIEW PRODUCT_VIEW AS
SELECT * FROM LAB1.DBO.PRODUCT
GO
USE LAB1
GO
CREATE VIEW SHELVES_VIEW AS
SELECT * FROM LAB1.DBO.SHELVES
GO
USE LAB1_report
GO
CREATE VIEW SECTION_REPORT_VIEW AS
SELECT * FROM LAB1_report.DBO.SECTION_report
GO
USE LAB1_report
GO
CREATE VIEW SHELVES_REPORT_VIEW AS
SELECT * FROM LAB1_report.DBO.SHELVES_report
GO
Код запиту що сторює тригер для таблиці PRODUCT_PROPERTIES:
USE LAB1
GO
CREATE TRIGGER PRODUCT_PROPERTIES_TIME ON PRODUCT_PROPERTIES FOR INSERT
AS BEGIN
UPDATE PRODUCT_PROPERTIES SET PRODUCT_TIME = GETDATE()
END
GO
Код запиту що використовує вбудовані функції:
SELECT SUM(SHELVE_NUMBER), ID FROM SHELVES
GROUP BY ID HAVING ID > 3
SELECT COUNT(SECTION_NUMBER), SECTION_NAME FROM SECTION
GROUP BY SECTION_NAME
SELECT COUNT(QANTITY), PRICE FROM PRODUCT_PROPERTIES
GROUP BY PRICE HAVING PRICE < 13
Код запиту в якому реалізуюється скалярна та таблична функції:
USE LAB1
GO
CREATE FUNCTION GetShelvesOfProduct
(
@ProductId CHAR(20)
)
RETURNS MONEY
AS
BEGIN
DECLARE @NumberOfShelves AS INT;
SELECT TOP 1
@NumberOfShelves = SHELVE_NUMBER
FROM PRODUCT WHERE PRODUCT_NAME = @ProductId
RETURN @NumberOfShelves;
END
USE LAB1
GO
CREATE FUNCTION GetNameOfProduct( )
RETURNS TABLE
AS
RETURN
SELECT PRODUCT_NAME FROM PRODUCT_PROPERTIES
GROUP BY PRODUCT_NAME
GO
/
Рис.1. Результат виконнання функцій
/
Рис.2. Спрацювання тригера встановлення дати
/
Рис.3. Використання вбудованих функцій
Висновок: В даній лабораторній роботі я отримав отримав навики використання функцій, представлень та тригерів.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!