-
Notifications
You must be signed in to change notification settings - Fork 0
/
SqlTableCreations.txt
73 lines (63 loc) · 1.88 KB
/
SqlTableCreations.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
CREATE TABLE Users(
Id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
Email NVARCHAR(MAX) NULL,
PasswordHash NVARCHAR(MAX) NULL,
JoinDate DATETIME2(7) NOT NULL,
)
CREATE TABLE Customers(
Id INT PRIMARY KEY FOREIGN KEY REFERENCES Users(Id) NOT NULL,
PhoneNumber nvarchaR(max) NULL,
Address nvarchar(max) NULL,
)
CREATE TABLE IndividualCustomers(
Id INT PRIMARY KEY FOREIGN KEY REFERENCES Customers(Id) NOT NULL,
IdentityNo NVARCHAR(MAX) NULL,
FirstName NVARCHAR(MAX) NULL,
LastName NVARCHAR(MAX) NULL,
DOB DATETIME NOT NULL,
)
CREATE TABLE CorporateCustomers(
Id INT PRIMARY KEY FOREIGN KEY REFERENCES Customers(Id) NOT NULL,
CompanyName NVARCHAR(MAX) NULL,
TaxNumber NVARCHAR(MAX) NULL
)
CREATE TABLE Brands(
Id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
Name NVARCHAR(MAX) NULL,
)
CREATE TABLE Colors(
Id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
Name NVARCHAR(MAX) NULL,
)
CREATE TABLE CarTypes(
Id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
Name NVARCHAR(MAX) NULL,
)
CREATE TABLE Cars(
Id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
LicensePlate NVARCHAR(10) NOT NULL,
Capacity TINYINT NOT NULL,
Model NVARCHAR(MAX) NULL,
ModelYear NVARCHAR(4) NULL,
DailyPrice FLOAT NOT NULL,
Description NVARCHAR(MAX) NULL,
IsAvailable BIT NULL,
BrandId INT FOREIGN KEY REFERENCES Brands(Id) NOT NULL,
CarTypeId INT FOREIGN KEY REFERENCES CarTypes(Id) NOT NULL,
ColorId INT FOREIGN KEY REFERENCES Colors(Id) NOT NULL
)
CREATE TABLE CarImages(
Id UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID() NOT NULL,
CarId INT FOREIGN KEY REFERENCES Cars(Id) NOT NULL,
ImagePath VARBINARY(MAX) NOT NULL,
Date DATETIME NOT NULL
)
CREATE TABLE Rentals(
Id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
CustomerId INT FOREIGN KEY REFERENCES Customers(Id) NOT NULL,
CarId INT FOREIGN KEY REFERENCES Cars(Id) NOT NULL,
RentDate DATETIME2(7) NOT NULL,
ReturnDate DATETIME2(7) NULL,
TotalPrice FLOAT NULL,
Discount REAL NULL
)