データベースには、株式(株式)とオプション用の2つのテーブルがあります。彼らは異なる情報を持っているので、これらは別のテーブルです。たとえば、株価表にティッカー記号列と(主な)交換列があります。オプションテーブルには、ティッカーシンボル列、株式表を指すFK列、ストライク価格列、有効期限列、および権利(プット/コール)列があります。私は議論のために開いているが、2つのテーブルでそれらを分けるのは良い考えだと思う。データベース設計:在庫とオプション取引
私は、取引(または注文、取引)をデータベースに保存する必要があります。 1回の取引は、「2012年4月14日にIBMの100株を200米ドルで購入する」のようなもので、取引には株式またはオプションが含まれます。ストック・テーブルまたはオプション・テーブルのいずれかを指し示すFKである別の列または株式を含む取引とオプションを伴う取引の2つの取引表があるか?
その後、シンプルなポジションは、今日のIBM株式100株の買収と明日のIBM株100株の売却という2つの取引で構成されますが、オプションと株式の両方を含むより複雑なものになる可能性もあります(例えば、カバーされたコール)。私は、取引のための2つのテーブルを作成する場合、私は単一の取引のtablを実装した場合、 e:株価表またはオプション取引表のいずれかを指す外部キーが必要です。
これは、株式とオプションの両方を含む単一の楽器テーブルがあるように感じます。しかし、株式に必要な情報はオプションとは非常に異なっており(最初の段落を参照)、これも間違っていると感じています。在庫を含む行には、すべてのオプション固有の列がNULLになります。
このデータベースの設計方法を教えてください。
SQL DDLといくつかのサンプルデータをINSERT文として投稿しても構いませんか? –