お知らせ スッキリわかるSQL入門 第4版

スッキリSQL掲載コード「英字版」 提供開始

いつも『スッキリわかるSQL入門』をご利用いただきありがとうございます。
このたび、スッキリSQL4版の発売にあわせ、書籍掲載SQLコードの一部について、2つの英字版バリエーションの提供を開始しましたことを御報告いたします。

 

英字版ライブラリ2種 ご提供の背景

スッキリわかるSQL入門では、RDB/SQL完全未経験の方も含めた学び手の方に向け、可能な限り敷居を下げ・学びやすくすることを目的に、テーブル名や列名に全角文字を利用しております。

具体的には、

  • テーブル名や列名などの識別子として「household_account_book」や「deposit」等の英単語名が並ぶと、
    • 一部の英語が得意な方を除いて、概念的な把握に敷居・手間を感じられる人が増える1
    • 識別子の文字列長が長いため、紙面上の折り返しが発生しやすくなり、読みやすさが損なわれやすくなる
    • 「大量のアルファベットの羅列」が完全未経験者の方の目に飛びこむ時特有の心理的負荷がある 2
  • 一方、ローマ字表記や略記については、
    • さまざまな流派(SYUKKINかSHUKKINかSHUKINかSKNか等)が存在し、いずれかの方法を選択しても不自然・不自由と感じる方が多数見込まれる

上記等により、実際の稼働系システムにおいて日本語識別子が用いられることは極めて希であるという認識ながら、紙面上の解説には全角識別子を選ばせて頂いている次第です。

なお、「IME切り替えミスによる誤入力の発生」や「本番システムでも全角文字を用いた設計を行ってしまうリスク」も検討いたしましたが、前者については「リテラル入力部でのIME切り替えはいずれにせよ発生する」ため受容、後者については「本編中のコラムや物理設計の章にて、実働システム上は英字名が一般的であることを注記」でリスク軽減することで、入門学習時における目的・メリットを優先させていただきました。

一方で、やはり英字の識別子を使って学びたいというお声も一部に頂戴することから、この度、一部のテーブルではありますが、2種類の英字名でも利用いただけるよう、dokoQLにライブラリをご準備する運びとなりました。

「英語名」ライブラリの特徴

dokoQLメニューから選択いただける「英語名」ライブラリは、原則として、なるべく英単語を利用するように識別子を置換したライブラリです。

近年の、特に新しめのプロジェクト現場で見られることが多い「自然な英単語」を用いた物理設計をイメージしたものです。ただし、

  • dateなどの用語は予約語で衝突するため、〜_onという形式を採用しています3
  • withdrawやdepositといった単語が通常用いられる場所でも、より非英語圏の人間にもやさしいcash_in、cash_outのような用語を用いています。

SQL文に全角が含まれているのはどうしても気持ちが悪く、英語名で学びたいという方にご利用いただけますと幸いです。

 

「短縮名」ライブラリの特徴

今回英字で提供されるもう一つのライブラリが、「短縮名」によるライブラリです。

全角文字は使いたくない。しかし、前述の「英語名」だと長くて入力しづらいし、そもそも「紙面上のテーブル(=日本語名)を見て学習しているときの表名・列名を、頭の中で全く異なる英単語に変換するのは苦痛だ」という方に向けたものです。

上記画像のとおり、短縮名ライブラリの表や列は、一見すると意味がほとんどわからないほどに短縮されています。しかし、その短縮方法にはルールがあり、「紙面表記の日本語名について、ローマ字表記したときの最初の2つの音節の先頭文字を並べた物」で原則統一されています。

  • 家計簿(KaKeibo) ⇒ KK
  • 日付(HiDuke) ⇒ HD
  • 入金額(NyuKingaku) ⇒ NK

そのため、紙面で「日本語の表名・列名」をみた直後に、dokoQL上では英字でSQLを使いたいときにも、脳内変換の負荷が(英語版に比べれば)下がります4

より詳細について

今回追加で提供される2つのライブラリは、いずれも特定の日本語識別子を英字に単純置換しているだけのものであるほか、「家計簿」を中心とした4テーブルにしか対応しておりません(練習問題に登場するテーブルなどは日本語識別名のままです)。

その他の詳細については、以下のdokoQLヘルプに記載がありますので、適宜ご参照ください。

https://support.flairlink.net/hc/ja/articles/28358410238873

ご利用者様によっては、上記2ライブラリのいずれも好むスタイルではないと感じられる場合もあろうかと存じますが、世の中の流派・バリエーションがあまりに分かれる背景から、今回の日本語名・英語名・短縮名の3つのご提供となること、ご理解・ご了承いただけますと幸いです5

 

  1. 著者などはいまだに、depositとwithdrawが、入金と出金どっちだったっけ...とよく迷います。
  2. アルファベットの羅列になれているPythonやJavaのプログラマでも、コメント文含め英語で書いてあると(シンタックスハイライトがされていたとしても)特有の不安感を感じるのと似ているかも知れません
  3. railsなどでよく用いられる命名規則です
  4. 音節先頭文字のみを使うことで、ヘボン式や訓令式の違いなどによる「思ってたんと略記がちがう」による不便も、最低限に留めようとしています
  5. 日本語名の書籍掲載コードはDL可能ですので、ご自身でお好みにsed/awkして、ローカルDBMSなどでご利用いただくことも可能です

-お知らせ, スッキリわかるSQL入門 第4版