

SQL初心者です。

勉強のため、自宅で家計簿アプリを開発しようと思っているんですが、テーブル名に迷っています。

具体的には、以下のXXXの部分に悩んでます。  
候補としては「monthly_expense」が挙がっていますが  
なんだかしっくりこないのでアドバイスお願いします。

■テーブル名  
1.XXX：年月毎の出費情報を管理するテーブル  
■カラム名  
ID id  
年月 year_month  
カテゴリ catg_id  
カテゴリ名 catg_name  
名称 name  
数量 item_num  
金額 price

■テーブル名  
2.catg_master：出費の区分を管理するテーブル  
■カラム名  
カテゴリID catg_id  
カテゴリ名 catg_name

## 追記

kabichanさん

ご指摘ありがとうございます。  
以下のように修正しました。  
修正箇所を○、削除箇所を×にしてあります。

■テーブル名  
○1.expense：年月毎の出費情報を管理するテーブル  
■カラム名  
ID id  
○出費年月 enpense_date  
カテゴリ catg_id  
×カテゴリ名 catg_name  
名称 name  
数量 item_num  
金額 price

■テーブル名  
2.catg_master：出費の区分を管理するテーブル  
■カラム名  
カテゴリID catg_id  
カテゴリ名 catg_name


CC BY-SA 4.0
2018-12-11T13:46:54.853
51122
2018-12-11T23:20:01.500
2018-12-11T23:20:01.500
31355
31355
question
sql
テーブル名の付け方について


おそらくこの種類の質問はスタックオーバーフローではなく、ソフトウェアエンジニアリング向けの質問になるような気がしますが、日本語版ソフトウェアエンジニアリングがなさそうなので一応回答させて頂きます。

ネーミングコンベンションは個人や会社によってそれぞれ違いますので、あくまでも個人的な意見になりますが、まず`year_month`のデータ型を`datetime`にして、`ExpenseDate`
などにします。その方がデータを取り出す時にdaily, monthly, yearlyなどフレキシブルに対応できると思います。

そうした場合、テーブル名も`Expense`が良いのではないかと思います。（monthlyに限定しないという意味で）

あと、これも質問にはありませんが`Expense`テーブルに`catg_name`をいれる必要はありません。二つのテーブルを`join`することによって、`catg_name`を取り出すというのが`relational
database`のメリットです。


CC BY-SA 4.0
2018-12-11T17:31:25.900
51125
2018-12-11T17:38:18.457
2018-12-11T17:38:18.457
31397
31397
51122
answer