Wiki source code of Data Structures
Version 13.2 by Kerem Yollu on 2025/03/23 11:23
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | = Data Structures for KPM and database relations = |
2 | |||
3 | |||
![]() |
11.11 | 4 | = Core Entity Tables = |
![]() |
1.1 | 5 | |
![]() |
2.2 | 6 | == Address == |
![]() |
1.1 | 7 | |
![]() |
13.2 | 8 | Address table is made so that i can be populated from external source like open address, |
9 | |||
![]() |
12.1 | 10 | {{diagram/}} |
11 | |||
![]() |
13.1 | 12 | == Lookup Tables without references. == |
![]() |
3.2 | 13 | |
![]() |
11.3 | 14 | === Company === |
15 | |||
16 | * company_legal_form | ||
17 | * company_relation | ||
![]() |
11.4 | 18 | * company_status |
![]() |
11.5 | 19 | * company_types |
![]() |
11.3 | 20 | |
![]() |
11.5 | 21 | === Project === |
22 | |||
![]() |
11.7 | 23 | * project_areas |
24 | * project_type | ||
25 | * project_company_role | ||
26 | * projects_person_role | ||
![]() |
11.5 | 27 | |
![]() |
11.7 | 28 | === Task === |
29 | |||
![]() |
11.9 | 30 | * task_category |
31 | * task_type | ||
32 | * task_status | ||
![]() |
11.7 | 33 | |
![]() |
11.9 | 34 | === User === |
![]() |
11.7 | 35 | |
![]() |
11.9 | 36 | * user_role |
37 | * user_type | ||
![]() |
11.7 | 38 | |
![]() |
12.2 | 39 | === Employee === |
40 | |||
41 | * employee_role | ||
42 | * employee_status | ||
![]() |
12.4 | 43 | * employee_departement (this one i am not shure, maybe departments should be in company ?) |
![]() |
12.2 | 44 | |
![]() |
10.1 | 45 | {{code language="sql"}} |
46 | DO $$ | ||
47 | DECLARE | ||
48 | tname TEXT; | ||
49 | BEGIN | ||
![]() |
13.1 | 50 | FOREACH tname IN ARRAY ARRAY'TBALE_ONE','TABLE_TWO'] |
![]() |
10.1 | 51 | LOOP |
52 | EXECUTE format(' | ||
53 | CREATE TABLE IF NOT EXISTS public.%I ( | ||
54 | uid SERIAL PRIMARY KEY, | ||
55 | name VARCHAR(100) NOT NULL, | ||
56 | description VARCHAR(255), | ||
57 | creation_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | ||
58 | updated_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP | ||
59 | ); | ||
60 | ALTER TABLE public.%I OWNER TO kpm_rw; | ||
61 | ', tname, tname); | ||
62 | END LOOP; | ||
63 | END$$; | ||
64 | {{/code}} | ||
65 | |||
![]() |
13.1 | 66 | == Lookup Tables with references. == |
67 | |||
68 | === Company === | ||
69 | |||
70 | * company_departements | ||
71 | |||
72 | {{code language="sql"}} | ||
73 | CREATE TABLE IF NOT EXISTS public.TABLE | ||
74 | ( | ||
75 | uid SERIAL PRIMARY KEY, | ||
76 | OTHER_TABLE_uid INTEGER NOT NULL REFERENCES public.OTHER_TABLE(uid) ON DELETE CASCADE, | ||
77 | name VARCHAR(100) NOT NULL, | ||
78 | description VARCHAR(255), | ||
79 | creation_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | ||
80 | updated_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP | ||
81 | ) | ||
82 | TABLESPACE pg_default; | ||
83 | |||
84 | ALTER TABLE IF EXISTS public.TABLE | ||
85 | OWNER TO kpm_rw; | ||
86 | {{/code}} |