2

データベース構造で循環関係を取り除くにはどうすればよいですか。Item というエンティティがあります。アイテムはサブアイテムを持つことができます (循環関係)。アイテムは、それがどの会計年度であるかに応じて、複数のレートを持つことができます (その目的のために作成された rate_per_year エンティティと 1-m リレーションシップ)。アイテムにサブアイテムがある場合、レートがない場合があります (サブアイテムが作成された場合は、この関係を壊す必要があります)。どんな助けでも大歓迎です。

事前にサンクス

4

2 に答える 2

1

item->subitem チェーンが複数のレベルで継続できる場合、実際の選択肢はありませんが、それがあるように見えます。トップレベルのアイテムのみがサブアイテムを持つことができる場合、構造を 2 つの層に分けるitemことができます。groupitemgroup

于 2009-06-01T14:17:46.813 に答える
0

あなたが説明したのは部品爆発問題です。私が大学時代、これはリレーショナル データベースでは解決できないことであり、オブジェクト指向データベースの主なセールス ポイントの 1 つでした。使用しているDBによっては、物事が進んでいるようです。

このページは興味深い Sql Anywhere ユーザー ガイド - パーツの爆発問題ですが、残念ながらどの RDBMS を使用していたかについて言及していませんでした。また、SQL Server 2005 でもサポートされているようですので、おそらく幸運でしょう。「再帰的 SQL クエリ」と使用している DB を検索してみてください。

幸運を祈ります

于 2009-06-01T15:56:12.473 に答える