私はリレーショナルデータベースを扱うのが初めてで、テーブルを照会して結合する方法をよく理解しています。今日の私の質問は、2部の質問のビットです。なぜなら、それ以外の言い方を本当に分からないからです。外部キーを使用する場合、常に参加する必要がありますか?
- 一般に、多くの列を含む表を「グループ化されたデータ」の複数の表に分割することをお勧めします。クエリーポイントからは、特定のデータが必要ないときに時間を節約し、さらに読みやすくします。
- ID
- 名
- タイトル
- 説明
- メール
- 日
- UID
- ID
- 開口
- イソ
- は
- カメラ
- UID
- ID
- ログインfacebook
- さえずり
- Instagramの
- flickrの
- URL
UID
<オールスターt = "2">- 上記の構造に従うと、すべてのデータを照会するためにSQL JOINSを使用する必要があります。または、単純にすべてのテーブルを照会する方法があります。たとえば、アップロード、uploads_exif、uploads_socialを1つのクエリで取得する必要がある場合は、別の関数を使用してJOINを使用せずにすべてのクエリを単純に呼び出すことも、正しい方法でJOINを使用してこれを行うこともできます。
たとえば、通常は、次のすべての列を1つの表に結合し、少数の列を使用していてもすべてのデータを照会します。私は現在、次のデータベース構造を試しています。テーブルはすべてuid
列を介してリンクされます。 :
アップロード
uploads_exif(UIDが、すべてが任意である)
uploads_social(UIDしかし、すべてがオプションである)
すべてのヘルプは大幅にappriciatedされるだろう、ありがとう!
まず、テーブルが単一であり、そこに格納されているすべてのデータが一貫性がある場合は、テーブルを複数のテーブルに分割することはお勧めできません。あなたが照会したい列に名前を付けるだけでいいです。第二に、あなたは多くの助けになる通常のフォームについて読むべきです。第三に、結合なしで照会する方法はたくさんありますが、結合がパフォーマンスのほうが優れていると考えられます。 – Nambu14
「それはよいアイデアではありません」とはどういう意味ですか? –
データがほぼ同じものであり、それが強く関連している場合、同じテーブルにあることがあります – Nambu14