数据库有两个表格:一个用于股票(股票),另一个用于期权。这些是单独的表格,因为它们有不同的信息。例如,股票表具有股票代码栏和(主)交易栏;期权表中有一个股票代码栏,一个指向股票表的FK栏,一个执行价格栏,一个到期日期栏和一个右侧(投入/看涨)栏。我认为把它们分成两张表是一个好主意,尽管这是开放的讨论。数据库设计:股票和期权交易
我需要在数据库中存储交易(或订单或交易)。一笔交易就像“在2012年4月14日以200美元买入100股IBM”,一笔交易可以涉及股权或期权,交易应该存储为一张表格,其中一列指明交易是否涉及股票或一个选项,另一列是指向股票表或期权表的FK?或者应该有两个交易表,一个涉及股票交易,一个涉及期权交易?
稍后,我还需要添加头寸表,一个简单的头寸将由两笔交易组成,比如今天买入100股IBM,明天卖出100股IBM,但也可能更复杂,涉及期权和股票(例如,被保险的看涨期权),似乎如果我为两笔交易做交易,那么在设计头寸表时我会面临同样的困难,如果我实施了单一交易表e:我需要一个指向股票交易表或期权交易表的外键。
这让我觉得应该有一个单一的工具表,其中包含股票和期权。但是,股票所需的信息与期权差异很大(见第一段),这也是错误的。包含库存的行将使所有特定于选项的列为空。
我应该如何设计这个数据库?
你介意发布SQL DDL和一些示例数据作为INSERT语句吗? – 2012-04-25 03:07:38