質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

Q&A

1回答

598閲覧

Twitterなどで実装しているフォロー状態表示のためのDBテーブル設計

0310Takuro

総合スコア0

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

0グッド

0クリップ

投稿2021/07/31 06:05

編集2021/07/31 06:09

前提・実現したいこと

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更新日時日時型

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/07/31 06:36

ちょっと考え方が良く分かりません。 「従業員同士のフォロー/フォロワー」ってどういう状況ですか? 「上司や先輩社員が見れるようにする」といった「権限」ならまだ分かります。
0310Takuro

2021/07/31 07:03

下記のようなイメージです。 従業員がA、B、Cと3人いるとします。現状Aさんは、自身の日報(過去の日報も含む)しか見れません。そこで、AさんがBさんをフォローすると、AさんはBさんの日報も見れるようになる。
guest

回答1

0

following/followed関係なら、色んな言語のチュートリアルでよく出てくるんで、ググったらすぐに見つかりそうだけども。

基本的には
following_id(employee.idへのfk)
followed_id(employee.idへのfk)

ってテーブル用意すれば事足りるのでは。
たぶんググって見つかるようなサンプルでもほぼコレ。

投稿2021/07/31 07:46

gentaro

総合スコア8949

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問