質問編集履歴
3
こまかな修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,15 +12,17 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
0. その会社ではじめて
|
15
|
+
0. その会社ではじめてメールアドレスを登録したものが管理者になる。
|
16
16
|
|
17
17
|
0. 管理者が、会社名と自分の名前を登録する。
|
18
18
|
|
19
19
|
0. 管理者が、会社名に紐付いた部署名を登録する。
|
20
20
|
|
21
|
-
0. 管理者が、
|
21
|
+
0. 管理者が、システム上から社員のメールアドレスを登録する。
|
22
22
|
|
23
|
-
この時点で
|
23
|
+
⇒この時点で登録した社員のUserレコードが作成され、会社名が登録されている。
|
24
|
+
|
25
|
+
0. 管理者が、システムを利用して招待メールを送信する。
|
24
26
|
|
25
27
|
0. 社員が、招待メールを受信し、リンクをクリックして、登録画面へ遷移する。
|
26
28
|
|
@@ -126,7 +128,7 @@
|
|
126
128
|
|
127
129
|
|
128
130
|
|
129
|
-
#「データ登録の流れ2.」会社名登録の段階で、部署未定のレコードを作っておく。
|
131
|
+
#「データ登録の流れ2.」会社名登録の段階で、部署名未定の部署レコードを作っておく。
|
130
132
|
|
131
133
|
Department
|
132
134
|
|
@@ -134,7 +136,7 @@
|
|
134
136
|
|
135
137
|
|
136
138
|
|
137
|
-
#「データ登録の流れ4.」
|
139
|
+
#「データ登録の流れ4.」社員のメールアドレスを登録する際は、事前に作っておいた部署未定のIDを利用する。
|
138
140
|
|
139
141
|
USER
|
140
142
|
|
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
0. 管理者が、会社名に紐付いた部署名を登録する。
|
20
20
|
|
21
|
-
0. 管理者が、社員へ招待メールを送信する。
|
21
|
+
0. 管理者が、社員へシステム上から招待メールを送信する。
|
22
22
|
|
23
23
|
この時点でそれぞれの社員のUserレコードが作成され、会社名が登録されている。
|
24
24
|
|
1
説明が不十分だったために質問を大幅に修正させていただきました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
データベース設計について、どのようにすればより望ましいのかアドバイスいただければと思います。
|
5
|
+
データベース設計について、下記のデータ登録を踏まえて、どのようにすればより望ましいのかアドバイスいただければと思います。
|
6
6
|
|
7
7
|
※個人開発のため仕様書はありません。
|
8
8
|
|
@@ -12,39 +12,31 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
0. 管理者
|
15
|
+
0. その会社ではじめてユーザー登録したものが管理者になる。
|
16
16
|
|
17
|
+
0. 管理者が、会社名と自分の名前を登録する。
|
18
|
+
|
19
|
+
0. 管理者が、会社名に紐付いた部署名を登録する。
|
20
|
+
|
17
|
-
0. 管理者が、
|
21
|
+
0. 管理者が、社員へ招待メールを送信する。
|
22
|
+
|
23
|
+
この時点でそれぞれの社員のUserレコードが作成され、会社名が登録されている。
|
18
24
|
|
19
25
|
0. 社員が、招待メールを受信し、リンクをクリックして、登録画面へ遷移する。
|
20
26
|
|
21
|
-
0. 社員は、
|
27
|
+
0. 社員は、3.で紐付いた部署名を選択し、自分の名前を入力する。
|
22
28
|
|
23
29
|
|
24
30
|
|
25
|
-
#
|
31
|
+
#整理してみる
|
32
|
+
|
33
|
+
①**「データ登録の流れ3.」**から、会社名と部署名は、1対多の関係
|
34
|
+
|
35
|
+
②**「データ登録の流れ4.」**から、Userレコードは、会社名が登録が必須
|
26
36
|
|
27
37
|
|
28
38
|
|
29
|
-
これだと「データ登録の流れ」の1.を満たせないので他の方法を検討しました。
|
30
39
|
|
31
|
-
|
32
|
-
|
33
|
-
```
|
34
|
-
|
35
|
-
Company
|
36
|
-
|
37
|
-
| id | name |
|
38
|
-
|
39
|
-
Department
|
40
|
-
|
41
|
-
| id | name |
|
42
|
-
|
43
|
-
USER
|
44
|
-
|
45
|
-
| id | name | company_id | department_id |
|
46
|
-
|
47
|
-
```
|
48
40
|
|
49
41
|
### 検討したテーブル
|
50
42
|
|
@@ -52,13 +44,19 @@
|
|
52
44
|
|
53
45
|
|
54
46
|
|
47
|
+
|
48
|
+
|
49
|
+
3つのテーブルを検討しました。
|
50
|
+
|
55
|
-
|
51
|
+
Cであれば適切なデータの持ち方でもあるのでのぞましいかと思いますが、空レコードを作るような考え方で問題はないのでしょうか?
|
52
|
+
|
53
|
+
|
56
54
|
|
57
55
|
|
58
56
|
|
59
57
|
```A
|
60
58
|
|
61
|
-
#中間テーブルをもつ。
|
59
|
+
#中間テーブルをもつ形。
|
62
60
|
|
63
61
|
|
64
62
|
|
@@ -72,9 +70,11 @@
|
|
72
70
|
|
73
71
|
USER
|
74
72
|
|
75
|
-
| id | name | company_id | department_id |
|
73
|
+
| id | name | company_id | department_id | email |
|
76
74
|
|
77
75
|
|
76
|
+
|
77
|
+
#「整理してみる①」を満たすための中間テーブルを準備するが、適切な形じゃない気がする。
|
78
78
|
|
79
79
|
Company_Department
|
80
80
|
|
@@ -100,9 +100,15 @@
|
|
100
100
|
|
101
101
|
| id | name | company_id |
|
102
102
|
|
103
|
+
|
104
|
+
|
105
|
+
#「整理してみる②」を満たすため、ユーザーレコードに会社名のカラムを追加した。結果、会社名に関連したカラムが重複し適切な形じゃない気がする。
|
106
|
+
|
103
107
|
USER
|
104
108
|
|
105
|
-
| id | name | department_id |
|
109
|
+
| id | name | company_id | department_id | email |
|
110
|
+
|
111
|
+
|
106
112
|
|
107
113
|
```
|
108
114
|
|
@@ -110,20 +116,40 @@
|
|
110
116
|
|
111
117
|
```C
|
112
118
|
|
113
|
-
#
|
119
|
+
#会社名、部署名、社員の親子関係を表現した形
|
114
120
|
|
115
121
|
|
116
122
|
|
117
|
-
Company
|
123
|
+
Company
|
118
124
|
|
125
|
+
| id | name |
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
#「データ登録の流れ2.」会社名登録の段階で、部署未定のレコードを作っておく。
|
130
|
+
|
131
|
+
Department
|
132
|
+
|
119
|
-
| id |
|
133
|
+
| id | name | company_id |
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
#「データ登録の流れ4.」招待メールを送る際は、事前に作っておいた部署未定のIDを利用する。
|
120
138
|
|
121
139
|
USER
|
122
140
|
|
123
|
-
| id | name |
|
141
|
+
| id | name | department_id | email |
|
142
|
+
|
143
|
+
|
124
144
|
|
125
145
|
```
|
126
146
|
|
127
147
|
|
128
148
|
|
129
149
|
どうぞよろしくおねがいします。
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
---
|
154
|
+
|
155
|
+
説明が不十分だったために質問を大幅に修正させていただきました。
|