-- Sector
-- Primary Key : id_sector
CREATE TABLE sectors(
id_sector SERIAL PRIMARY KEY,
sector_name VARCHAR(100) NOT NULL
);
-- Symbols
-- Primary Key : id_symbol
-- Foreign Key : id_sector -> sectors
CREATE TABLE symbols(
id_symbol SERIAL PRIMARY KEY,
symbol VARCHAR(50) NOT NULL,
symbol_name VARCHAR(255) NOT NULL,
id_sector INTEGER NOT NULL,
marketcap NUMERIC(40,0),
employees NUMERIC(20,0),
CONSTRAINT fk_id_sector FOREIGN KEY (id_sector) REFERENCES sectors (id_sector)
);-- prices_latest
-- Primary Key : id_symbol, trade_date
-- Foreign Key : id_symbol -> symbols
CREATE TABLE prices_latest (
id SERIAL,
id_symbol INTEGER NOT NULL,
trade_date DATE NOT NULL,
open_price NUMERIC NOT NULL,
high_price NUMERIC NOT NULL,
low_price NUMERIC NOT NULL,
close_price NUMERIC NOT NULL,
volume NUMERIC NOT NULL,
chg_1d NUMERIC,
return_1d NUMERIC,
PRIMARY KEY (id_symbol),
CONSTRAINT fk_id_symbol FOREIGN KEY (id_symbol) REFERENCES symbols (id_symbol)
);-- prices_historical
-- Primary Key : id_symbol, trade_date
-- Foreign Key : id_symbol -> symbols
CREATE TABLE prices_historical (
id SERIAL,
id_symbol INTEGER NOT NULL,
trade_date DATE NOT NULL,
open_price NUMERIC NOT NULL,
high_price NUMERIC NOT NULL,
low_price NUMERIC NOT NULL,
close_price NUMERIC NOT NULL,
volume NUMERIC NOT NULL,
chg_1d NUMERIC,
return_1d NUMERIC,
PRIMARY KEY (id_symbol,trade_date),
CONSTRAINT fk_id_symbol FOREIGN KEY (id_symbol) REFERENCES symbols (id_symbol)
);