Files
stockdb/db_schema.sql
2024-08-31 13:00:04 -04:00

56 lines
1.5 KiB
SQL

CREATE TABLE IF NOT EXISTS entities (
cik INT PRIMARY KEY, -- CIK is now the primary key, ensuring uniqueness
name VARCHAR(255) NOT NULL -- Name of the company
);
CREATE TABLE IF NOT EXISTS facts (
id VARCHAR(255) PRIMARY KEY, -- Unique identifier for the fact
taxonomy VARCHAR(255), -- Taxonomy of the fact
label VARCHAR(255), -- Label of the fact
description TEXT, -- Description of the fact
unit VARCHAR(255) -- Unit of the fact
);
CREATE TABLE IF NOT EXISTS data (
cik INT, -- CIK of the company
fact_id VARCHAR(255),
end DATE,
start DATE, -- Start date of the fact
val INT,
accn VARCHAR(255),
fy INT,
fp VARCHAR(255),
form VARCHAR(255),
filed DATE,
frame VARCHAR(255),
PRIMARY KEY (cik, fact_id, end),
FOREIGN KEY (cik) REFERENCES entities(cik),
FOREIGN KEY (fact_id) REFERENCES facts(id)
);
-- @block
CREATE TABLE IF NOT EXISTS data (
entity_cik INT,
entity_name VARCHAR(255),
fact_id VARCHAR(255),
fact_taxonomy VARCHAR(255),
fact_label VARCHAR(255),
fact_description TEXT,
fact_unit VARCHAR(255)
end DATE,
val FLOAT,
accn VARCHAR(50),
fy INT,
fp VARCHAR(255),
form VARCHAR(255),
filed DATE,
frame VARCHAR(255),
start DATE,
PRIMARY KEY (entity_cik, fact_id, end, form),
)
-- @block
CREATE TABLE IF NOT EXISTS data ();