-- Customer CREATE TABLE Customer ( CustomerID INT PRIMARY KEY, CustomerName VARCHAR(100), CustomerSurName VARCHAR(100), Email VARCHAR(100), Address VARCHAR(255), CustomerContact VARCHAR(20), Password VARCHAR (255) ); -- Employee CREATE TABLE Employee ( EmployeeID INT PRIMARY KEY, EmployeeName VARCHAR(100), EmployeeSurName VARCHAR(100), Position VARCHAR(100), Department VARCHAR(100), Email VARCHAR(100), Password VARCHAR (100) ); -- Product CREATE TABLE Product ( ProductID INT PRIMARY KEY, Model VARCHAR(100), Price DECIMAL(10,2), LicensePlate VARCHAR(50), Status ENUM('available', 'sold', 'rented') NOT NULL ); -- Truck CREATE TABLE Truck ( ProductID INT PRIMARY KEY, HP INT, FOREIGN KEY (ProductID) REFERENCES Product(ProductID) ); -- Trailer CREATE TABLE Trailer ( ProductID INT PRIMARY KEY, Capacity DECIMAL(10,2), FOREIGN KEY (ProductID) REFERENCES Product(ProductID) ); -- Procurement CREATE TABLE Procurement ( TransactionID INT PRIMARY KEY, EmployeeID INT, CustomerID INT, ProductID INT, ProcurementDate DATE, Quantity INT, FOREIGN KEY (EmployeeID) REFERENCES Employee(EmployeeID), FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID), FOREIGN KEY (ProductID) REFERENCES Product(ProductID) ); -- T_Type CREATE TABLE T_Type ( TransactionID INT PRIMARY KEY, Type ENUM('Rent', 'Buy') NOT NULL, Duration INT, -- за rent MonthlyPay DECIMAL(10,2), -- за rent TotalPrice DECIMAL(10,2), -- за buy FOREIGN KEY (TransactionID) REFERENCES Procurement(TransactionID) ); -- Customer Feedback CREATE TABLE CustomerFeedback ( FeedbackID INT PRIMARY KEY, CustomerID INT, ProductID INT, Rating INT CHECK (Rating BETWEEN 1 AND 5), Comment TEXT, FeedbackDate DATE, FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID), FOREIGN KEY (ProductID) REFERENCES Product(ProductID) ); -- Maintenance CREATE TABLE Maintenance ( MainID INT PRIMARY KEY, EmployeeID INT, ProductID INT, MainDate DATE, FOREIGN KEY (EmployeeID) REFERENCES Employee(EmployeeID), FOREIGN KEY (ProductID) REFERENCES Product(ProductID) ); -- Views (Customer views product) CREATE TABLE Views ( CustomerID INT, ProductID INT, PRIMARY KEY (CustomerID, ProductID), FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID), FOREIGN KEY (ProductID) REFERENCES Product(ProductID) );