Database Structure
This document provides an overview of the database structure, focusing on the relationships between tables, including parent-child relationships and the foreign keys used to establish these links.
Table of Contents
- Overview
- Table Relationships
- accessholder
- accessholder_m2m_role
- auditlog
- column
- connection
- database
- dataset
- environmenttype
- history
- hypopg_hidden_indexes
- hypopg_list_indexes
- importdata
- job
- mapper
- permission
- processlog
- request
- role
- role_m2m_permission
- schedule
- schema_version
- sql
- sqlquery
- transformation
- transformation_m2m_mapper
- transformer
- user
- workspace
- Entity-Relationship Diagram (ERD)
Overview
This database consists of several tables that store data related to roles, permissions, data transformations, scheduling, and other administrative functions. The relationships between these tables are primarily defined through foreign keys, which establish links between related records.
Table Relationships
accessholder
The accessholder
table is an independent table with no direct parent or child relationships.
accessholder_m2m_role
- Child Table:
accessholder_m2m_role
- Parent Table:
accessholder
,role
- Foreign Keys:
accessholder_id
referencesaccessholder.id
role_id
referencesrole.id
This table defines a many-to-many relationship between accessholder
and role
.
auditlog
The auditlog
table is an independent table with no direct parent or child relationships.
column
- Child Table:
column
- Parent Table:
dataset
- Foreign Key:
dataset_id
referencesdataset.id
This table represents columns within a dataset.
connection
The connection
table is an independent table with no direct parent or child relationships.
database
- Child Table:
database
- Parent Table:
connection
,environmenttype
- Foreign Keys:
connection_id
referencesconnection.id
environment_id
referencesenvironmenttype.id
This table represents databases and their connections.
dataset
- Child Table:
dataset
- Parent Table:
connection
,transformer
- Foreign Keys:
connection_id
referencesconnection.id
transformer_id
referencestransformer.id
This table represents datasets linked to connections and transformers.
environmenttype
The environmenttype
table is an independent table with no direct parent or child relationships.
history
- Child Table:
history
- Parent Table:
user
- Foreign Key:
owner_id
referencesuser.id
This table tracks history entries related to users.
hypopg_hidden_indexes
The hypopg_hidden_indexes
table is an independent table with no direct parent or child relationships.
hypopg_list_indexes
The hypopg_list_indexes
table is an independent table with no direct parent or child relationships.
importdata
The importdata
table is an independent table with no direct parent or child relationships.
job
The job
table is an independent table with no direct parent or child relationships.
mapper
- Child Table:
mapper
- Parent Table:
column
,transformer
- Foreign Keys:
source_id
referencescolumn.id
target_id
referencescolumn.id
transformation_id
referencestransformer.id
This table defines mappings between columns and transformations.
permission
The permission
table is an independent table with no direct parent or child relationships.
processlog
- Child Table:
processlog
- Parent Table:
transformation
- Foreign Key:
transformation_id
referencestransformation.id
This table logs processes related to transformations.
request
The request
table is an independent table with no direct parent or child relationships.
role
- Child Table:
role
- Parent Table:
connection
- Foreign Key:
connection_id
referencesconnection.id
This table defines roles associated with database connections.
role_m2m_permission
- Child Table:
role_m2m_permission
- Parent Table:
role
,permission
- Foreign Keys:
role_id
referencesrole.id
permission_id
referencespermission.id
This table defines a many-to-many relationship between role
and permission
.
schedule
- Child Table:
schedule
- Parent Table:
job
- Foreign Key:
job_id
referencesjob.id
This table manages job schedules.
schema_version
The schema_version
table is an independent table with no direct parent or child relationships.
sql
The sql
table is an independent table with no direct parent or child relationships.
sqlquery
- Child Table:
sqlquery
- Parent Table:
connection
- Foreign Key:
connection_id
referencesconnection.id
This table represents SQL queries executed on connections.
transformation
- Child Table:
transformation
- Parent Table:
connection
,dataset
- Foreign Keys:
input_id
referencesconnection.id
output_id
referencesdataset.id
This table defines transformations between input connections and output datasets.
transformation_m2m_mapper
- Child Table:
transformation_m2m_mapper
- Parent Table:
mapper
,transformation
- Foreign Keys:
mapper_id
referencesmapper.id
transformation_id
referencestransformation.id
This table defines a many-to-many relationship between mapper
and transformation
.
transformer
The transformer
table is an independent table with no direct parent or child relationships.
user
The user
table is an independent table with no direct parent or child relationships.
workspace
- Child Table:
workspace
- Parent Table:
user
- Foreign Key:
user_id
referencesuser.id
This table represents workspaces assigned to users.