0

私のデータベースでは、アカウント テーブルは私のサイトに登録されているすべてのアカウントを保持しています。Resource1、Resource2 ... ResourceN という名前のリソース テーブルで維持されるリソースのセットもあり、すべてのリソースはいくつかのアカウントに属しています。

問題は、アカウントのIDを各テーブルの列として埋め込む必要があることです? または各リソースに結合テーブルを使用しますか? 私は個人的にテーブルに参加するのが好きですが、この種の問題に対してどちらがより良い設計であるかはわかりません.

ありがとうございました

4

2 に答える 2

1

「結合テーブル」を使用すると、関係の点でより柔軟になります。たとえば、リソースとアカウントレコードの間に1対1、1対多、または多対多の関係を設定できますが、これらの関係を適用すると、複雑になります。これらの関係にどのような制約があるか、または今後どのような制約があるかわからない場合は、「テーブルに参加する」という考えを採用します。

于 2012-09-09T22:24:39.190 に答える
1

あなたの質問から私が理解していることから、このデザインはどうですか。

Accounts、AccountResources、Resourcesの3つのテーブルを作成します。アソシエーションテーブルを使用すると、クエリも簡略化されます。

表:アカウント列:AccountID

テーブル:AccountResources列:AccountID ResourceID

ここで、AccountIDとResourceIDが複合キーを形成します。

表:リソース列:ResourceID

于 2012-09-09T22:42:08.893 に答える