一部の部屋の可用性/占有率を管理するためのRails 3アプリケーションをRDMSとして開発しています(ホテルのようなアプリ) 日数または月数に基づいて部屋の空き状況を管理する方法
- (例えば6つのモン)数ヶ月いくつかの日/週/週末 :問題は、一つの部屋がために借りることができますので、私はシステム内の2つの異なる要件を維持するためにきています
利用可能かどうか、またどのユーザーがレンタルしているかは、特定の日付に各部屋ごとに表示する必要があります。もう一方の側では、1人のユーザーが特定の期間に1つの部屋を検索できます。 日付範囲は固定日付または数ヶ月(たとえば9月から3月)の範囲にすることができますが、これはデータベースベースと関連していないことがわかっていますが、私は留意しています。
このシステムを効率的に機能させるために、私はRoomへの参照と、各要素が0または1のときに365要素の配列(1年を表す)でテーブルYEARコンポジットを作成すると考えました。利用可能であり、1はレンタルされていることを意味する。
私はいくつかの問題に直面する必要があります。このソリューション採用:ユーザーは、いくつかの数ヶ月間、部屋を探しているとき
- リターンは非常に迅速な結果を。
- (2012年12月20日から2013年1月の第十三に例えば、「)クロスyears'rangesの管理
- 閏年
と最後の事、私はSQLを避けるために抱き合わせていますプロシージャまたは深夜のプロセス(可能であれば)
SQLでこの問題を設計するより良い方法があると確信しています... あなたのお手伝いをしてくれる人もいますか?または私にいくつかのヒントを与えている?
私は最初は同じと思っていましたが、問題を借りた月のために私は確信が持てませんでした。私が省略したもの(質問を簡略化するため)は、1年中に学生と夏に観光客に部屋を借りることです。生徒の_計算可能な単位は月ですので、生徒は15日間は部屋を借りることができません。 しかし、あなたの答えを読んで、私は最終的にデータレイヤの_開始日_と_end日_のすべての問題であることに気付きました。 私は、1ヶ月未満の間、部屋を借りることを禁止する論理を学生に持たせるだけです。 ジョエルが正しい方向に向いてくれてありがとう;) –
@DrDuke - よろしくお願いします!その答えが役に立つのであれば、自由にアップアップしてください! –
確かにそれは助力でした!私はupvoteしようとしていますが、私はそれを行うより多くの評判が必要: –