97 lines
2.3 KiB
SQL
97 lines
2.3 KiB
SQL
USE dbi509645
|
|
GO
|
|
|
|
CREATE TABLE UserRole (
|
|
ID INT PRIMARY KEY IDENTITY(0,1) NOT NULL,
|
|
[Role] NVARCHAR(255)
|
|
)
|
|
GO
|
|
|
|
CREATE TABLE Users (
|
|
ID INT PRIMARY KEY IDENTITY NOT NULL,
|
|
[Name] NVARCHAR(255) NOT NULL,
|
|
[Password] NVARCHAR(4000) NOT NULL,
|
|
[Role] INT FOREIGN KEY REFERENCES UserRole(ID) NOT NULL
|
|
)
|
|
GO
|
|
|
|
-- Used only in previous versions for a contact form
|
|
-- no longer needed
|
|
CREATE TABLE ContactForm (
|
|
ID INT PRIMARY KEY IDENTITY NOT NULL,
|
|
[Name] NVARCHAR(255) NOT NULL,
|
|
Email NVARCHAR(255) NOT NULL
|
|
)
|
|
GO
|
|
|
|
CREATE TABLE Announcements (
|
|
ID INT PRIMARY KEY IDENTITY NOT NULL,
|
|
[Author] INT FOREIGN KEY REFERENCES Users(ID) NOT NULL,
|
|
[Description] NVARCHAR(MAX),
|
|
[Title] NVARCHAR(255) NOT NULL,
|
|
[PublishDate] DATETIME NOT NULL,
|
|
[IsImportant] BIT NOT NULL,
|
|
[IsSticky] BIT NOT NULL,
|
|
)
|
|
GO
|
|
|
|
CREATE TABLE Comments (
|
|
ID INT PRIMARY KEY IDENTITY NOT NULL,
|
|
[Author] INT FOREIGN KEY REFERENCES Users(ID) NOT NULL,
|
|
[Description] NVARCHAR(MAX) NOT NULL,
|
|
[Title] NVARCHAR(255) NOT NULL,
|
|
[PublishDate] DATETIME NOT NULL
|
|
)
|
|
GO
|
|
|
|
CREATE TABLE AnnouncementsComments (
|
|
AnnouncementID INT FOREIGN KEY REFERENCES Announcements(ID) NOT NULL,
|
|
CommentID INT FOREIGN KEY REFERENCES Comments(ID) NOT NULL
|
|
)
|
|
GO
|
|
|
|
CREATE TABLE CommentsResponses (
|
|
CommentID INT FOREIGN KEY REFERENCES Comments(ID) NOT NULL,
|
|
ResponseID INT FOREIGN KEY REFERENCES Comments(ID) NOT NULL
|
|
)
|
|
GO
|
|
|
|
CREATE TABLE ComplaintStatus (
|
|
ID INT PRIMARY KEY IDENTITY(0,1) NOT NULL,
|
|
[Status] NVARCHAR(255)
|
|
)
|
|
GO
|
|
|
|
CREATE TABLE ComplaintSeverity (
|
|
ID INT PRIMARY KEY IDENTITY(0,1) NOT NULL,
|
|
[Severity] NVARCHAR(255)
|
|
)
|
|
GO
|
|
|
|
CREATE TABLE Complaints (
|
|
ID INT PRIMARY KEY IDENTITY NOT NULL,
|
|
[Author] INT FOREIGN KEY REFERENCES Users(ID) NOT NULL,
|
|
[Description] NVARCHAR(MAX),
|
|
[Title] NVARCHAR(255) NOT NULL,
|
|
[PublishDate] DATETIME NOT NULL,
|
|
[Status] INT FOREIGN KEY REFERENCES ComplaintStatus(ID) NOT NULL
|
|
[Severity] INT FOREIGN KEY REFERENCES ComplaintSeverity(ID) NOT NULL
|
|
)
|
|
GO
|
|
|
|
CREATE TABLE ComplaintsComments (
|
|
ComplaintID INT FOREIGN KEY REFERENCES Complaints(ID) NOT NULL,
|
|
CommentID INT FOREIGN KEY REFERENCES Comments(ID) NOT NULL
|
|
)
|
|
GO
|
|
|
|
CREATE TABLE Events (
|
|
ID INT PRIMARY KEY IDENTITY NOT NULL,
|
|
[Author] INT FOREIGN KEY REFERENCES Users(ID) NOT NULL,
|
|
[Description] NVARCHAR(MAX),
|
|
[Title] NVARCHAR(255) NOT NULL,
|
|
[PublishDate] DATETIME NOT NULL,
|
|
[StartDate] DATETIME NOT NULL,
|
|
[EndDate] DATETIME NOT NULL
|
|
)
|
|
GO |