🚀 Вийди на новий рівень крипто-торгівлі!
Easy Trade Bot — автоматизуй свій прибуток уже зараз!

Ми пропонуємо перелік перевірених прибуткових стратегій на такі пари як BTC, DOT, TRX, AAVE, ETH, LINK та інші. Ви можете підключити автоматичну торгівлю на своєму акаунті Binance або отримувати торгові рекомендації на email у режимі реального часу. Також можемо створити бота для обраної вами монети.

Всі результати торгів ботів доступні для перегляду у зручних таблицях на головній сторінці. Швидко, динамічно та прозоро!

Перейти до бота + 30$ бонус

Створення та використання представлень, функцій та тригерів

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
КН
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2025
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Організація баз даних

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Інститут комп’ютерних технологій, автоматики та метрології  кафедра “Електронних обчислювальних машин” / Звіт  до лабораторної роботи № 5 з дисципліни «Організація баз даних» на тему: «Створення та використання представлень, функцій та тригерів» Варіант Львів 2025 ЛАБОРАТОРНА РОБОТА №4 Створення та використання представлень, функцій та тригерів Мета роботи: отримати навики використання функцій, представлень та тригерів ЗАВДАННЯ До кожної таблиці,що була створена у попередніх лабораторних роботах створити представлення До довільної таблиці додати колонку із типом datetime, яка буде автоматично заповнюватись за допомогою тригера під час INSERT операції. Написати 3 запити із довільними вбудованими функціями Написати одну користувацьку функцію, яка повертає скалярне значення і одну користувацьку функцію, яка повертатиме таблицю При захисті лабораторної роботи взяти індивідуальне завдання у викладача. Вхідні дані Варіант Завдання      Виконання завдання -- Створюємо базу даних для автосалону CREATE DATABASE CAR_DEALERSHIP; GO USE CAR_DEALERSHIP; GO -- Таблиця співробітників CREATE TABLE Employees ( employee_id INT PRIMARY KEY, first_name VARCHAR(100) NOT NULL, last_name VARCHAR(100) NOT NULL, position VARCHAR(100) NOT NULL, salary DECIMAL(10, 2) NOT NULL ); GO -- Таблиця автомобілів CREATE TABLE Cars ( car_id INT PRIMARY KEY, brand VARCHAR(100) NOT NULL, model VARCHAR(100) NOT NULL, year INT NOT NULL, price DECIMAL(10, 2) NOT NULL ); GO -- Таблиця клієнтів (посилається на менеджера із таблиці Employees) CREATE TABLE Customers ( customer_id INT PRIMARY KEY, first_name VARCHAR(100) NOT NULL, last_name VARCHAR(100) NOT NULL, date_of_birth DATE, -- можна використовувати DATE або DATETIME phone VARCHAR(25), email VARCHAR(100), personal_manager_id INT, FOREIGN KEY (personal_manager_id) REFERENCES Employees (employee_id) ); GO -- Таблиця особливостей автомобілів (ключова комбінація car_id + feature_name) CREATE TABLE Car_Features ( car_id INT NOT NULL, feature_name VARCHAR(100) NOT NULL, PRIMARY KEY (car_id, feature_name), FOREIGN KEY (car_id) REFERENCES Cars (car_id) ); GO -- Таблиця продажів (посилається на автомобілі та співробітників) CREATE TABLE Sales ( sale_id INT PRIMARY KEY, car_id INT, employee_id INT, sale_date DATE, total_price DECIMAL(10, 2), FOREIGN KEY (car_id) REFERENCES Cars (car_id), FOREIGN KEY (employee_id) REFERENCES Employees (employee_id) ); GO -- Додавання даних до таблиці Employees INSERT INTO Employees (employee_id, first_name, last_name, position, salary) VALUES (1, 'John', 'Smith', 'Sales Manager', 60000.00), (2, 'Emily', 'Johnson', 'Sales Representative', 45000.00), (3, 'Michael', 'Brown', 'Service Manager', 55000.00), (4, 'Sarah', 'Davis', 'Finance Specialist', 50000.00), (5, 'David', 'Wilson', 'Sales Representative', 45000.00), (6, 'Jennifer', 'Martinez', 'Customer Service', 40000.00), (7, 'Robert', 'Anderson', 'Mechanic', 48000.00), (8, 'Lisa', 'Taylor', 'Marketing Specialist', 52000.00), (9, 'Thomas', 'Jones', 'Sales Representative', 45000.00), (10, 'Jessica', 'Clark', 'General Manager', 75000.00); -- Додавання даних до таблиці Cars INSERT INTO Cars (car_id, brand, model, year, price) VALUES (1, 'Toyota', 'Camry', 2023, 28999.99), (2, 'Honda', 'Accord', 2023, 30499.99), (3, 'Ford', 'Mustang', 2023, 40999.99), (4, 'Chevrolet', 'Silverado', 2023, 45500.00), (5, 'BMW', 'X5', 2023, 65000.00), (6, 'Mercedes', 'C-Class', 2023, 55000.00), (7, 'Audi', 'A4', 2023, 52000.00), (8, 'Tesla', 'Model 3', 2023, 48000.00), (9, 'Nissan', 'Altima', 2023, 26500.00), (10, 'Volkswagen', 'Golf', 2023, 28000.00); -- Додавання даних до таблиці Customers INSERT INTO Customers (customer_id, first_name, last_name, date_of_birth, phone, email, personal_manager_id) VALUES (1, 'William', 'Johnson', '1985-05-15', '555-123-4567', 'william.johnson@email.com', 1), (2, 'Emma', 'Williams', '1990-03-22', '555-234-5678', 'emma.williams@email.com', 2), (3, 'Oliver', 'Brown', '1978-12-10', '555-345-6789', 'oliver.brown@email.com', 1), (4, 'Sophia', 'Miller', '1995-08-05', '555-456-7890', 'sophia.miller@email.com', 5), (5, 'James', 'Davis', '1982-06-30', '555-567-8901', 'james.davis@email.com', 2), (6, 'Charlotte', 'Garcia', '1988-11-18', '555-678-9012', 'charlotte.garcia@email.com', 9), (7, 'Benjamin', 'Rodriguez', '1975-04-25', '555-789-0123', 'benjamin.rodriguez@email.com', 1), (8, 'Amelia', 'Wilson', '1992-09-12', '555-890-1234', 'amelia.wilson@email.com', 5), (9, 'Henry', 'Anderson', '1980-07-08', '555-901-2345', 'henry.anderson@email.com', 9), (10, 'Mia', 'Thomas', '1998-01-20', '555-012-3456', 'mia.thomas@email.com', 2); -- Додавання даних до таблиці Car_Features INSERT INTO Car_Features (car_id, feature_name) VALUES (1, 'Bluetooth'), (1, 'Backup Camera'), (1, 'Cruise Control'), (2, 'Bluetooth'), (2, 'Navigation'), (3, 'Leather Seats'), (3, 'Sunroof'), (4, 'Four-Wheel Drive'), (4, 'Towing Package'), (5, 'Premium Sound System'), (5, 'Heated Seats'), (5, 'Adaptive Cruise Control'), (6, 'Lane Departure Warning'), (6, 'Parking Sensors'), (7, 'Blind Spot Detection'), (8, 'Autopilot'), (8, 'Electric Range 300 miles'), (9, 'Fuel Efficiency'), (10, 'Compact Size'); -- Додавання даних до таблиці Sales INSERT INTO Sales (sale_id, car_id, employee_id, sale_date, total_price) VALUES (1, 1, 1, '2023-01-15', 28999.99), (2, 3, 2, '2023-01-22', 40999.99), (3, 5, 1, '2023-02-05', 65000.00), (4, 7, 5, '2023-02-18', 52000.00), (5, 9, 9, '2023-03-10', 26500.00), (6, 2, 2, '2023-03-25', 30499.99), (7, 4, 1, '2023-04-08', 45500.00), (8, 6, 5, '2023-04-20', 55000.00), (9, 8, 9, '2023-05-12', 48000.00), (10, 10, 2, '2023-05-30', 28000.00); -- Представлення для Employees CREATE VIEW dbo.EmployeesView AS SELECT employee_id, first_name, last_name, position FROM Employees; -- Представлення для Cars CREATE VIEW dbo.CarsView AS SELECT car_id, brand, model, year FROM Cars; -- Представлення для Customers CREATE VIEW dbo.CustomersView AS SELECT customer_id, first_name, last_name, email FROM Customers; -- Представлення для Car_Features CREATE VIEW dbo.CarFeaturesView AS SELECT car_id, feature_name FROM Car_Features; -- Представлення для Sales CREATE VIEW dbo.SalesView AS SELECT sale_id, car_id, employee_id, sale_date FROM Sales; ALTER TABLE Sales ADD created_at DATETIME; CREATE TRIGGER SetSalesCreatedAt ON Sales AFTER INSERT AS BEGIN SET NOCOUNT ON; UPDATE Sales SET created_at = GETDATE() FROM inserted WHERE Sales.sale_id = inserted.sale_id; END; GO INSERT INTO Sales (sale_id, car_id, employee_id, sale_date, total_price) VALUES (11, 1, 1, '2023-06-01', 28999.99); SELECT * FROM Sales WHERE sale_id = 11; SELECT COUNT(*) AS total_employees FROM Employees; SELECT COUNT(*) AS total_employees FROM Employees; SELECT AVG(price) AS average_price FROM Cars; SELECT MAX(salary) AS max_salary FROM Employees; CREATE FUNCTION dbo.GetTotalSales() RETURNS INT AS BEGIN DECLARE @TotalSales INT; SELECT @TotalSales = COUNT(*) FROM Sales; RETURN @TotalSales; END; SELECT dbo.GetTotalSales() AS TotalSalesCount; CREATE FUNCTION dbo.GetCarsAbovePrice(@min_price DECIMAL(10, 2)) RETURNS TABLE AS RETURN(SELECT * FROM Cars WHERE price > @min_price); SELECT * FROM dbo.GetCarsAbovePrice(30000.00); Висновок: Я отримав навики використання функцій, представлень та тригерів
Антиботан аватар за замовчуванням

25.03.2025 10:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!