-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreateTables.sql
More file actions
39 lines (33 loc) · 1.14 KB
/
Copy pathcreateTables.sql
File metadata and controls
39 lines (33 loc) · 1.14 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
CREATE TABLE person (
Name varchar(25) NOT NULL,
Address varchar(25) NOT NULL,
County varchar(25) NOT NULL,
FacebookUsername varchar(25),
Email varchar(30) NOT NULL,
PhoneNum bigint(10) NOT NULL,
MonthlyGrossIncome Integer NOT NULL,
NumInHousehold Integer NOT NULL,
ReceiveFoodStamp BIT NOT NULL,
CONSTRAINT PRIMARY KEY (Email)
);
CREATE TABLE provider (
ProviderName varchar(25) NOT NULL,
FedFunded BIT NOT NULL,
CONSTRAINT PRIMARY KEY (ProviderName)
);
CREATE TABLE event (
Location varchar(25) NOT NULL,
Provider varchar(25) NOT NULL,
Date Date NOT NULL,
CONSTRAINT PRIMARY KEY (Location, Date, Provider),
CONSTRAINT FOREIGN KEY (Provider) REFERENCES provider(ProviderName)
);
CREATE TABLE attendance (
PersonEmail varchar(25) NOT NULL,
EventLocation varchar(25) NOT NULL,
EventProvider varchar(25) NOT NULL,
EventDate Date NOT NULL,
CONSTRAINT PRIMARY KEY (PersonEmail, EventLocation, EventProvider, EventDate),
CONSTRAINT FOREIGN KEY (PersonEmail) REFERENCES person(Email),
CONSTRAINT FOREIGN KEY (EventLocation, EventDate, EventProvider) REFERENCES event(Location, Date, Provider)
);