他にない、上質なITを

Column

ITプランナーが最も身につけるべきテクニカルスキルはSQL


Pocket

事業課題を解決するITシステムがどんなものかをデザインする時に、最も重要になるのはデータベースです。

システムの提供形態は色んなものがあります。スマホアプリ、Webサイト、デスクトップアプリ・・・。どういう形態でも、画面を通じてデータの読み取り・書き込みを行う部分は変わりません。データベースの世界においては、1970年頃にコッド博士という偉人によって提唱されたフォーマットがずっと使われています。2019年の今でも、です。学習コストはプログラミング言語を学ぶよりもかなり低いです。

プログラミング言語は数も多いし、トレンドもあります。また、プログラムは「今こういうことをやっているのだな」という文脈を読み解いていかねばならず、学習コストが非常に高い。アプリケーションのプログラミングをずっと追いかけていくのは、それだけをやっているエンジニアですら大変なこと。それだから、価値のあるスキルなのですけれども。

しかし、アプリケーションを作る方法や言語が変わっても、データベースの主流であるリレーショナル・データベースの仕組みは、データの読み書きを行う言語であるSQLは、恐らく今後も大きな変更はありません。

また、SQLがイメージできれば、アプリケーションの開発をツールを使って行う時に大いに役に立ちます。Microsoft Accessや、FileMakerのような「データベースの存在を意識して、テーブルの操作を行う画面をドラッグアンドドロップで作る」系のツールで必要なのは、どういうデータを登録して管理するのかという、データモデリングです。

では、ITプランナーが身につけるべきSQLとはなにか、そもそもデータベースとはどういうものかについて、ざっと解説します。

世の中のデータベースのほとんどは、列と行の二次元表

リレーショナル・モデルというデータの保存形式を採用すると、データの演算が極めてやりやすくなります。皆さんにも馴染みのある形式で保存されています。2次元表(列と行) 形式です。1つのデータベースに複数のテーブルが存在します。テーブルは二次元表です。二次元表という言葉は固いですけど、見出しのついた複数の列で構成された表は、みんな見たことがあると思います。

リレーショナルデータベースのイメージは、Excelのブックとシートの関係を意識してもらえたらOKです。大規模になればなるほど、シートの数が増えていくというイメージです。

・データベースの名前:Excelのブック名
・テーブル名:Excelのシート名

リレーショナルデータベースを操作するSQL

リレーショナル・データベースを操作するためのプログラミング言語のことを、SQL(Structured Query Language)と言います。

表の列をExcelのフィルターのように絞り込んだり、ベン図みたいに表と表をくっつけたり、表の行の値を更新したり、行を追加したり。そういった操作を行う為の言語です。

SQLの特長は、「宣言型」であることです。今からこういうデータを取りに行きなさいという処理を書く時に、「欲しいデータの形を宣言」します。

例えば、こういうテーブルがあるとします。テーブル名は「customer」とします。

データベース名、テーブル名、列(カラム)名は、英数字で構成されています。大文字小文字はデータベースの設定で区別する・しないを選択することができます。個人的には区別しないがシンプルで好きです。

上記のテーブルから、郵便番号(zipcode)が493-0001のデータを抽出するSQLは以下のとおりです。

なんとなくやっていることがイメージできると思います。

customerというテーブルからzipcode列に格納されている値が「493-0001」である、レコード(行)を取得せよ、というSQLになります。複雑なSQLになるとテーブルの対象が増えたり、検索条件が増えたり、全く違うSQLの結果をひとつにまとめたりします。

データの流れに着目して業務を把握し、仕様を詰めていく

この画像で表現しているのは、どの画面でどのデータをどう操作するかを表にまとめたもので、CRUDマトリックスと呼ばれています。ユーザーがこのマトリックスはを見ることはありませんが、ITプランナーはこのマトリックスを起こせるようになる必要があります。大まかな仕様を把握するには、このマトリックスが手っ取り早いです。

SQLの学習については、当社でも「Start-SQL」というSQL研修を実施しています。1日で初心者を脱することが出来るSQL研修を行っていますので、ぜひご検討ください。

「Start-SQL」〜1日で初心者を脱することが出来るSQL研修


おすすめ記事

最後までお読みいただきありがとうございました。
こちらの記事にご興味を持っていただいた方には、こちらの記事もおすすめです。

執筆者について

著者

(株) クオリティスタート 代表取締役

湯本堅隆(YUMOTO Michitaka)

略歴

1979年生まれ。ISPの電話サポートのアルバイトをきっかけにIT技術に興味を持ち、2003年にアイ・ティ・フロンティア(現タタ・コンサルタンシー・サービシズ)に新卒で入社。

SIer在籍期間からブログ「GoTheDistance」でSIerを巡るIT業界のあり方・エンジニアのキャリアについて記事を書き、累計はてなブックマーク数40,000を超えるブログになりました。

「ITを使いこなしたいなら、ユーザー企業は内製すべき」と主張しているうちに、2009年から雑貨卸の有限会社 エフ・ケーコーポレーションで内製化を1人で担当するはめに。メーカー送料ロットのない雑貨卸というビジネスモデルをITシステムを実装することで確立し、経済産業省が主催するIT経営実践認定企業に選ばれました。

「システムを作る人材や会社」はあっても「何が正しいITシステムなのか」を事業会社の立場で考え、デザインできる人材が枯渇している。

この課題を解決したいという思いから、会社を創業しました。

重度の野球好きで、東京ヤクルトスワローズのファンです。



IT企画の進め方

ITプロジェクトの進め方、公開中

事業を運営するために必要なITや業務システムの企画の作り方、プロジェクト担ってからの進め方をワークフローという形で完全無料公開しています。10000文字超えの力作です。是非御覧ください。

ITプロジェクトの進め方

IT戦略・IT企画の無料相談承ります。

ITプランナーが御社にお伺いして、御社のシステム企画のディスカッション・パートナーをさせて頂くサービスです。60分時間限定ですが、IT企画のモヤっとスッキリさせるお手伝いをさせて頂けたら。

ITプランナーへの無料相談

お問い合わせはこちらから