0

レンタル予約の追跡を処理するレンタル在庫アプリを構築しています。考えすぎかもしれませんが、在庫スケジュール部分のモデルまたはスキーマを理解しようとして行き詰まっています。添付の画像では、1 つの映画のコピーを 4 つ持っています。最初の 1 部のみが予定されています。5日には3部発売。6日と10日にすべてのコピーが発行されます。ここで、日付または日付範囲を検索して、その日に利用可能な在庫数を確認できるようにデータベースを設計したいと考えています。課題は、個々のレンタル アイテムごとに個々の SKU や追跡がない可能性があることです。したがって、Movie_1 を、movie_1_a、movie_1_b、movie_1_c、movie_1_d があるかのように扱うことはできません。代わりに、Movie_1 に 4 つのコピーがあり、5 日に 3 つのコピーが出ているが、どれがどれかわからないように扱う必要があります。

スキーマの書き方について誰でも提案できますか。空き状況を検索するためのサンプル クエリはどのようになりますか?

レンタル在庫入出図

4

2 に答える 2

0

ムービー テーブルに movie_copies フィールドが必要で、[Movie_flow] のテーブルを次のスキーマで作成します。

[PK]movement_id (could be an identity or an pair year/movement number if you wanna reset  movements counter every year)
movie_id
movement_datetime
movement_type (I-in/O-out)
quantity

特定の日付の映画の可用性を知りたい場合は、単純にすべての動きを movie_id で読み取り、movement_type "I" の数量値を追加し、特定の日付まで Movement_type "O" の数量を減らすことができます: movie_copies - このカウントにより、映画のコピーが得られます。利用可能。

パフォーマンスを最適化するためにそのテーブルをきれいに保ちます。履歴を保持したい場合は、古い動きをアーカイブできます

于 2013-08-20T14:05:50.573 に答える