summaryrefslogtreecommitdiff
path: root/graphs/sql/a_new_dawn/req01.sql
blob: 78015ece615b40a22a9dd70660f663f1d01f0f31 (plain)
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
CREATE SCHEMA nexus;
CREATE SCHEMA nexus_it;
CREATE SCHEMA techwave;
CREATE SCHEMA nexus_food;
CREATE SCHEMA guardforce;
CREATE TYPE nexus.position AS ENUM (
    'JUNIOR',
    'SENIOR',
    'MANAGER',
    'DIRECTOR'
);
CREATE TYPE nexus.relationship_type AS ENUM (
    'PARENT',
    'SUBSIDIARY',
    'AFFILIATE'
);
CREATE TYPE nexus_food.nutriscore AS ENUM (
    'A',
    'B',
    'C',
    'D',
    'E'
);
CREATE TABLE nexus.employees
(
    id SERIAL PRIMARY KEY,
    first_name VARCHAR(25),
    last_name VARCHAR(25),
    employee_position nexus.position,
    salary NUMERIC(10, 2)
);
CREATE TABLE nexus.nexus_relations
(
    id SERIAL PRIMARY KEY,
    parent_company VARCHAR(25),
    child_company VARCHAR(25),
    relationship_type nexus.relationship_type
);
CREATE TABLE nexus_it.software_assets
(
    id SERIAL PRIMARY KEY,
    software_name VARCHAR(50),
    license_key UUID,
    expiration_date DATE
);
CREATE TABLE techwave.project_milestones
(
    id SERIAL PRIMARY KEY,
    milestone_name VARCHAR(50),
    due_date DATE,
    completion_status BOOLEAN
);
CREATE TABLE nexus_food.products
(
    id SERIAL PRIMARY KEY,
    product_name VARCHAR(25),
    product_nutriscore nexus_food.nutriscore
);
CREATE TABLE guardforce.incident_reports
(
    id SERIAL PRIMARY KEY,
    incident_description TEXT,
    incident_date TIMESTAMP,
    incident_location VARCHAR(50),
    reported_by VARCHAR(50)
);