1

mysql50州の規制を管理する既存のDBがあります。現在の設定はリレーショナルです。50の状態のそれぞれに3つのテーブルがあります。

state_tableチャプター/サブチャプターの見出し には、2つを関連付けるIDがitem_table含まれる終了レコード が含まれます。department_table

合計すると、約620,000レコードを処理します

私はDB設計の専門家ではなく、常にこれを現状のまま利用してきましたが、50州すべてのテーブルの性質上、すべての州での検索などが制限されており、より良いアプローチがあるかどうか疑問に思っています。

これを組み合わせて、国全体の3つのリレーショナルテーブルの単一のセットにするか、すべてを処理する単一のテーブルにするかを検討する必要があるのではないかと思います。

私は他のフォーラムでこれを尋ね、DBスキーマや構造などのさまざまなボリュームを読むように言われました。そのため、進むべき方向と、私が持っているものとその代替案の長所と短所を提案できる人がいれば素晴らしいことだ!

ありがとう!

これがその方法です、X 50

アラバマ

ID

状態
親の説明

alabama_department

部門-「アラバマ」からのID

アイテム-「alabama_item」からのID

alabama_item

ID

説明
キーワード
Doc_IDEffective_date ......。
_

クエリ:リンクを介してチャプター/サブチャプター/エンドレコードの階層をステップスルーしますが、これは正常に機能しますが、検索機能に焦点を当て始めており、私が持っているものはやり過ぎだと考えています。そう思う(やり過ぎ)

4

1 に答える 1

4

150 個のテーブル (3 * 50 州) があるという私の考えが正しければ、次のようになります。

stateIDとを含む「状態」テーブルが必要stateNameです。次に、章/節に 1 つのテーブル、部門に 1 つ、終了レコードに 1 つのテーブルを使用し、 を使用しstateIDてさまざまなレコードを州に関連付けます。

州ごとに 3 つのテーブルを持つべきではありません。それぞれのテーブルを 1 つ使用して、州テーブルに関連付けることができます。これにより、150 ではなく 4 つのテーブルになります。

于 2012-11-01T15:29:13.127 に答える