Wiki source code of Data Structures

Version 13.2 by Kerem Yollu on 2025/03/23 11:23

Hide last authors
Kerem Yollu 1.1 1 = Data Structures for KPM and database relations =
2
3
Kerem Yollu 11.11 4 = Core Entity Tables =
Kerem Yollu 1.1 5
Kerem Yollu 2.2 6 == Address ==
Kerem Yollu 1.1 7
Kerem Yollu 13.2 8 Address table is made so that i can be populated from external source like open address,
9
Kerem Yollu 12.1 10 {{diagram/}}
11
Kerem Yollu 13.1 12 == Lookup Tables without references. ==
Kerem Yollu 3.2 13
Kerem Yollu 11.3 14 === Company ===
15
16 * company_legal_form
17 * company_relation
Kerem Yollu 11.4 18 * company_status
Kerem Yollu 11.5 19 * company_types
Kerem Yollu 11.3 20
Kerem Yollu 11.5 21 === Project ===
22
Kerem Yollu 11.7 23 * project_areas
24 * project_type
25 * project_company_role
26 * projects_person_role
Kerem Yollu 11.5 27
Kerem Yollu 11.7 28 === Task ===
29
Kerem Yollu 11.9 30 * task_category
31 * task_type
32 * task_status
Kerem Yollu 11.7 33
Kerem Yollu 11.9 34 === User ===
Kerem Yollu 11.7 35
Kerem Yollu 11.9 36 * user_role
37 * user_type
Kerem Yollu 11.7 38
Kerem Yollu 12.2 39 === Employee ===
40
41 * employee_role
42 * employee_status
Kerem Yollu 12.4 43 * employee_departement (this one i am not shure, maybe departments should be in company ?)
Kerem Yollu 12.2 44
Kerem Yollu 10.1 45 {{code language="sql"}}
46 DO $$
47 DECLARE
48 tname TEXT;
49 BEGIN
Kerem Yollu 13.1 50 FOREACH tname IN ARRAY ARRAY'TBALE_ONE','TABLE_TWO']
Kerem Yollu 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
Kerem Yollu 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}}