[MySQL]:テーブルビュー、実際の表に示す。(トレースの主キー)
-
22-09-2019 - |
質問
いデータベースは、以下のような関係
Transaction->Purchase->Item->Schedule
Transaction - self explanitory
Purchase - any purchase info that relates to the item being purchased (quantity, if the user purchases more than one item). A given Transaction can have more than one Purchase_ID tied to it.
Item - Stores Item info and relates it to individual clients.
Schedule - determines the price of an item at a given time of day.
私は実行する必要はクエリを選択し、シリーズの値のスケジュールからに基づく場合 Transaction.TimeStamp
内供給日付できます。クエリのニーズを選択値からのスケジュールでその有効なタイプを利用します。主キーのないトレーサブルから取引はない。
るためには、この問題の解決には決定しているテーブルを作成するためのリンク取引を直接スケジュールのなります。
最近発見した ロールでスタイルをグローバルに -ようこのに適していると考えられた。状況を表に"ビュー"?やるべきかを実際のテーブル TransactionSchedule
?
transactionSchedule
Transaction_ID Schedule_ID
私の問題は解できないの内容が表示は有用などの特典です。
のであり、個別のテーブル電子商取引という経済活動におけ->日程を失わせないアイテム?
してどんな一般的ガイダンスはこの問題がよろしくお願いいたします。
編集: このクエリで取得するデータが、あらかじめ入力されてい
--り
解決
いることを強調するコピー価格のスケジュールから直接購入してすぐんに挿入します。そのように、解決の問題を、同時に、予防から価格はそれぞれ異なるお客様の後にする場合は(または意図的に変更します。
どのものに関する主キーのスケジュール、およびこれていないトレーサブルなかtransation:この看板のデザイン。だって、考えてみるとタイムスタンプ取引、スケジュール定義されて時間をからにタイムスタンプ-ができないのはなぜできるのですか。AFAICS次のスケジュールすべき item_id, from_timestamp, to_timestamp
仮に自分のスケジュール表してから、タイムスタンプマ索する
SELECT ..your columns..
FROM Transaction t
INNER JOIN Purchase p
ON t.id = p.transaction_id
INNER JOIN Item i
ON p.id = i.purchase_id
INNER JOIN Schedule s
ON i.id = s.item_id
AND t.timestamp BETWEEN s.from_timestamp
AND s.to_timestamp
どうを使ったビューはなんので、返却費用はかかりません。眺めは良くも悪くもよりクエリに対して、唯一の違いは、この定義はデータベースに保存されているの主な利点は次のような物になる
- 人々の再定義をコピーせずに、クエリー(およびyので、
- の変更ができますのスキーマをある程度を非表示にすることがこのアプリケーションにより更新したときのこ(この後者の活用が過大評価)
他のヒント
トランザクション・レコードは、スケジュール、主キーでリンクされている外部キーを持っていないことはできますか?またはそれは、多対多の関係です。いずれかの方法で、私がここに適切なビューが表示されません。