-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAlter table constraints.sql
More file actions
35 lines (19 loc) · 1.36 KB
/
Copy pathAlter table constraints.sql
File metadata and controls
35 lines (19 loc) · 1.36 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
--Altering the constraints of the tables w.r.t data architecture
ALTER TABLE company_dim ADD CONSTRAINT pk_company_id PRIMARY KEY (company_id);
ALTER TABLE job_postings_fact ADD CONSTRAINT pk_job_id PRIMARY KEY (job_id);
ALTER TABLE skills_dm ADD CONSTRAINT pk_skill_id PRIMARY KEY (skill_id);
ALTER TABLE skills_job_dim ADD CONSTRAINT pk_job_skill_id PRIMARY KEY (job_id,skill_id);
--Since the primary keys are added to the tables, let's now alter the tables for foreign keys
ALTER TABLE job_postings_fact ADD CONSTRAINT fk_company_id FOREIGN KEY (company_id) REFERENCES company_dim(company_id);
ALTER TABLE skills_job_dim ADD CONSTRAINT fk_job_id FOREIGN KEY (job_id) REFERENCES job_postings_fact(job_id);
ALTER TABLE skills_job_dim ADD CONSTRAINT fk_skill_id FOREIGN KEY (skill_id) REFERENCES skills_dm(skill_id);
--Faced an error "value too long for type character varying(50)", therefore, altering the length of the column
ALTER TABLE job_postings_fact
ALTER COLUMN job_title_short TYPE VARCHAR(555),
ALTER COLUMN job_title TYPE VARCHAR(555),
ALTER COLUMN job_location TYPE VARCHAR(555),
ALTER COLUMN job_via TYPE VARCHAR(555),
ALTER COLUMN job_schedule_type TYPE VARCHAR(555);
--Faced an error "value too long for type character varying(20)", therefore, altering the length of the column
ALTER TABLE company_dim
ALTER COLUMN name TYPE VARCHAR(5555);