teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2020/05/05 07:25

投稿

gentaro
gentaro

スコア8947

answer CHANGED
@@ -2,4 +2,16 @@
2
2
 
3
3
  ただ、多くの既定のルールに従うことで、プロジェクトごとに同じような事で悩んだり迷ったりしないようなフレームワークになってます。
4
4
 
5
- [https://qiita.com/d0ne1s/items/81be55ef02ba84170846](https://qiita.com/d0ne1s/items/81be55ef02ba84170846)
5
+ [https://qiita.com/d0ne1s/items/81be55ef02ba84170846](https://qiita.com/d0ne1s/items/81be55ef02ba84170846)
6
+
7
+
8
+ ---
9
+ 追記
10
+
11
+ > 例えば、商品マスタのテーブル設計を行う場合、商品コードがキーで、商品名を管理する事になるのですが、Railsでは商品コードというカラムは基本的に作成しないで、キーはIDのみ(商品コードの代わり)になるものなのでしょうか。
12
+
13
+ この場合のidはサロゲートキーなので、これがあるから「商品コードが不要だ」という話にはなりません。ただそのDBのテーブル内で連番が振られてるだけです。
14
+
15
+ 別のシステムでは「商品コード」で同じ商品を管理している場合(在庫管理システムと販売管理システムなど)もあるでしょうし、そもそも「商品コード」自体が請求書や納品書等に印字される表示用項目だったりする場合もあります。
16
+
17
+ そういった場合は「商品コード」を無くすことは出来ません。

1

修正

2020/05/05 07:25

投稿

gentaro
gentaro

スコア8947

answer CHANGED
@@ -1,1 +1,5 @@
1
+ Railsは既定でidをキーとするだけで、変更できなくはないです。
2
+
3
+ ただ、多くの既定のルールに従うことで、プロジェクトごとに同じような事で悩んだり迷ったりしないようなフレームワークになってます。
4
+
1
- https://qiita.com/d0ne1s/items/81be55ef02ba84170846
5
+ [https://qiita.com/d0ne1s/items/81be55ef02ba84170846](https://qiita.com/d0ne1s/items/81be55ef02ba84170846)