0

データベースを使用した Web プログラミング全体にまだ非常に慣れていないため、あなたが私に与えることができるヒントに満足しています。

私は今、これに永遠に頭を悩ませようとしてきましたが、エレガントな解決策を見つけることができないようです.

たとえば、1 階、2 階、3 階など、複数のフロアがあるホテルがあるとします。

また、各フロアには、プレジデント、ハネムーン、エンペラーなど、いくつかのタイプのスイートがあるとしましょう。各スイートには、それに属するいくつかの部屋があります。部屋自体は家具の点で異なります。

現在、すべてのタイプのスイートが 1 つのフロアにあるか、複数のフロアに複数のスイートがあります。

+1stFloor
   +president suite
      +room1
      +room2
   +honeymoon suite
      +room1
+2ndFloor
   +president suite
      +room1
      +room2
   +emperor suite
      +room1
      +room2
      +room3
+3rdFloor
   +emperor suite
      +room1
      +room2
      +room3
   +honeymoon suite
      +room1

したがって、フロア モデルから始めて、フロアに属するスイート モデルとスイートに属するルーム モデルを続けることができます。部屋にはさまざまな種類の家具があったのかもしれません。これは非常に複雑になり、これを正しく行っているかどうかわかりません。

もう 1 つのアプローチは、各スイートを個別のリソース全体としてモデル化することです。

これを正しく行う方法に関するヒントはありますか?

  • 部屋の数とタイプを除いて、属性の点では似ていますが、スイートごとに個別のモデルを作成しますか? 100 を超える異なるスイートがあると、かなり反復的でエラーが発生しやすいようです。

  • フロア、スイート、ルーム、インスタンス化などの個別のリソースを構築し、それらを次々に関連付けますか? 私はこれを行う方法を知っていたので、プレジデンシャルスイートを構築できました。しかし、複数のプレジデンシャル スイートが必要な場合、どうすれば同じスイート/部屋の関連付けを作成できますか?

  • 部屋が奇妙な家具を除いてほとんどの属性を共有している場合、どのように部屋をモデル化しますか?

たとえば、コンピュータ ハードウェアの販売者は、カタログをどのようにモデル化しますか。同じカテゴリのアイテムは多くの類似した属性を共有していますが、非常に多くのカテゴリがあります...

ヒント、ポインタ、またはチュートリアルへのリンクは大歓迎です。

ありがとうティム

4

2 に答える 2