-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSQLQuery_1.sql
More file actions
38 lines (38 loc) · 1.45 KB
/
SQLQuery_1.sql
File metadata and controls
38 lines (38 loc) · 1.45 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
CREATE TABLE User(
UserID INT IDENTITY PRIMARY KEY,
UserName NVARCHAR(100) UNIQUE,
Email VARCHAR(100) UNIQUE,
Gender VARCHAR(6) CHECK(Gender IN ('Male','Female')),
DOB DATETIME,
JoinDate DATE
);
CREATE TABLE Post(
PostID INT IDENTITY PRIMARY KEY,
PostDate DATE,
Content NVARCHAR(300),
Visiblity VARCHAR(10) CHECK(Visiblity IN ('Public','Private')),
UserID INT FOREIGN KEY REFERENCES User(UserID) NOT NULL
);
CREATE TABLE Interaction(
InteractionID INT IDENTITY PRIMARY KEY,
Type VARCHAR(10),
InteractionDate DATE,
PostID INT FOREIGN KEY REFERENCES Post(PostID) NOT NULL,
UserID INT FOREIGN KEY REFERENCES User(UserID) NOT NULL
);
CREATE TABLE Comment(
CommentID INT IDENTITY PRIMARY KEY,
CommentDate DATE,
Content NVARCHAR(300),
UserID INT FOREIGN KEY REFERENCES User(UserID) NOT NULL,
PostID INT FOREIGN KEY REFERENCES Post(PostID) NOT NULL
);
CREATE TABLE Post_Interaction(
PostID INT FOREIGN KEY REFERENCES Post(PostID),
UserID INT FOREIGN KEY REFERENCES User(UserID)
);
INSERT INTO User VALUES('hds','ds@ms.nx','Male'),('hd','hi@ms.ms','Female');
INSERT INTO Post VALUES('2005-09-09','hi','Public',1),('2005-09-09','hello','Public',2);
INSERT INTO Interaction VALUES('type1','1930-03-09',1,1),('type2','1930-03-09',1,2);
INSERT INTO Comment VALUES('2009-08-09','helo',1,2),('2009-08-09','helo',2,2);
INSERT INTO Post_Interaction VALUES(1,2),(2,1);