回答編集履歴
5
蛇足
test
CHANGED
@@ -239,3 +239,5 @@
|
|
239
239
|
なので動的にパラメタが変化する場合は、
|
240
240
|
|
241
241
|
パラメタを管理するテーブルを作るのが無難な気がします。
|
242
|
+
|
243
|
+
(俗に言う「マルチカラムアトリビュート」対策です)
|
4
追記
test
CHANGED
@@ -213,3 +213,29 @@
|
|
213
213
|
一時会員.有効期限 < 現在日
|
214
214
|
|
215
215
|
```
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
###追記
|
220
|
+
|
221
|
+
パラメータが動的に変わるという部分を見逃してました^^;
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
データベースのテーブルでは、
|
226
|
+
|
227
|
+
カラム(各種パラメタ値)を動的に増やすのはNGですし、
|
228
|
+
|
229
|
+
1つのカラムにはパラメタを連結して登録するのもオススメはできません。
|
230
|
+
|
231
|
+
(アンチパターンに記載されるレベルには推奨されてません。)
|
232
|
+
|
233
|
+
|
234
|
+
|
235
|
+
データベースによってはカラムを**配列型**として定義できるとものもありますが、
|
236
|
+
|
237
|
+
ベンダ依存となるのでこれを利用するのもあまりオススメできません。
|
238
|
+
|
239
|
+
なので動的にパラメタが変化する場合は、
|
240
|
+
|
241
|
+
パラメタを管理するテーブルを作るのが無難な気がします。
|
3
誤字脱字の修正
test
CHANGED
@@ -74,7 +74,7 @@
|
|
74
74
|
|
75
75
|
データベース特有の問題である**更新時不整合**などの問題も抑制できますので、
|
76
76
|
|
77
|
-
そういう意味でも分けると良いかな
|
77
|
+
そういう意味でも分けると良いかなと思います。
|
78
78
|
|
79
79
|
(**「正規化 更新時不整合」**などで調べるとより詳しい情報が得られると思います。)
|
80
80
|
|
2
見栄えの修正など
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
提示されたサンプルからは、
|
2
2
|
|
3
|
-
共通性・継承性という点がしっくりきませんでしたが
|
3
|
+
共通性・継承性という点がしっくりきませんでしたが、
|
4
4
|
|
5
5
|
上記のような例では関係(リレーション)自体をテーブル化するのがよくあるパターンかなと思います。
|
6
6
|
|
@@ -24,9 +24,9 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
```
|
27
|
+
```
|
28
|
-
|
28
|
+
|
29
|
-
個人情報
|
29
|
+
個人情報
|
30
30
|
|
31
31
|
ID (主キー)
|
32
32
|
|
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
```SQL
|
44
44
|
|
45
|
-
両親
|
45
|
+
両親
|
46
46
|
|
47
47
|
ID(主キー)
|
48
48
|
|
@@ -56,11 +56,11 @@
|
|
56
56
|
|
57
57
|
|
58
58
|
|
59
|
-
```
|
59
|
+
```
|
60
|
-
|
61
|
-
|
60
|
+
|
62
|
-
|
63
|
-
|
61
|
+
友人
|
62
|
+
|
63
|
+
個人ID(個人情報.IDへの外部キー)
|
64
64
|
|
65
65
|
友人(個人情報.IDへの外部キー)
|
66
66
|
|
@@ -134,7 +134,9 @@
|
|
134
134
|
|
135
135
|
```SQL
|
136
136
|
|
137
|
-
会員
|
137
|
+
-- 会員タイプ全てに共通する属性はここで定義
|
138
|
+
|
139
|
+
会員
|
138
140
|
|
139
141
|
会員ID(主キー)
|
140
142
|
|
@@ -148,7 +150,9 @@
|
|
148
150
|
|
149
151
|
```SQL
|
150
152
|
|
151
|
-
一時会員
|
153
|
+
-- 一時会員固有の属性を定義
|
154
|
+
|
155
|
+
一時会員
|
152
156
|
|
153
157
|
会員ID(主キー)
|
154
158
|
|
@@ -160,7 +164,9 @@
|
|
160
164
|
|
161
165
|
```SQL
|
162
166
|
|
163
|
-
特別会員
|
167
|
+
-- 特別会員固有の属性を定義
|
168
|
+
|
169
|
+
特別会員
|
164
170
|
|
165
171
|
会員ID(主キー)
|
166
172
|
|
1
テーブル例修正
test
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
母親(個人情報.IDへの外部キー)
|
52
52
|
|
53
|
-
一意
|
53
|
+
一意キー(父親、母親)
|
54
54
|
|
55
55
|
```
|
56
56
|
|
@@ -64,7 +64,7 @@
|
|
64
64
|
|
65
65
|
友人(個人情報.IDへの外部キー)
|
66
66
|
|
67
|
-
主キー
|
67
|
+
主キー(個人ID, 友人)
|
68
68
|
|
69
69
|
```
|
70
70
|
|