sql >> データベース >  >> RDS >> Mysql

データベース設計:複合キーと1列の主キー

    電話帳のデータを収集しているようです。あなたは?なぜ州があなたにとって重要なのですか?この質問への答えは、おそらくどのデータベース設計があなたに最適であるかを決定するでしょう。

    あなたは都市が何であるかは明らかだと思うかもしれません。そうではありません。それはあなたがデータで何をしようとしているのかによります。米国には、MSA(大都市統計地域)と呼ばれるこのユニットがあります。カンザスシティMSAは、カンザス州カンザスシティとミズーリ州カンザスシティの両方にまたがっています。 MSAユニットが意味をなすかどうかは、データの使用目的によって異なります。米国の市外局番を使用して都市を決定した場合、MSAとは非常に異なるグループ化になります。繰り返しますが、データをどのように処理するかによって異なります。

    一般に、政治的細分化の階層パターンが崩壊するときはいつでも、最も一般的な解決策は、多対多の関係を考慮することです。この問題は、他の多対多の問題を解決するのと同じ方法で解決します。 2つの外部キーを使用して新しいテーブルを作成する。この場合、外部キーはIdAreacodeとIdStatesです。

    これで、多くの州に1つの市外局番があり、多くの市外局番にまたがる1つの州を持つことができます。 1つの例外だけをカバーするために、この余分なオーバーヘッドを受け入れるのは残念なことのようです。あなたが発見した例外が氷山の一角に過ぎないかどうか知っていますか、そしてそのような例外はたくさんありますか?



    1. mysqlの部分的な単語検索

    2. JSON文字列をMySQLデータベースに保存する

    3. モジュール`mysql`node.jsが見つかりません

    4. RTRIMの問題を伴うXMLAGG