注文情報を管理するためのデータベースを設計するとして、次のようなテーブルを作りました。
・注文詳細(注文したプラン、備考など) orders
・送付先情報(送り先名前、住所) shipments
・支払情報(カードの名義、下4桁の番号) payments
それぞれの関係性は1対1です。1回の注文で必ず各テーブルに1つずつデータが登録されるものとします。
各テーブルを紐付けるために親IDか子IDを持たせなければならないと思いますが、
一般的にどちらに持たせるのルールや常識などあるのでしょうか?
-
orders を親として、他のテーブルに order_id の形で持たせる
-
orders に shipment_id, payment_id を持たせる
-
orders と、それ以外の両方に ID を持たせる(例: orders.payment_id, payments.order_id)
知りたいのは今回のケースに限った設計の仕方というよりもこのような親子関係のあるデータベース全般を設計するにあたって、何を条件に、どちらにリレーション用のIDをもたせるかのルールが知りたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。