3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【データサイエンス100本ノック】作成したテーブルにコメントを付与してコーディングをラクにする

Posted at

はじめに

データサイエンス100本ノックの教材をa5m2ツールを使ってSQLに慣れるようという記事を書きました。
https://qiita.com/heizitsutomo/items/d971f90bb1988e606f00

これの続編としてテーブルとカラムに論理名を設定すると、コーディング時に予測変換してくれてとてもスピーディになります。
その環境を整えるためのsqlを共有します。

実行SQL

下記を実行する。
下記のER図から引っ張ってきています。
https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess/blob/master/docker/doc/100knocks_ER.pdf

-- テーブルのコメント表示
COMMENT ON TABLE customer IS '顧客';
COMMENT ON TABLE receipt IS 'レシート明細';
COMMENT ON TABLE store IS '店舗';
COMMENT ON TABLE category IS 'カテゴリ';
COMMENT ON TABLE product IS '商品';
COMMENT ON TABLE geocode IS 'ジオコード';

-- カラムのコメント表示
COMMENT ON COLUMN  customer.customer_id IS '顧客ID';
COMMENT ON COLUMN  customer.customer_name IS '名前';
COMMENT ON COLUMN  customer.gender_cd IS '性別コード';
COMMENT ON COLUMN  customer.gender IS '性別';
COMMENT ON COLUMN  customer.birth_day IS '生年月日';
COMMENT ON COLUMN  customer.age IS '年齢';
COMMENT ON COLUMN  customer.postal_cd IS '郵便番号';
COMMENT ON COLUMN  customer.address IS '住所';
COMMENT ON COLUMN  customer.application_store_cd IS '会員申込店舗コード';
COMMENT ON COLUMN  customer.application_date IS '会員申込み⽇';
COMMENT ON COLUMN  customer.status_cd IS 'ステータスコード';
-- 
COMMENT ON COLUMN  receipt.sales_ymd IS '売上年⽉⽇';
COMMENT ON COLUMN  receipt.sales_epoch IS '売上エポック秒';
COMMENT ON COLUMN  receipt.store_cd IS '店舗コード';
COMMENT ON COLUMN  receipt.receipt_no IS 'レシート番号';
COMMENT ON COLUMN  receipt.receipt_sub_no IS 'レシートサブ番号';
COMMENT ON COLUMN  receipt.customer_id IS '顧客ID';
COMMENT ON COLUMN  receipt.product_cd IS '商品コード';
COMMENT ON COLUMN  receipt.quantity IS '売上数量';
COMMENT ON COLUMN  receipt.amount IS '売上⾦額';
-- 
COMMENT ON COLUMN  store.store_cd IS '店舗コード';
COMMENT ON COLUMN  store.store_name IS '店舗名';
COMMENT ON COLUMN  store.prefecture_cd IS '都道府県コード';
COMMENT ON COLUMN  store.prefecture IS '都道府県';
COMMENT ON COLUMN  store.address IS '住所';
COMMENT ON COLUMN  store.address_kana IS '住所カナ';
COMMENT ON COLUMN  store.tel_no IS '電話番号';
COMMENT ON COLUMN  store.longitude IS '経度';
COMMENT ON COLUMN  store.latitude IS '緯度';
COMMENT ON COLUMN  store.floor_area IS 'フロア面';
-- 
COMMENT ON COLUMN  category.category_major_cd IS 'カテゴリ大区分コード';
COMMENT ON COLUMN  category.category_major_name IS 'カテゴリ大区分名';
COMMENT ON COLUMN  category.category_medium_cd IS 'カテゴリ中区分コード';
COMMENT ON COLUMN  category.category_medium_name IS 'カテゴリ中区分名';
COMMENT ON COLUMN  category.category_small_cd IS 'カテゴリ小区分コード';
COMMENT ON COLUMN  category.category_small_name IS 'カテゴリ小区分名';
-- 
COMMENT ON COLUMN  product.product_cd IS '商品コード';
COMMENT ON COLUMN  product.category_major_cd IS 'カテゴリ大区分コード';
COMMENT ON COLUMN  product.category_medium_cd IS 'カテゴリ中区分コード';
COMMENT ON COLUMN  product.category_small_cd IS 'カテゴリ小区分コード';
COMMENT ON COLUMN  product.unit_price IS '単価';
COMMENT ON COLUMN  product.unit_cost IS 'コスト単価';
-- 
COMMENT ON COLUMN  geocode.postal_cd IS '郵便番号';
COMMENT ON COLUMN  geocode.prefecture IS '都道府県';
COMMENT ON COLUMN  geocode.city IS '市区町村';
COMMENT ON COLUMN  geocode.town IS '町域';
COMMENT ON COLUMN  geocode.street IS '通り';
COMMENT ON COLUMN  geocode.address IS '字丁⽬';
COMMENT ON COLUMN  geocode.full_address IS '住所';
COMMENT ON COLUMN  geocode.longitude IS '経度';
COMMENT ON COLUMN  geocode.latitude IS '緯度';

コーディング

予測変換はCtrl+Spaceです。テーブル名部分に顧客とうつだけで予測変換してくれます。
coding.png

おわりに

本当はJupyterLabのnotebook上で実行していくのだと思いますが、普段の開発はa5m2ツールを使っているのでa5m2ツールでできたらいいなと思い記事にまとめました。

追記

a5m2ツールでER図を作成できます。
作ってみると下記のような図になります。
(githubにあるような図にはならなかったですね。。。)
リバース生成_ER図.png

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?