はじめに
データサイエンス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です。テーブル名部分に顧客とうつだけで予測変換してくれます。
おわりに
本当はJupyterLabのnotebook上で実行していくのだと思いますが、普段の開発はa5m2ツールを使っているのでa5m2ツールでできたらいいなと思い記事にまとめました。
追記
a5m2ツールでER図を作成できます。
作ってみると下記のような図になります。
(githubにあるような図にはならなかったですね。。。)