データベースで1対多の関係をモデル化する方法

アービー

外部キーを使用してテーブル間の関係を示すテーブルを含むデータベースがあります。1つのテーブルに2つの列があります。1つはid(外部キー)で、もう1つにはfriendsid(friendsテーブルの外部キー)が含まれています。

友達を別々の列に置くこともできます:

                 | id   | friendsids |
                 | 1    | 3          |
                 | 1    | 4          |
                 | 1    | 5          |

または、それらを単一の文字列フィールドにパックします。

                 | id   | friendsids |
                 | 1    | 3,4,5      |

2番目の方法では、後でPHPを使用してfriendsidを分離しますexplode()また、私にはたくさんの記録があることを忘れないでください。どちらの方法がより効率的で、なぜですか?

前もって感謝します。

Zsolt Szilagyi

PHPでの分割を忘れてください。あなたがしているのはいわゆるマッピングテーブルであり、それは実際には1:1でなければなりません。それはあなたがすることを可能にします

  • 簡単にIGNOREを挿入して、マッピングがすでに存在するかどうかを確認せずにマッピングを追加します。
  • マッピングがすでに存在するかどうかを確認せずに、マッピングを簡単に削除します。
  • 友達の数を簡単にCOUNT(*)、
  • 複雑なクエリのデータを簡単に結合する
  • 両方の行にまたがるUNIQUE-INDEXと、後者の非一意性を使用して、データを非常に高速に検索します
  • 文字列ではなく数字として数字を保存するRAMとディスクI / Oを大量に節約

そしておそらくもっとたくさん。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

モデルとデータベーステーブルの間に1対多の関係を作成する

分類Dev

スキーマで1対1の関係をモデル化する方法は?

分類Dev

コードで多対多の関係をモデル化する方法は?

分類Dev

DynamoDBで1対1、1対多、および多対多の関係をモデル化する方法

分類Dev

リレーショナル データベースでこの関係をモデル化する方法は?

分類Dev

多対多の関係でデータを挿入する方法

分類Dev

多対多の関係でデータを挿入する方法

分類Dev

1対多の関係でデータベースに記録するために記録する方法は?

分類Dev

mirage jsで多形の1対1の関係を持つモデルをシードする方法は?

分類Dev

NoSQLで従来のユーザー->多くの関係アプリデータをモデル化する方法

分類Dev

データベースの関係に1対1および1対多でアクセスする

分類Dev

Djangoモデルで1対多の関係を追加する

分類Dev

Hibernateで1対多の関係をモデル化するための最良の方法

分類Dev

LINQ多対1の関係データベースを取得します

分類Dev

モデルシリアライザーを使用してdjango-restで1対多の関係をシリアル化する方法は?

分類Dev

バッファローモデルで多対多の関係を指定する

分類Dev

多対多の関係をモデル化するための最良の方法

分類Dev

モデルユーザーとそれ自体のSQLAlchemy(python、flask)で多対多の関係を作成する方法

分類Dev

Oracleデータベースに多対多の関係を正しく実装する方法は?

分類Dev

パンダのデータを1対多の関係に正規化する

分類Dev

続編で多対多の関係でミドルテーブルのデータを取得する方法

分類Dev

knex.jsの1つ(または複数)から多対多の関係で結合テーブルからデータをネストする方法は?

分類Dev

多対1の関係に対するDjangoクエリ、多対1の関係でデータを取得する方法

分類Dev

.xcdatamodelのコアデータで多対多の関係を作成する方法

分類Dev

グーグルのファイヤーストアを使用して多対多の関係をモデル化する方法

分類Dev

抽象クラスとの多対多の関係をモデル化する

分類Dev

Djangoの1対多の関係:実行されるデータベースクエリの数を減らすためにコードを最適化する

分類Dev

リレーショナルデータベースで1対多の関係に対して1対1の関係を定義するにはどうすればよいですか?

分類Dev

データベース1対多の関係クエリ

Related 関連記事

  1. 1

    モデルとデータベーステーブルの間に1対多の関係を作成する

  2. 2

    スキーマで1対1の関係をモデル化する方法は?

  3. 3

    コードで多対多の関係をモデル化する方法は?

  4. 4

    DynamoDBで1対1、1対多、および多対多の関係をモデル化する方法

  5. 5

    リレーショナル データベースでこの関係をモデル化する方法は?

  6. 6

    多対多の関係でデータを挿入する方法

  7. 7

    多対多の関係でデータを挿入する方法

  8. 8

    1対多の関係でデータベースに記録するために記録する方法は?

  9. 9

    mirage jsで多形の1対1の関係を持つモデルをシードする方法は?

  10. 10

    NoSQLで従来のユーザー->多くの関係アプリデータをモデル化する方法

  11. 11

    データベースの関係に1対1および1対多でアクセスする

  12. 12

    Djangoモデルで1対多の関係を追加する

  13. 13

    Hibernateで1対多の関係をモデル化するための最良の方法

  14. 14

    LINQ多対1の関係データベースを取得します

  15. 15

    モデルシリアライザーを使用してdjango-restで1対多の関係をシリアル化する方法は?

  16. 16

    バッファローモデルで多対多の関係を指定する

  17. 17

    多対多の関係をモデル化するための最良の方法

  18. 18

    モデルユーザーとそれ自体のSQLAlchemy(python、flask)で多対多の関係を作成する方法

  19. 19

    Oracleデータベースに多対多の関係を正しく実装する方法は?

  20. 20

    パンダのデータを1対多の関係に正規化する

  21. 21

    続編で多対多の関係でミドルテーブルのデータを取得する方法

  22. 22

    knex.jsの1つ(または複数)から多対多の関係で結合テーブルからデータをネストする方法は?

  23. 23

    多対1の関係に対するDjangoクエリ、多対1の関係でデータを取得する方法

  24. 24

    .xcdatamodelのコアデータで多対多の関係を作成する方法

  25. 25

    グーグルのファイヤーストアを使用して多対多の関係をモデル化する方法

  26. 26

    抽象クラスとの多対多の関係をモデル化する

  27. 27

    Djangoの1対多の関係:実行されるデータベースクエリの数を減らすためにコードを最適化する

  28. 28

    リレーショナルデータベースで1対多の関係に対して1対1の関係を定義するにはどうすればよいですか?

  29. 29

    データベース1対多の関係クエリ

ホットタグ

アーカイブ