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

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

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

相关文章:

  • Unity将运行时Mesh导出为fbx
  • Nordic nRF 蓝牙的 Direct Test Mode (DTM) 测试介绍
  • 强大的AI网站推荐(第二集)—— V0.dev
  • 第六篇:Setup:组件渲染前的初始化过程是怎样的?
  • 【网络安全】从浏览器到服务端讲JavaScript安全
  • 星型拓扑网络发生网络风暴
  • 鸿蒙ArkTS+ArkUI实现五子棋游戏
  • C++ 异常 【无敌详细版】
  • 用逻辑分析仪分析Usart波形
  • 如何使用ncurses库并在Linux上编译?
  • C++Primer学习(13.1 拷贝、赋值与销毁)
  • OSPF-8 OSPF特殊区域NSSA
  • 基于 FPGA的HLS技术与应用
  • 『 C++ 』多线程编程中的参数传递技巧
  • 23 种设计模式中的访问者模式
  • 【大模型算法工程】大模型应用工具化、忠诚度以及知识库场景下PDF双栏解析问题的讨论
  • 视点游动生成光照贴图
  • 3.21学习总结 Java字符串+Static关键字
  • AI Agent开发大全第一课-AI是什么以及如何使用AI
  • Unity代码中修改动画速度
  • 上海国际电影节推出三大官方推荐单元,精选十部优秀影片
  • 中消协点名新能源汽车行业:定金退款争议频发
  • 趣看 | 五一黄金周:你拍风景,拍风景的人在拍你
  • 李云泽:将尽快推出支持小微企业民营企业融资一揽子政策
  • 前瞻|中俄元首今年将首次面对面会晤,专家:国际变局中构建更坚韧的合作架构
  • 起底新型保健品电话销售诈骗:从快递信息中筛选对象,忽悠其高价买药