-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDVLD sql code.txt
154 lines (143 loc) · 3.9 KB
/
DVLD sql code.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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
CREATE TABLE Person
(
FirstName INT NOT NULL,
LastName INT NOT NULL,
ThirdName INT NOT NULL,
SecondName INT NOT NULL,
Gender INT NOT NULL,
Address INT NOT NULL,
NationalNum INT NOT NULL,
Email INT NOT NULL,
Phone INT NOT NULL,
Phote INT NOT NULL,
PersonID INT NOT NULL,
nationalCountryID INT NOT NULL,
PRIMARY KEY (PersonID)
);
CREATE TABLE APP_Type
(
AppTypeID INT NOT NULL,
AppFees INT NOT NULL,
AppTypeTitle INT NOT NULL,
PRIMARY KEY (AppTypeID)
);
CREATE TABLE License_Classes
(
ValidityLength INT NOT NULL,
ClassDescription INT NOT NULL,
MinimumAllowedAge INT NOT NULL,
LicenseClassID INT NOT NULL,
ClassFees INT NOT NULL,
className INT NOT NULL,
PRIMARY KEY (LicenseClassID)
);
CREATE TABLE TestType
(
TestTypeID INT NOT NULL,
TestFees INT NOT NULL,
TesttypeTitle INT NOT NULL,
TestTypeDescription INT NOT NULL,
PRIMARY KEY (TestTypeID)
);
CREATE TABLE User
(
UserName INT NOT NULL,
Password INT NOT NULL,
UserID INT NOT NULL,
Is_Active INT NOT NULL,
PersonID INT NOT NULL,
PRIMARY KEY (UserID),
FOREIGN KEY (PersonID) REFERENCES Person(PersonID)
);
CREATE TABLE Application
(
AppFees INT NOT NULL,
AppDate INT NOT NULL,
ApplicationID INT NOT NULL,
appPersonID INT NOT NULL,
CreatedByUserID INT NOT NULL,
LastStatusDate INT NOT NULL,
AppTypeID INT NOT NULL,
PersonID INT NOT NULL,
AppTypeID INT NOT NULL,
PRIMARY KEY (ApplicationID),
FOREIGN KEY (PersonID) REFERENCES Person(PersonID),
FOREIGN KEY (AppTypeID) REFERENCES APP_Type(AppTypeID)
);
CREATE TABLE LocalDrivingLicense
(
LocalLicenseID INT NOT NULL,
LicesnesClassID INT NOT NULL,
AppLicenseID INT NOT NULL,
LicenseClassID INT NOT NULL,
ApplicationID INT NOT NULL,
PRIMARY KEY (LocalLicenseID),
FOREIGN KEY (LicenseClassID) REFERENCES License_Classes(LicenseClassID),
FOREIGN KEY (ApplicationID) REFERENCES Application(ApplicationID)
);
CREATE TABLE TestAppointment
(
AppointmentID INT NOT NULL,
TestAppFees INT NOT NULL,
CreatedUserID INT NOT NULL,
localDrivingLicenseID INT NOT NULL,
AppointmentDate INT NOT NULL,
IsLocked INT NOT NULL,
RetakeTestAPPID INT NOT NULL,
TestTypeID INT NOT NULL,
ApplicationID INT NOT NULL,
TestTypeID INT NOT NULL,
LocalLicenseID INT NOT NULL,
PRIMARY KEY (AppointmentID),
FOREIGN KEY (ApplicationID) REFERENCES Application(ApplicationID),
FOREIGN KEY (TestTypeID) REFERENCES TestType(TestTypeID),
FOREIGN KEY (LocalLicenseID) REFERENCES LocalDrivingLicense(LocalLicenseID)
);
CREATE TABLE Driver
(
DriverID INT NOT NULL,
LicenseID INT NOT NULL,
PersonID INT NOT NULL,
PersonID INT NOT NULL,
CreatedByUserID INT NOT NULL,
PersonID INT NOT NULL,
UserID INT NOT NULL,
PRIMARY KEY (DriverID),
FOREIGN KEY (PersonID) REFERENCES Person(PersonID),
FOREIGN KEY (UserID) REFERENCES User(UserID)
);
CREATE TABLE Test
(
TestID INT NOT NULL,
TestAppointmentID INT NOT NULL,
Result INT NOT NULL,
CreatedByUserID INT NOT NULL,
Notes INT NOT NULL,
AppointmentID INT NOT NULL,
FOREIGN KEY (AppointmentID) REFERENCES TestAppointment(AppointmentID)
);
CREATE TABLE Licenses
(
Notes INT NOT NULL,
LicenseID INT NOT NULL,
APPid INT NOT NULL,
LicenseClassID INT NOT NULL,
DriverID INT NOT NULL,
IssueDate INT NOT NULL,
ExpirationDate INT NOT NULL,
IssueReason INT NOT NULL,
Fees INT NOT NULL,
IsActive INT NOT NULL,
CreatedByUserID INT NOT NULL,
ApplicationID INT NOT NULL,
DriverID INT NOT NULL,
FOREIGN KEY (ApplicationID) REFERENCES Application(ApplicationID),
FOREIGN KEY (DriverID) REFERENCES Driver(DriverID)
);
CREATE TABLE Application_ApplicationStatus
(
ApplicationStatus INT NOT NULL,
ApplicationID INT NOT NULL,
PRIMARY KEY (ApplicationStatus, ApplicationID),
FOREIGN KEY (ApplicationID) REFERENCES Application(ApplicationID)
);