-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathSQL_Commands.sql
192 lines (175 loc) · 4.64 KB
/
SQL_Commands.sql
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
CREATE TABLE roles (
id SERIAL PRIMARY KEY,
name VARCHAR(255),
description TEXT
);
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(255),
surname VARCHAR(255),
email VARCHAR(255),
password_hash VARCHAR(255),
role INT REFERENCES roles(id),
created_at DATE,
last_login DATE
);
CREATE TABLE projects (
id SERIAL PRIMARY KEY,
project_title VARCHAR(255),
owner INTEGER REFERENCES users(id),
users TEXT,
start_date DATE,
ai_risk_classification VARCHAR(255),
type_of_high_risk_role VARCHAR(255),
goal VARCHAR(255),
last_updated DATE,
last_updated_by INTEGER REFERENCES users(id)
);
CREATE TABLE vendors (
id SERIAL PRIMARY KEY,
vendor_name VARCHAR(255),
assignee VARCHAR(255),
vendor_provides TEXT,
website VARCHAR(255),
vendor_contact_person VARCHAR(255),
review_result VARCHAR(255),
review_status VARCHAR(255),
reviewer VARCHAR(255),
risk_status VARCHAR(255),
review_date DATE,
risk_description TEXT,
impact_description TEXT,
impact INT,
probability FLOAT,
action_owner VARCHAR(255),
action_plan TEXT,
risk_severity INT,
risk_level VARCHAR(255),
likelihood FLOAT
);
CREATE TABLE assessments (
id SERIAL PRIMARY KEY,
project_id INT REFERENCES projects(id)
);
CREATE TABLE controlcategories (
id SERIAL PRIMARY KEY,
project_id INT REFERENCES projects(id),
name VARCHAR(255)
);
CREATE TABLE controls (
id SERIAL PRIMARY KEY,
status VARCHAR(255),
approver VARCHAR(255),
risk_review TEXT,
owner VARCHAR(255),
reviewer VARCHAR(255),
due_date DATE,
implementation_details TEXT,
control_group INT REFERENCES controlcategories(id)
);
CREATE TABLE subcontrols (
id SERIAL PRIMARY KEY,
control_id INT REFERENCES controls(id),
status VARCHAR(255),
approver VARCHAR(255),
risk_review TEXT,
owner VARCHAR(255),
reviewer VARCHAR(255),
due_date DATE,
implementation_details TEXT,
evidence VARCHAR(255),
feedback TEXT,
evidenceFiles TEXT[],
feedbackFiles TEXT[]
);
CREATE TABLE projectrisks (
id SERIAL PRIMARY KEY,
project_id INT REFERENCES projects(id),
risk_name VARCHAR(255),
risk_owner VARCHAR(255),
ai_lifecycle_phase VARCHAR(255),
risk_description TEXT,
risk_category VARCHAR(255),
impact VARCHAR(255),
assessment_mapping TEXT,
controls_mapping TEXT,
likelihood VARCHAR(255),
severity VARCHAR(255),
risk_level_autocalculated VARCHAR(255),
review_notes TEXT,
mitigation_status VARCHAR(255),
current_risk_level VARCHAR(255),
deadline DATE,
mitigation_plan TEXT,
implementation_strategy TEXT,
mitigation_evidence_document VARCHAR(255),
likelihood_mitigation VARCHAR(255),
risk_severity VARCHAR(255),
final_risk_level VARCHAR(255),
risk_approval VARCHAR(255),
approval_status VARCHAR(255),
date_of_assessment DATE
);
CREATE TABLE vendorrisks (
id SERIAL PRIMARY KEY,
project_id INT REFERENCES projects(id),
vendor_name VARCHAR(255),
risk_name VARCHAR(255),
owner VARCHAR(255),
risk_level VARCHAR(255),
review_date DATE
);
CREATE TABLE vendors_projects (
vendor_id INT REFERENCES vendors(id),
project_id INT REFERENCES projects(id),
PRIMARY KEY (vendor_id, project_id)
);
CREATE TABLE projectscopes (
id SERIAL PRIMARY KEY,
assessment_id INT REFERENCES assessments(id),
describe_ai_environment TEXT,
is_new_ai_technology BOOLEAN,
uses_personal_data BOOLEAN,
project_scope_documents VARCHAR(255),
technology_type VARCHAR(255),
has_ongoing_monitoring BOOLEAN,
unintended_outcomes TEXT,
technology_documentation VARCHAR(255)
);
CREATE TABLE topics (
id SERIAL PRIMARY KEY,
assessment_id INT REFERENCES assessments(id),
title VARCHAR(255)
);
CREATE TABLE subtopics (
id SERIAL PRIMARY KEY,
topic_id INT REFERENCES topics(id),
name VARCHAR(255)
);
CREATE TABLE questions (
id SERIAL PRIMARY KEY,
subtopic_id INT REFERENCES subtopics(id),
question_text TEXT,
answer_type VARCHAR(255),
evidence_file_required BOOLEAN,
hint TEXT,
is_required BOOLEAN,
priority_level VARCHAR(255),
evidence_files TEXT[],
answer TEXT
);
CREATE TABLE files (
id SERIAL PRIMARY KEY,
filename TEXT NOT NULL,
content BYTEA NOT NULL
);
INSERT INTO
roles(name, description)
VALUES ('Admin', 'Administrator with full access to the system.'),
('Reviewer', 'Reviewer with access to review compliance and reports.'),
('Editor', 'Editor with permission to modify and update project details.'),
('Auditor', 'Auditor with access to compliance and security audits.');
-- INSERT INTO
-- users(name, surname, email, password_hash, role, created_at, last_login)
-- VALUES
-- ('admin', 'admin', '[email protected]', '$2b$10$JFP9Z4RIbC1NItNB5daWZ.GxoCD6Ka.d./w9VXsOXit7mzj176TbG', 1, CURRENT_DATE, CURRENT_DATE);