open-navigator / databricks /communityone_schema.sql
jcbowyer's picture
Clean HuggingFace deployment without binary files
61d29fc
/*
* ER/Studio Data Architect SQL Code Generation
* Project : CommunityOne Schema - Generic Community Engagement Data Platform
*
* Date Created : Monday, April 28, 2026
* Target DBMS : Databricks
*
* Description: Comprehensive schema for tracking civic engagement including:
* - Government jurisdictions and officials
* - Nonprofit organizations and grants
* - Meetings, legislation, and policy decisions
* - Community health and social outcome observations
*/
/* ========================================
* DIMENSION TABLES
* ======================================== */
/*
* TABLE: dim_data_source
*/
CREATE TABLE dim_data_source
(
source_key string NOT NULL,
data_steward_desc string,
data_steward_code string,
dataset_desc string,
dataset_code string,
collection_mode_type string,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_dim_data_source PRIMARY KEY (source_key) NOT ENFORCED
)
COMMENT 'Data source metadata and lineage tracking'
;
/*
* TABLE: dim_date
*/
CREATE TABLE dim_date
(
date_key int NOT NULL,
full_date date NOT NULL,
day_of_month int,
day_of_week int,
day_of_week_name string,
is_weekend boolean,
week_of_year int,
iso_week string,
month_number int,
month_name string,
month_abbr string,
year_month int,
year_month_name string,
quarter_number int,
quarter_name string,
year int,
fiscal_year int,
fiscal_quarter int,
fiscal_month int,
is_holiday boolean DEFAULT FALSE,
holiday_name string,
is_pilot_period boolean DEFAULT FALSE,
is_baseline_period boolean DEFAULT FALSE,
CONSTRAINT dim_date_pk PRIMARY KEY (date_key)
)
TBLPROPERTIES('delta.feature.allowColumnDefaults' = 'supported')
COMMENT 'Time dimension for temporal analysis and trend tracking'
;
/*
* TABLE: dim_geography
*/
CREATE TABLE dim_geography
(
geography_key string NOT NULL,
geo_type string,
fips_code string,
geo_name_desc string,
county_name_desc string,
state_code string,
record_start_dttm timestamp,
record_end_dttm timestamp,
current_record_ind smallint,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_dim_geography PRIMARY KEY (geography_key) NOT ENFORCED
)
COMMENT 'Geographic dimension - cities, counties, states, districts'
;
/*
* TABLE: dim_jurisdiction
*/
CREATE TABLE dim_jurisdiction
(
jurisdiction_key string NOT NULL,
jurisdiction_id string,
jurisdiction_name string,
jurisdiction_type string,
geography_key string,
ocd_id string,
website_url string,
population int,
record_start_dttm timestamp,
record_end_dttm timestamp,
current_record_ind smallint,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_dim_jurisdiction PRIMARY KEY (jurisdiction_key) NOT ENFORCED
)
COMMENT 'Government jurisdictions - cities, counties, states, school districts'
;
/*
* TABLE: dim_organization
*/
CREATE TABLE dim_organization
(
organization_key string NOT NULL,
ein string,
organization_name string,
organization_type string,
ntee_code string,
ntee_description string,
subsection_code string,
foundation_code string,
deductibility_status string,
exempt_status_code string,
geography_key string,
state_code string,
city string,
zip_code string,
asset_amount decimal(18, 2),
income_amount decimal(18, 2),
revenue_amount decimal(18, 2),
ruling_date string,
tax_period string,
mission_statement string,
is_private_foundation boolean,
record_start_dttm timestamp,
record_end_dttm timestamp,
current_record_ind smallint,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_dim_organization PRIMARY KEY (organization_key) NOT ENFORCED
)
COMMENT 'Nonprofit organizations, churches, private foundations (IRS EO-BMF)'
;
/*
* TABLE: dim_measure
*/
CREATE TABLE dim_measure
(
measure_key string NOT NULL,
source_key string,
measure_code string,
measure_desc string,
measure_long_desc string,
measure_category_type string,
measure_level_type string,
measure_tooltip_desc string,
base_unit_desc string,
unit_prefix_code string,
unit_suffix_code string,
indicator_nbr string,
indicator_group_type string,
indicator_desc string,
dashboard_trend_ind boolean,
dashboard_cross_ind boolean,
record_start_dttm timestamp,
record_end_dttm timestamp,
current_record_ind smallint,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_dim_measure PRIMARY KEY (measure_key) NOT ENFORCED
)
COMMENT 'Community outcome measures - health, economic, education, social indicators'
;
/*
* TABLE: dim_postal
*/
CREATE TABLE dim_postal
(
postal_key string NOT NULL,
postal_code string,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_dim_postal PRIMARY KEY (postal_key) NOT ENFORCED
)
;
/*
* TABLE: dim_state
*/
CREATE TABLE dim_state
(
state_key string NOT NULL,
state_fips_nbr int,
state_name_desc string,
state_abbr string,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_dim_state PRIMARY KEY (state_key) NOT ENFORCED
)
;
/*
* TABLE: dim_statistic_type
*/
CREATE TABLE dim_statistic_type
(
statistic_key string NOT NULL,
statistic_type string,
calculation_method_desc string,
adjustment_desc string,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_dim_statistic_type PRIMARY KEY (statistic_key) NOT ENFORCED
)
;
/*
* TABLE: dim_stratification
*/
CREATE TABLE dim_stratification
(
stratification_key string NOT NULL,
stratification_category_type string,
stratification_level_desc string,
stratification_group_type string,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_dim_stratification PRIMARY KEY (stratification_key) NOT ENFORCED
)
COMMENT 'Demographic stratification - age, race, income, education levels'
;
/*
* TABLE: dim_survey_period
*/
CREATE TABLE dim_survey_period
(
survey_period_key string NOT NULL,
date_type string,
year_nbr int,
year_start_nbr int,
year_end_nbr int,
approx_date date,
duration_desc string,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_dim_survey_period PRIMARY KEY (survey_period_key) NOT ENFORCED
)
;
/* ========================================
* FACT TABLES
* ======================================== */
/*
* TABLE: fact_communityone_observation
* Generic community outcome observations - health, economic, social, education
*/
CREATE TABLE fact_communityone_observation
(
observation_key string NOT NULL,
measure_key string,
geography_key string,
jurisdiction_key string,
stratification_key string,
statistic_key string,
postal_key string NOT NULL,
state_key string NOT NULL,
survey_period_key string NOT NULL,
date_key int NOT NULL,
population_desc string,
value_nbr decimal(18, 6),
ci_present_ind boolean,
ci_lower_nbr decimal(18, 6),
ci_upper_nbr decimal(18, 6),
proportion_nbr decimal(18, 6),
prop_lower_ci_nbr decimal(18, 6),
prop_upper_ci_nbr decimal(18, 6),
cell_size_unweighted_nbr int,
direction_desc string,
source_row_id_nbr bigint,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_fact_communityone PRIMARY KEY (observation_key) NOT ENFORCED
)
COMMENT 'Community outcome observations - health, education, economic, social indicators'
;
/*
* TABLE: fact_grant
* Individual grant transactions - foundation grants, government grants, federal funding
*/
CREATE TABLE fact_grant
(
grant_key string NOT NULL,
grant_id string,
recipient_org_key string,
recipient_jurisdiction_key string,
funder_org_key string,
funder_jurisdiction_key string,
recipient_ein string,
recipient_name string,
recipient_type string,
funder_ein string,
funder_name string,
funder_type string,
grant_amount decimal(18, 2),
grant_purpose string,
program_area string,
award_date_key int,
start_date_key int,
end_date_key int,
grant_duration_months int,
grant_status string,
funding_source string,
is_multi_year boolean,
restrictions string,
reporting_requirements string,
source_key string,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_fact_grant PRIMARY KEY (grant_key) NOT ENFORCED
)
COMMENT 'Grant transactions from 990 Schedule I, 990-PF, USASpending.gov, state grant databases'
;
/*
* TABLE: fact_nonprofit_finance
* Annual nonprofit financial filings from Form 990
*/
CREATE TABLE fact_nonprofit_finance
(
filing_key string NOT NULL,
organization_key string,
ein string,
tax_year int,
fiscal_year_end_date_key int,
filing_date_key int,
total_revenue decimal(18, 2),
total_expenses decimal(18, 2),
total_assets decimal(18, 2),
total_liabilities decimal(18, 2),
net_assets decimal(18, 2),
program_expenses decimal(18, 2),
admin_expenses decimal(18, 2),
fundraising_expenses decimal(18, 2),
grants_paid decimal(18, 2),
contributions_received decimal(18, 2),
government_grants decimal(18, 2),
foundation_grants decimal(18, 2),
corporate_donations decimal(18, 2),
individual_donations decimal(18, 2),
membership_dues decimal(18, 2),
special_events_revenue decimal(18, 2),
program_service_revenue decimal(18, 2),
investment_income decimal(18, 2),
rental_income decimal(18, 2),
other_revenue decimal(18, 2),
employee_count int,
volunteer_count int,
overhead_ratio decimal(8, 4),
fundraising_efficiency decimal(8, 4),
form_990_url string,
source_key string,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_fact_nonprofit_finance PRIMARY KEY (filing_key) NOT ENFORCED
)
COMMENT 'Annual nonprofit 990 filings with revenue breakdown and efficiency metrics'
;
/*
* TABLE: fact_jurisdiction_budget
* Government budgets and spending by jurisdiction
*/
CREATE TABLE fact_jurisdiction_budget
(
budget_key string NOT NULL,
jurisdiction_key string,
fiscal_year int,
fiscal_year_start_date_key int,
fiscal_year_end_date_key int,
budget_type string,
total_revenue decimal(18, 2),
total_expenditures decimal(18, 2),
total_debt decimal(18, 2),
property_tax_revenue decimal(18, 2),
sales_tax_revenue decimal(18, 2),
federal_grants decimal(18, 2),
state_grants decimal(18, 2),
general_fund_balance decimal(18, 2),
budget_document_url string,
published_date_key int,
source_key string,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_fact_jurisdiction_budget PRIMARY KEY (budget_key) NOT ENFORCED
)
COMMENT 'Government budgets and financial data by jurisdiction'
;
/*
* TABLE: fact_meeting
* Government meetings, hearings, trainings, community events
*/
CREATE TABLE fact_meeting
(
meeting_key string NOT NULL,
meeting_id string,
jurisdiction_key string,
meeting_date_key int,
meeting_type string,
meeting_title string,
body_name string,
status string,
platform string,
source_url string,
has_agenda boolean,
has_minutes boolean,
has_video boolean,
topic_tags array<string>,
location_type string,
record_created_dttm timestamp,
record_last_modified_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_fact_meeting PRIMARY KEY (meeting_key) NOT ENFORCED
)
COMMENT 'Government meetings, public hearings, trainings, community events'
;
/*
* TABLE: bridge_grant_program_area
* Many-to-many relationship between grants and program areas (grants can support multiple areas)
*/
CREATE TABLE bridge_grant_program_area
(
grant_key string NOT NULL,
program_area_code string NOT NULL,
program_area_desc string,
allocation_pct decimal(5, 2),
record_created_dttm timestamp,
load_run_id bigint,
CONSTRAINT pk_bridge_grant_program PRIMARY KEY (grant_key, program_area_code) NOT ENFORCED
)
COMMENT 'Bridge table for grant program areas (multi-purpose grants)'
;
/* ========================================
* FOREIGN KEY CONSTRAINTS
* ======================================== */
/* dim_measure */
ALTER TABLE dim_measure ADD CONSTRAINT fk_measure_source
FOREIGN KEY (source_key)
REFERENCES dim_data_source NOT ENFORCED
;
/* dim_jurisdiction */
ALTER TABLE dim_jurisdiction ADD CONSTRAINT fk_jurisdiction_geography
FOREIGN KEY (geography_key)
REFERENCES dim_geography NOT ENFORCED
;
/* dim_organization */
ALTER TABLE dim_organization ADD CONSTRAINT fk_organization_geography
FOREIGN KEY (geography_key)
REFERENCES dim_geography NOT ENFORCED
;
/* fact_communityone_observation */
ALTER TABLE fact_communityone_observation ADD CONSTRAINT fk_observation_postal
FOREIGN KEY (postal_key)
REFERENCES dim_postal NOT ENFORCED
;
ALTER TABLE fact_communityone_observation ADD CONSTRAINT fk_observation_state
FOREIGN KEY (state_key)
REFERENCES dim_state NOT ENFORCED
;
ALTER TABLE fact_communityone_observation ADD CONSTRAINT fk_observation_survey_period
FOREIGN KEY (survey_period_key)
REFERENCES dim_survey_period NOT ENFORCED
;
ALTER TABLE fact_communityone_observation ADD CONSTRAINT fk_observation_date
FOREIGN KEY (date_key)
REFERENCES dim_date NOT ENFORCED
;
ALTER TABLE fact_communityone_observation ADD CONSTRAINT fk_observation_geography
FOREIGN KEY (geography_key)
REFERENCES dim_geography NOT ENFORCED
;
ALTER TABLE fact_communityone_observation ADD CONSTRAINT fk_observation_jurisdiction
FOREIGN KEY (jurisdiction_key)
REFERENCES dim_jurisdiction NOT ENFORCED
;
ALTER TABLE fact_communityone_observation ADD CONSTRAINT fk_observation_measure
FOREIGN KEY (measure_key)
REFERENCES dim_measure NOT ENFORCED
;
ALTER TABLE fact_communityone_observation ADD CONSTRAINT fk_observation_statistic
FOREIGN KEY (statistic_key)
REFERENCES dim_statistic_type NOT ENFORCED
;
ALTER TABLE fact_communityone_observation ADD CONSTRAINT fk_observation_stratification
FOREIGN KEY (stratification_key)
REFERENCES dim_stratification NOT ENFORCED
;
/* fact_grant */
ALTER TABLE fact_grant ADD CONSTRAINT fk_grant_recipient_org
FOREIGN KEY (recipient_org_key)
REFERENCES dim_organization NOT ENFORCED
;
ALTER TABLE fact_grant ADD CONSTRAINT fk_grant_recipient_jurisdiction
FOREIGN KEY (recipient_jurisdiction_key)
REFERENCES dim_jurisdiction NOT ENFORCED
;
ALTER TABLE fact_grant ADD CONSTRAINT fk_grant_funder_org
FOREIGN KEY (funder_org_key)
REFERENCES dim_organization NOT ENFORCED
;
ALTER TABLE fact_grant ADD CONSTRAINT fk_grant_funder_jurisdiction
FOREIGN KEY (funder_jurisdiction_key)
REFERENCES dim_jurisdiction NOT ENFORCED
;
ALTER TABLE fact_grant ADD CONSTRAINT fk_grant_award_date
FOREIGN KEY (award_date_key)
REFERENCES dim_date NOT ENFORCED
;
ALTER TABLE fact_grant ADD CONSTRAINT fk_grant_start_date
FOREIGN KEY (start_date_key)
REFERENCES dim_date NOT ENFORCED
;
ALTER TABLE fact_grant ADD CONSTRAINT fk_grant_end_date
FOREIGN KEY (end_date_key)
REFERENCES dim_date NOT ENFORCED
;
ALTER TABLE fact_grant ADD CONSTRAINT fk_grant_source
FOREIGN KEY (source_key)
REFERENCES dim_data_source NOT ENFORCED
;
/* fact_nonprofit_finance */
ALTER TABLE fact_nonprofit_finance ADD CONSTRAINT fk_finance_organization
FOREIGN KEY (organization_key)
REFERENCES dim_organization NOT ENFORCED
;
ALTER TABLE fact_nonprofit_finance ADD CONSTRAINT fk_finance_fiscal_year_end
FOREIGN KEY (fiscal_year_end_date_key)
REFERENCES dim_date NOT ENFORCED
;
ALTER TABLE fact_nonprofit_finance ADD CONSTRAINT fk_finance_filing_date
FOREIGN KEY (filing_date_key)
REFERENCES dim_date NOT ENFORCED
;
ALTER TABLE fact_nonprofit_finance ADD CONSTRAINT fk_finance_source
FOREIGN KEY (source_key)
REFERENCES dim_data_source NOT ENFORCED
;
/* fact_jurisdiction_budget */
ALTER TABLE fact_jurisdiction_budget ADD CONSTRAINT fk_budget_jurisdiction
FOREIGN KEY (jurisdiction_key)
REFERENCES dim_jurisdiction NOT ENFORCED
;
ALTER TABLE fact_jurisdiction_budget ADD CONSTRAINT fk_budget_fiscal_year_start
FOREIGN KEY (fiscal_year_start_date_key)
REFERENCES dim_date NOT ENFORCED
;
ALTER TABLE fact_jurisdiction_budget ADD CONSTRAINT fk_budget_fiscal_year_end
FOREIGN KEY (fiscal_year_end_date_key)
REFERENCES dim_date NOT ENFORCED
;
ALTER TABLE fact_jurisdiction_budget ADD CONSTRAINT fk_budget_published_date
FOREIGN KEY (published_date_key)
REFERENCES dim_date NOT ENFORCED
;
ALTER TABLE fact_jurisdiction_budget ADD CONSTRAINT fk_budget_source
FOREIGN KEY (source_key)
REFERENCES dim_data_source NOT ENFORCED
;
/* fact_meeting */
ALTER TABLE fact_meeting ADD CONSTRAINT fk_meeting_jurisdiction
FOREIGN KEY (jurisdiction_key)
REFERENCES dim_jurisdiction NOT ENFORCED
;
ALTER TABLE fact_meeting ADD CONSTRAINT fk_meeting_date
FOREIGN KEY (meeting_date_key)
REFERENCES dim_date NOT ENFORCED
;
/* bridge_grant_program_area */
ALTER TABLE bridge_grant_program_area ADD CONSTRAINT fk_bridge_grant
FOREIGN KEY (grant_key)
REFERENCES fact_grant NOT ENFORCED
;