当前位置: 首页 > article >正文

PostgreSQL_数据表结构设计并创建

目录

前置:

1 数据表设计思路

2 数据表格SQL

3 创建

3.1 创建数据库 db_stock

3.2 在 pgAdmin4 中创建表


前置:

本博文是一个系列。在本人“数据库专栏”-》“PostgreSQL_”开头的博文

1 数据表设计思路

1 日数据来自优矿,优矿的数据可以通过csv导出,但要注意每日只能下载30M

2 日数据的使用主要包括两个方面,一个是查询一只股票的历史数据(在这里理解为纵向数据),一个是查询某日或某段时间所有股票的数据(在这里理解为横向数据)

3 考虑到复权数据的特性,数据库中保存未复权数据。需要使用复权数据时再通过复权因子计算。所以需要有单独保存复权因子的地方(本实例只考虑前复权的情况)。

基于以上三点,本项目需要以下表格:

1 表格 t_stock_daily 用于存储纵向数据

2 表格 t_daily 用于存储横向数据

3 表格 t_ticker_adj_factor 用于存储纵向数据的前复权因子

4 表格 t_date_adj_factor 用于存储横数据的向前复权因子

本实例将数据库命名为 db_stock

2 数据表格SQL

表格SQL语句
t_stock_daily
create table t_stock_daily(
ticker varchar ,
tradeDate varchar[],
openPrice real[],
highestPrice real[],
lowestPrice real[],
closePrice real[],
turnoverVol real[],
turnoverValue real[],
dealAmount real[],
turnoverRate real[],
negMarketValue double precision[],
marketValue double precision[],
chgPct real[],
PE real[],
PE1 real[],
PB real[],
isOpen smallint[],
vwap real[]
)
t_daily
create table t_daily(
tradeDate varchar ,
tradeDateOj date,
ticker varchar[],
openPrice real[],
highestPrice real[],
lowestPrice real[],
closePrice real[],
turnoverVol real[],
turnoverValue real[],
dealAmount real[],
turnoverRate real[],
negMarketValue double precision[],
marketValue double precision[],
chgPct real[],
PE real[],
PE1 real[],
PB real[],
isOpen smallint[],
vwap real[]
)
t_ticker_adj_factor
create table t_ticker_adj_factor(
ticker varchar,
tradeDate varchar[],
accumAdjFactor real[]
)
t_date_adj_factor
create table t_date_adj_factor(
tradeDate varchar,
ticker varchar[],
accumAdjFactor real[]
)

字段名和优矿中一样,要知道具体含义可以看优矿官网  https://uqer.datayes.com/ 中的数据研究

3 创建

3.1 创建数据库 db_stock

创建数据库有多种方式,本项目直接用命令行创建

1) 打开cmd

2) cd 到 PostgreSQL安装目录里的bin目录下

3)执行  

createdb -U postgres -h 127.0.0.1 -p 5432 db_stock

3.2 在 pgAdmin4 中创建表

 

 Tools -> Query Tool

那现在就开始愉快地创建表格吧


http://www.kler.cn/a/595255.html

相关文章:

  • 使用 Ansys Fluent 评估金属管道腐蚀
  • 1204. 【高精度练习】密码
  • 《Python实战进阶》No42: 多线程与多进程编程详解(上)
  • 【漫话机器学习系列】153.残差平方和(Residual Sum of Squares, RSS)
  • LeetCode 2680.最大或值:位运算
  • 如何在IPhone 16Pro上运行python文件?
  • 【UI设计】一些好用的免费图标素材网站
  • el-select下拉框,搜索时,若是匹配后的数据有且只有一条,则当失去焦点时,默认选中该条数据
  • ngx_http_conf_port_t
  • 每天学一个 Linux 命令(6):shutdown
  • QT学习笔记3
  • ⭐算法OJ⭐二叉树的后序遍历【树的遍历】(C++实现)Binary Tree Postorder Traversal
  • 强大的AI网站推荐(第二集)—— V0.dev
  • 解释下Cumulative Layout Shift (CLS)以及如何优化?
  • JavaScript(JS)单线程影响速度
  • Linux:gsd-account进程异常内存泄漏排查
  • 背包问题——多重背包(C语言)
  • go中的文件、目录的操作
  • vscode/cursor中python运行路径设置 模块导入问题
  • 【AI论文】Being-0:一款配备视觉-语言模型与模块化技能的人形机器人智能体