現在一つのアイテムに対して複数のタグを格納できるようなテーブルを作成したいと考えています。
具体的には
item_id|tag1|tag2|tag3|tag4
|:--|:--:|--:|
|1|タグ1|タグ2|タグ3|タグ4
|2|タグ3|タグ4|タグ5|null
|3|タグ2|タグ3|null|null
のような形で作ろうと思っているのですがこの場合、あるアイテムのタグをSELECT文ですべて取得しようと思った場合、少し煩雑な処理をしないといけないように思えます(SELECT tag1,tag2,tag3...のような形)
これをもう少しスマートにテーブル作成する方法等はありますか?
(JSON形式で記述しておいてtagという項目一つに複数のタグを格納しようとも考えましたが、すこし無理やりな気もしています)
一般的には今回のようなデータベースを作成しようと思った場合どのような形でテーブルを作成するかを知りたいです。
また、タグそれぞれに対して後からさらに要素を追加したいと考えています。
その場合、
tag_name|tag_info1|tag_info2|tag_info3|
|:--|:--:|--:|
|タグ1|タグ情報1|タグ情報2|タグ情報3|
|タグ2|タグ情報3|タグ情報4|タグ情報5|
|タグ3|タグ情報2|タグ情報3|null|
上の表のようなテーブルをもう一つ作成しておくのが一般的なんでしょうか?
それとも1つ目に上げたテーブル一つにすべて格納する方法等があるんでしょうか?
以上の二つについて回答よろしくお願いいたします。
少し曖昧な点が多いので指摘等ありましたらお願いいたします。
回答2件
あなたの回答
tips
プレビュー