SQL & DDL: Truck Simulator DDL.2.txt

File Truck Simulator DDL.2.txt, 2.5 KB (added by 211301, 13 days ago)
Line 
1-- Customer
2CREATE TABLE Customer (
3 CustomerID INT PRIMARY KEY,
4 CustomerName VARCHAR(100),
5 CustomerSurName VARCHAR(100),
6 Email VARCHAR(100),
7 Address VARCHAR(255),
8 CustomerContact VARCHAR(20)
9);
10
11-- Employee
12CREATE TABLE Employee (
13 EmployeeID INT PRIMARY KEY,
14 EmployeeName VARCHAR(100),
15 EmployeeSurName VARCHAR(100),
16 Position VARCHAR(100),
17 Department VARCHAR(100)
18);
19
20-- Product
21CREATE TABLE Product (
22 ProductID INT PRIMARY KEY,
23 Model VARCHAR(100),
24 Price DECIMAL(10,2),
25 LicensePlate VARCHAR(50),
26 Status ENUM('available', 'sold', 'rented') NOT NULL
27);
28
29-- Truck
30CREATE TABLE Truck (
31 ProductID INT PRIMARY KEY,
32 HP INT,
33 FOREIGN KEY (ProductID) REFERENCES Product(ProductID)
34);
35
36-- Trailer
37CREATE TABLE Trailer (
38 ProductID INT PRIMARY KEY,
39 Capacity DECIMAL(10,2),
40 FOREIGN KEY (ProductID) REFERENCES Product(ProductID)
41);
42
43-- Procurement
44CREATE TABLE Procurement (
45 TransactionID INT PRIMARY KEY,
46 EmployeeID INT,
47 CustomerID INT,
48 ProductID INT,
49 ProcurementDate DATE,
50 Quantity INT,
51 FOREIGN KEY (EmployeeID) REFERENCES Employee(EmployeeID),
52 FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID),
53 FOREIGN KEY (ProductID) REFERENCES Product(ProductID)
54);
55
56-- T_Type
57CREATE TABLE T_Type (
58 TransactionID INT PRIMARY KEY,
59 Type ENUM('Rent', 'Buy') NOT NULL,
60 Duration INT, -- за rent
61 MonthlyPay DECIMAL(10,2), -- за rent
62 TotalPrice DECIMAL(10,2), -- за buy
63 FOREIGN KEY (TransactionID) REFERENCES Procurement(TransactionID)
64);
65
66-- Customer Feedback
67CREATE TABLE CustomerFeedback (
68 FeedbackID INT PRIMARY KEY,
69 CustomerID INT,
70 ProductID INT,
71 Rating INT CHECK (Rating BETWEEN 1 AND 5),
72 Comment TEXT,
73 FeedbackDate DATE,
74 TransactionID INT,
75 FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID),
76 FOREIGN KEY (ProductID) REFERENCES Product(ProductID),
77 FOREIGN KEY (TransactionID) REFERENCES Procurement(TransactionID)
78);
79
80-- Maintenance
81CREATE TABLE Maintenance (
82 MainID INT PRIMARY KEY,
83 EmployeeID INT,
84 ProductID INT,
85 MainDate DATE,
86 FOREIGN KEY (EmployeeID) REFERENCES Employee(EmployeeID),
87 FOREIGN KEY (ProductID) REFERENCES Product(ProductID)
88);
89
90-- Views (Customer views product)
91CREATE TABLE Views (
92 CustomerID INT,
93 ProductID INT,
94 PRIMARY KEY (CustomerID, ProductID),
95 FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID),
96 FOREIGN KEY (ProductID) REFERENCES Product(ProductID)
97);