前提・実現したいこと
MySQL及びJAVAを使い、日報管理システムを作っています。
本システムの中で自身の日報だけでなく、フォローした従業員の日報も見れるようにしたいと思っています。
従業員一覧リストを出し、その中で自身がフォローしている従業員かどうかわかるようにしたいです(TwitterのFollowing/Followのような形で各従業員に対して自身のフォロー状況をわかるよにしたい)。
どのような形でDB設計すればよいかわからないため、このような場合のDB設計の定石を教えていただきたい。現状は下記のようなDB設計です。
Employeeテーブル
カラム名 | 用途 | データ型 |
---|---|---|
id | リソース内での番号 | 数値型 |
code | 社員番号 | 文字列型 |
name | 社員名 | 文字列型 |
password | システムへのログインパスワード | 文字列型 |
admin_flag | 管理者権限があるかどうか | 数値型(一般:0、管理者:1) |
created_at | 登録日時 | 日時型 |
updated_at | 更新日時 | 日時型 |
delete_flag | 削除された従業員かどうか | 数値型(現役:0、削除済み:1) |
Reportテーブル
カラム名 | 用途 | データ型 |
---|---|---|
id | リソース内での連番 | 数値型 |
employee_id | 日報を登録した社員の社員番号 | 文字列型 |
report_date | いつの日報かを示す日付 | 日付型 |
title | 日報のタイトル | 文字列型 |
content | 日報の内容 | テキスト型 |
created_at | 登録日時 | 日時型 |
updated_at | 更新日時 | 日時型 |