実現したいこと
- SQLAlchemyを使って、仕入先、販売先等の情報をまとめるデータベースを作成したいです。
- 仕入先も販売先も、個人の場合もあるし、法人の場合もあります。
- 仕入先であり、かつ、販売先である場合もあります。
- テーブルの構成をどのようにすべきか悩んでおります。
私が考えたテーブルの構成
①Person(個人毎のテーブル)
id | 氏名 | 住所 |
---|---|---|
1 | 山田太郎 | 東京都〇〇 |
2 | 田中次郎 | 神奈川県〇〇 |
3 | 鈴木三郎 | 千葉県〇〇 |
②Organization(法人等組織のテーブル)
id | 名称 | 住所 |
---|---|---|
1 | 株式会社A | 東京都〇〇 |
2 | 株式会社B | 神奈川県〇〇 |
③Position(役職のテーブル)
②Organization | ①Person | 役職名 |
---|---|---|
株式会社A | 山田太郎 | 部長 |
株式会社A | 田中次郎 | 課長 |
④Item(販売製品のテーブル)
|id|製品名|仕入先|販売先|
|:--|:--|:--|
|1|機械1|株式会社A|鈴木三郎|
|2|機械2|鈴木三郎|株式会社A|
上記の④Itemを見て頂ければ分かるように、
機械1のように法人から仕入れて個人に販売したり、機械2のように個人から仕入れて法人に販売したり、パターンは色々あります。
④Itemにおいて、どのようにリレーションを設定すべきかと悩んでおります。
①Personと②Organizationの両方を参照できるようなリレーションは、設定できるのでしょうか。
上記のような場合、一般的にどのように処理されているのかと思い、お分かりの方、ご教示頂ければ幸いです。
よろしくお願い致しますm(__)m
補足情報(FW/ツールのバージョンなど)
- データベースは、PostgreSQLを利用しています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/05/31 13:20