0

私は動物のテーブルを持っています:

動物
ID 名前
1 犬
2 猫
3 ウサギ

各動物にはポートフォリオがあるため、データベース テーブルを定義する方法は 2 つあります。

方法 1:

ポートフォリオ
ID AnimalId 日付
1 1 01/01/2001
2 2 20/03/2009
3 3 05/03/2009
4 1 01/04/2005

方法 2:

DogPortfolio
ID 日付
1 2001 年 1 月 1 日
2 2005 年 1 月 4 日

CatPortfolio
ID 日付
1 2009/03/20

Rabbitポートフォリオ
ID 日付
1 2009/05/03

どの方法が好ましいですか?これは不自然な例であり、実際にはポートフォリオごとに最大 10,000 行のデータを保存することに注意してください。

4

1 に答える 1

1

私は確かに方法1を使用します。

ポートフォリオは動物の種類ごとに同じであるため、一緒にテーブルに配置する必要があります。犬のポートフォリオがウサギのポートフォリオと異なる場合は、方法 2 に似たものを検討することをお勧めします。

方法1も拡張できるので、1行追加できます

4 魚

構造の残りの部分は機能し続けます。方法 2 では、動物テーブルに行が追加されるたびにテーブル (FishPortfolio など) を作成する必要があります。

実行時に Permanent Storage テーブルを作成することを含む解決策を思い付くたびに、それはひどい考えです。

PortfolioID と AnimalID の両方がインデックスに含まれていることを確認してください。

于 2010-04-21T12:34:01.807 に答える