Repository navigation
Expand file tree
/
Copy pathscripts.sql
More file actions
135 lines (120 loc) · 3.79 KB
/
Copy pathscripts.sql
File metadata and controls
135 lines (120 loc) · 3.79 KB
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
CREATE TABLE Applies
(
AppID INT NOT NULL PRIMARY KEY,
UserEmail NVARCHAR(50) NOT NULL,
ApplicationJobID INT NOT NULL,
CONSTRAINT FK_Applies_ToTable FOREIGN KEY (UserEmail) REFERENCES UserInfo(Email),
CONSTRAINT AppliesToJob FOREIGN KEY (ApplicationJobID) REFERENCES JobPost(JobID),
CONSTRAINT ApplyToAppID FOREIGN KEY (AppID) REFERENCES AppInfo(AppID)
);
CREATE TABLE Benefits
(
BenefitID INT NOT NULL PRIMARY KEY,
Title NVARCHAR(50) NULL,
TimeStamp NCHAR(10) NULL
);
CREATE TABLE Employer
(
CompanyID INT NOT NULL PRIMARY KEY,
Company_Name NVARCHAR(50) NULL,
Company_Address NVARCHAR(50) NULL,
Company_PNum NVARCHAR(50) NULL,
Company_Email NVARCHAR(50) NULL
);
CREATE TABLE EmployerPost
(
EPostID INT NOT NULL PRIMARY KEY,
ContactDetail NCHAR(10) NULL,
TimeStamp TIMESTAMP NULL
);
CREATE TABLE JobBenefits
(
JobID INT NOT NULL PRIMARY KEY,
BenefitID INT NULL,
CONSTRAINT FK_JobBenefits_ToJobPost FOREIGN KEY (JobID) REFERENCES JobPost(JobID),
CONSTRAINT FK_JobBenefits_ToBenefits FOREIGN KEY (BenefitID) REFERENCES Benefits(BenefitID)
);
CREATE TABLE JobPost
(
JobID INT NOT NULL PRIMARY KEY,
Job_Type NVARCHAR(50) NULL,
Title NVARCHAR(50) NOT NULL,
Date_Posted DATE NULL,
Deadline DATE NULL,
Qualifications NVARCHAR(5000) NULL,
Responsibilities NVARCHAR(5000) NULL,
SalaryRangeID INT NULL
);
CREATE TABLE JobRequirements
(
JobID INT NOT NULL PRIMARY KEY,
ReqID INT NULL,
CONSTRAINT FK_JobRequirements_ToJobPost FOREIGN KEY (JobID) REFERENCES JobPost(JobID),
CONSTRAINT FK_JobRequirements_ToRequirements FOREIGN KEY (ReqID) REFERENCES Requirements(ReqID)
);
CREATE TABLE Address
(
AddressID INT NOT NULL PRIMARY KEY,
ZipCode INT NULL,
CompanyID INT NULL,
CONSTRAINT ZipC FOREIGN KEY (ZipCode) REFERENCES ZipCode(ZipCode),
CONSTRAINT CompanyAddress FOREIGN KEY (CompanyID) REFERENCES Employer(CompanyID)
);
CREATE TABLE AppInfo
(
AppID INT NOT NULL PRIMARY KEY,
TimeStamp TIMESTAMP NULL,
Status NVARCHAR(50) NULL,
CONSTRAINT FK_Application_ToTable FOREIGN KEY (AppID) REFERENCES Applies(AppID)
);
CREATE TABLE Salary
(
SalaryRangeID INT NOT NULL PRIMARY KEY,
Range NVARCHAR(50) NOT NULL,
TimeStamp TIMESTAMP NULL,
CONSTRAINT FK_Salary_ToTable FOREIGN KEY (SalaryRangeID) REFERENCES JobPost(SalaryRangeID)
);
CREATE TABLE UserInfo
(
Email NVARCHAR(50) NOT NULL PRIMARY KEY,
FName NVARCHAR(50) NULL,
LName NVARCHAR(50) NULL,
Pnum INT NULL,
LoginPassword NVARCHAR(50) NOT NULL
);
CREATE TABLE UserEmployer
(
UserEmail NVARCHAR(50) NOT NULL PRIMARY KEY,
CompanyID INT NOT NULL,
RoleID INT NOT NULL,
CONSTRAINT UserIsEmployer FOREIGN KEY (UserEmail) REFERENCES UserInfo(Email),
CONSTRAINT UserToRole FOREIGN KEY (RoleID) REFERENCES Role(RoleID),
CONSTRAINT CompanyEmployer FOREIGN KEY (CompanyID) REFERENCES Employer(CompanyID)
);
CREATE TABLE ZipCode
(
ZipCode INT NOT NULL PRIMARY KEY,
City NVARCHAR(50) NOT NULL,
State NVARCHAR(50) NOT NULL,
TimeStamp NVARCHAR(50) NOT NULL,
Street NVARCHAR(50) NOT NULL
);
CREATE TABLE Posts
(
CompanyID INT NOT NULL PRIMARY KEY,
EPostID INT NOT NULL,
JobID INT NULL,
CONSTRAINT FK_Posts_ToJobPost FOREIGN KEY (JobID) REFERENCES JobPost(JobID),
CONSTRAINT FK_Posts_ToEmployerPost FOREIGN KEY (EPostID) REFERENCES EmployerPost(EPostID),
CONSTRAINT FK_Posts_ToEmployer FOREIGN KEY (CompanyID) REFERENCES Employer(CompanyID)
);
CREATE TABLE Requirements
(
ReqID INT NOT NULL PRIMARY KEY
);
CREATE TABLE Role
(
RoleID INT NOT NULL PRIMARY KEY,
Title NVARCHAR(50) NULL,
TimeStamp TIMESTAMP NULL
);