テーブルStudents
には、次の列が含まれています。 Id,FirstName,LastName,Adress
列の住所には通りの住所が含まれます。データベース最適化の問題
質問は次のとおりです。Adress
のテーブルを別のテーブルに分離する方がデータベースの最適化が良いでしょうか?
テーブルStudents
には、次の列が含まれています。 Id,FirstName,LastName,Adress
列の住所には通りの住所が含まれます。データベース最適化の問題
質問は次のとおりです。Adress
のテーブルを別のテーブルに分離する方がデータベースの最適化が良いでしょうか?
はい。それを別のテーブルに分けると、一人につき複数の住所を持つことができます。 2つの異なるテーブル、つまりAddressテーブルとStudentAddressテーブルを別々にマップすると、1人のアドレスが人の間で共有されていることを確認したり、1人の人物のアドレス履歴を追跡することさえできます。さらに、別のテーブルでは、アドレスを列に分割して、市または州または国で簡単に検索できるようにすることができます。
Studentテーブルを使用してAddressを単一の列に入れることはできません。
どのようにそのアドレスを扱うかによって異なります。別のエンティティとして扱う必要がある場合、つまり複数の生徒に1つの住所をリンクする場合、またはその逆の場合は、正規化を行う必要があります。 アドレスがエンティティ生徒の属性のみの場合は、そのままにしておきます。
アドレスを管理するための完全な適切なデータ構造については、「データモデルRessource BOok、Volume 1」を参照してください。
最適化する対象は?列「住所」の内容は何ですか?それは人の完全な住所を含んでいますか?そうであれば、通り、都市、郵便番号などのために別の列に分割しないようにしてください...あなたは良い答えが必要ならば、データベース/テーブルの設計についてもっと教えてください。 –