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) )