Skip to content

Commit b93181a

Browse files
author
santosh
committed
Data model for nse_analyzer in postgres
1 parent 983fb84 commit b93181a

File tree

1 file changed

+118
-0
lines changed

1 file changed

+118
-0
lines changed

nse_analyzer_model.sql

+118
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
/*
2+
Created: 19/07/2019
3+
Modified: 20/07/2019
4+
Project: postgres_nse_analyzer
5+
Model: RE PostgreSQL 10
6+
Database: PostgreSQL 10
7+
*/
8+
9+
10+
-- Create schemas section -------------------------------------------------
11+
12+
CREATE SCHEMA "nse_analyzer" AUTHORIZATION "postgres"
13+
;
14+
15+
CREATE SCHEMA "public" AUTHORIZATION "postgres"
16+
;
17+
18+
COMMENT ON SCHEMA "public" IS 'standard public schema'
19+
;
20+
21+
-- Create tables section -------------------------------------------------
22+
23+
-- Table nse_analyzer.D_NSE_COMPANIES
24+
25+
CREATE TABLE "nse_analyzer"."D_NSE_COMPANIES"(
26+
"company_id" Integer DEFAULT nextval('nse_analyzer."D_NSE_COMPANIES_company_id_seq"'::regclass) NOT NULL,
27+
"ISIN_ID" Character varying NOT NULL,
28+
"COMPANY_NAME" Character varying NOT NULL,
29+
"COMPANY_SYMBOL" Character varying NOT NULL
30+
)
31+
WITH (
32+
autovacuum_enabled=true)
33+
;
34+
35+
-- Add keys for table nse_analyzer.D_NSE_COMPANIES
36+
37+
ALTER TABLE "nse_analyzer"."D_NSE_COMPANIES" ADD CONSTRAINT "PK_D_NSE_COMPANIES" PRIMARY KEY ("company_id","ISIN_ID")
38+
;
39+
40+
ALTER TABLE "nse_analyzer"."D_NSE_COMPANIES" ADD CONSTRAINT "company_id" UNIQUE ("company_id")
41+
;
42+
43+
-- Table nse_analyzer.F_MWPL
44+
45+
CREATE TABLE "nse_analyzer"."F_MWPL"(
46+
"F_MWPL_ID" Integer DEFAULT nextval('nse_analyzer."F_MWPL_F_MWPL_ID_seq"'::regclass) NOT NULL,
47+
"MWPL_AMOUNT" Integer NOT NULL,
48+
"REPORTED_DATE" Date NOT NULL,
49+
"company_id" Integer DEFAULT nextval('nse_analyzer."D_NSE_COMPANIES_company_id_seq"'::regclass) NOT NULL,
50+
"ISIN_ID" Character varying NOT NULL
51+
)
52+
WITH (
53+
autovacuum_enabled=true)
54+
;
55+
56+
-- Add keys for table nse_analyzer.F_MWPL
57+
58+
ALTER TABLE "nse_analyzer"."F_MWPL" ADD CONSTRAINT "PK_F_MWPL" PRIMARY KEY ("F_MWPL_ID","company_id","ISIN_ID")
59+
;
60+
61+
ALTER TABLE "nse_analyzer"."F_MWPL" ADD CONSTRAINT "F_MWPL_ID" UNIQUE ("F_MWPL_ID")
62+
;
63+
64+
-- Table nse_analyzer.F_OPEN_INTEREST_LIMIT
65+
66+
CREATE TABLE "nse_analyzer"."F_OPEN_INTEREST_LIMIT"(
67+
"AMOUNT_ID" Integer DEFAULT nextval('nse_analyzer."F_OPEN_INTEREST_LIMIT_AMOUNT_ID_seq"'::regclass) NOT NULL,
68+
"OPEN_INTEREST" Integer NOT NULL,
69+
"LIMIT_AMOUNT" Integer,
70+
"REPORT_DATE" Date,
71+
"company_id" Integer DEFAULT nextval('nse_analyzer."D_NSE_COMPANIES_company_id_seq"'::regclass) NOT NULL,
72+
"ISIN_ID" Character varying NOT NULL
73+
)
74+
WITH (
75+
autovacuum_enabled=true)
76+
;
77+
78+
-- Add keys for table nse_analyzer.F_OPEN_INTEREST_LIMIT
79+
80+
ALTER TABLE "nse_analyzer"."F_OPEN_INTEREST_LIMIT" ADD CONSTRAINT "PK_F_OPEN_INTEREST_LIMIT" PRIMARY KEY ("AMOUNT_ID","company_id","ISIN_ID")
81+
;
82+
83+
ALTER TABLE "nse_analyzer"."F_OPEN_INTEREST_LIMIT" ADD CONSTRAINT "AMOUNT_ID" UNIQUE ("AMOUNT_ID")
84+
;
85+
86+
-- Table nse_analyzer.stage_raw_nse_data
87+
88+
CREATE TABLE "nse_analyzer"."stage_raw_nse_data"(
89+
"report_date" Character varying NOT NULL,
90+
"isin_id" Character varying NOT NULL,
91+
"company_name" Character varying,
92+
"company_symbol" Character varying,
93+
"mwpl_amount" Bigint DEFAULT 0,
94+
"open_interest" Bigint DEFAULT 0,
95+
"limit_amount" Bigint DEFAULT 0,
96+
"insert_time" Timestamp
97+
)
98+
WITH (
99+
autovacuum_enabled=true)
100+
;
101+
-- Create foreign keys (relationships) section -------------------------------------------------
102+
103+
ALTER TABLE "nse_analyzer"."F_MWPL" ADD CONSTRAINT "D_NSE_COMPANIES__F_MWPL" FOREIGN KEY ("company_id", "ISIN_ID") REFERENCES "nse_analyzer"."D_NSE_COMPANIES" ("company_id", "ISIN_ID") ON DELETE NO ACTION ON UPDATE NO ACTION
104+
;
105+
106+
ALTER TABLE "nse_analyzer"."F_OPEN_INTEREST_LIMIT" ADD CONSTRAINT "D_NSE_COMPANIES__F_OPEN_INTEREST_LIMIT" FOREIGN KEY ("company_id", "ISIN_ID") REFERENCES "nse_analyzer"."D_NSE_COMPANIES" ("company_id", "ISIN_ID") ON DELETE NO ACTION ON UPDATE NO ACTION
107+
;
108+
109+
110+
-- Grant permissions section -------------------------------------------------
111+
112+
GRANT "pg_read_all_settings" TO "pg_monitor"
113+
;
114+
GRANT "pg_read_all_stats" TO "pg_monitor"
115+
;
116+
GRANT "pg_stat_scan_tables" TO "pg_monitor"
117+
;
118+

0 commit comments

Comments
 (0)