refactor: total change, no longer ripping gigabytes but going directly to datasets, must find way to automate download.

This commit is contained in:
Leonard Excoffier
2024-08-31 15:32:57 -04:00
parent b5e0af3ca5
commit f31d901201
3 changed files with 89 additions and 180 deletions

View File

@@ -1,55 +1,75 @@
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 num (
adsh VARCHAR(255),
tag VARCHAR(255),
version VARCHAR(255),
coreg VARCHAR(255),
ddate BIGINT,
qtrs BIGINT,
uom VARCHAR(50),
value DOUBLE PRECISION,
footnote TEXT
);
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 pre (
adsh VARCHAR(255),
report BIGINT,
line BIGINT,
stmt VARCHAR(255),
inpth BIGINT,
rfile VARCHAR(255),
tag VARCHAR(255),
version VARCHAR(255),
plabel VARCHAR(255),
negating BIGINT
);
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)
CREATE TABLE sub (
adsh VARCHAR(255),
cik BIGINT,
name VARCHAR(255),
sic DOUBLE PRECISION,
countryba VARCHAR(100),
stprba VARCHAR(100),
cityba VARCHAR(255),
zipba VARCHAR(50),
bas1 VARCHAR(255),
bas2 VARCHAR(255),
baph VARCHAR(255),
countryma VARCHAR(100),
stprma VARCHAR(100),
cityma VARCHAR(255),
zipma VARCHAR(50),
mas1 VARCHAR(255),
mas2 VARCHAR(255),
countryinc VARCHAR(100),
stprinc VARCHAR(100),
ein BIGINT,
former VARCHAR(255),
changed DOUBLE PRECISION,
afs VARCHAR(255),
wksi BIGINT,
fye DOUBLE PRECISION,
form VARCHAR(50),
period DOUBLE PRECISION,
fy DOUBLE PRECISION,
fp VARCHAR(50),
filed BIGINT,
accepted VARCHAR(255),
prevrpt BIGINT,
detail BIGINT,
instance VARCHAR(255),
nciks BIGINT,
aciks VARCHAR(255)
);
-- @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 ();
CREATE TABLE tag (
tag VARCHAR(255),
version VARCHAR(255),
custom BIGINT,
abstract BIGINT,
datatype VARCHAR(255),
iord VARCHAR(50),
crdr VARCHAR(50),
tlabel VARCHAR(255),
doc TEXT
);