SQL & DDL: Truck Simulator DDL.txt

File Truck Simulator DDL.txt, 2.4 KB (added by 213231, 4 weeks ago)

V1init_db.txt

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 FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID),
75 FOREIGN KEY (ProductID) REFERENCES Product(ProductID)
76);
77
78-- Maintenance
79CREATE TABLE Maintenance (
80 MainID INT PRIMARY KEY,
81 EmployeeID INT,
82 ProductID INT,
83 MainDate DATE,
84 FOREIGN KEY (EmployeeID) REFERENCES Employee(EmployeeID),
85 FOREIGN KEY (ProductID) REFERENCES Product(ProductID)
86);
87
88-- Views (Customer views product)
89CREATE TABLE Views (
90 CustomerID INT,
91 ProductID INT,
92 PRIMARY KEY (CustomerID, ProductID),
93 FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID),
94 FOREIGN KEY (ProductID) REFERENCES Product(ProductID)
95);