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

タグをMySQLタグに保存するには、合計で1つのフィールド、またはタグごとに1つのフィールドを保存しますか?

    多対多 だと思います 関係はあなたを助けます

    のようなもの
    --------             -----------------           ------------
    - tags -   <-------> - products_tags - <-------> - products - 
    --------             -----------------           ------------
    

    編集:

    多対多のアプローチはより正規化されたアプローチですが、この場合、特定の「製品」のすべてのタグを取得するための結合に基づいているため、実装が最も難しいと思います。利点:

    1. 完全に正規化
    2. ドライ :タグ名を変更する必要がある場合は、それを行うことができ、どこでも変更が表示されます
    3. など

    もう1つの方法は、すべてのタグを何か(コンマなど)で区切って1つのフィールドに保存することです。ここでは、タグの取得に関してスピードがあります。タグをそのセパレータで分割するだけで、それだけです。タグの保存も簡単ですが、テンプレートを更新する必要がある場合は、記事ごとに分割、更新してから保存する必要があるため、このアプローチは好きではありません。



    1. Laravelのセットで見つけますか?例

    2. テンポラルテーブルを使用したデータ変更監査の実行

    3. アクセス拒否;この操作にはSUPER特権(少なくとも1つ)が必要です

    4. 193:%1は、新しいRailsアプリケーションでの有効なWin32アプリケーションのバグではありません