日報アプリを開発しています。
タスクAとタスクBがあり
現在はタスクAとタスクBを日報テーブル(reports)一つで管理しています。
a_info_(12)にはタスクAに関する情報(実際には具体的な名称が入ります)、b_info_(12)にはタスクBに関する情報(こちらも同様)があります。
user_idとdateの組み合わせがユニークキーです。
INSERTが一度だけ呼び出され、データベースに保存されます。
データを取り出す時は、当然ですがSELECTが一度だけ呼び出されます。
reports - id: integer - user_id: integer - date: date - a_info_1: varchar - a_info_2: varchar - b_info_1: varchar - b_info_2: varchar
これを分割して
reports - id: integer - user_id: integer - date: date - a_id: integer - b_id: integer
a - id: integer - user_id: integer - date: date - info1: varchar - info2: varchar
b - id: integer - user_id: integer - date: date - info1: varchar - info2: varchar
のようにすべきでしょうか?
こちらも各テーブルuser_idとdateの組み合わせがユニークキーです。
このようにすると、INSERTを3回呼び出さないといけないのと、SELECTする際にはテーブルを結合する必要があり、煩わしいがするのですが、タスクAとタスクBの変更があった場合は改修が楽なのかなと思いました。
正規化に関してはできていないのかもしれません。
テーブルを分けるべきでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/01 14:17
2021/02/01 14:20
2021/02/01 15:16
2021/02/01 15:20