コマンド道場

$ git log --oneline

更新履歴

追加したものだけでなく、見つかった誤りと、その修正も載せています。解説の内容に誤りを見つけたときは、お問い合わせからお知らせください。

  1. 正規化の教材と練習問題を追加しました

    わざと崩してある表を用意して、正規化を手で直しながら学べるようにしました。同じ商品名が 3 行に書かれている表で 1 行だけ名前を変えてみると、同じ商品番号なのに名前が違う行が残ります。エラーも警告も出ません。これが「直す場所を 1 か所にする」理由です。第 2 正規形・第 3 正規形の切り出しと、分けても結合すれば元の内容に戻ることまで、その場で確かめられます。

  2. 主キーと外部キーの教材と練習問題を追加し、表示の不具合を 1 件おわびして直しました

    表どうしを結び付ける主キーと外部キーの教材を 1 本と、練習問題を 3 問追加しました。参照されている親の行を消そうとしたときに何が起きるか(既定は拒否、連鎖して消す、参照だけ外す)を、実際に動かして確かめられます。⚠️ おわびです。IN と EXISTS の教材で、本文の中のリンクが「[IN 述語のページ](/sql/learn/in)」という書きかけのような文字列のまま表示されていました。本文にはリンクを書けない仕組みなのに書いてしまったためです。直したうえで、同じ書き方をしたら公開前に止まる検査を追加しました。

  3. 制約(NOT NULL・UNIQUE・CHECK)の教材と練習問題を追加しました

    表に付ける制約の教材を 1 本と、練習問題を 3 問追加しました。取り違えのいちばん多い「UNIQUE も CHECK も NULL は素通しにする」ところを、実際に動かして確かめられるようにしています。⚠️ 「1〜12 だけを許す」のような範囲の指定は、練習問題では扱いにくいことが分かりました。本サイトの採点は最終状態の比較なので、範囲を書き忘れた答えと正しい答えが同じ結果になってしまうためです。範囲の話は教材と、名前を付けた制約の問題のほうに寄せています。

  4. 「CREATE TABLE(表を作る)の使い方」を公開しました

    表を作る側の教材を追加しました。型の選び方、NOT NULL と既定値の違い、主キーと外部キー、問い合わせの結果から表を作る書き方までを扱っています。ページに出ている「できた表」の図は、実際に同じ文をデータベースに流して、そのあとデータベース自身が持つ表の情報を読んで描いたものです。そのため、int と書いた列の型が integer になることや、PRIMARY KEY と書いただけの列が NULL 不可になることが、そのまま図に出ます。

  5. 表を作る練習問題(CREATE TABLE)を追加しました

    表を作る側の問題を 3 問追加しました。列の型・主キー・NOT NULL・外部キー・既定値を指定して表を作り、実際に 1 行入れるところまでを採点します。採点はデータベース自身が持つ表の情報を読んで行うので、書き方が違っても出来上がった表が同じなら正解です。⚠️ トランザクション(BEGIN / COMMIT)の問題も検討しましたが、本サイトの採点は最終状態の比較なので、正しい答えと「BEGIN を書き忘れた答え」が同じ結果になってしまい、良い問題になりませんでした。作らないことにしています。

  6. OSS-DB Silver の出題範囲ページを公開しました

    出題範囲の 10 項目それぞれに、本サイトのどの教材・リファレンス・練習問題が対応するかを結び付けました。行き先が実在するかは公開前の自動検査で確かめています。⚠️ 出題範囲のうち、ブラウザの中で実際に打って確かめられるのは重要度でおよそ 32% です。運用管理の分野(52%)は、起動・停止や設定ファイル、バックアップのコマンドを扱うため、ブラウザの中では実行できません。できない範囲も同じページに書いています。公式の例題は一切掲載していません。

  7. SQL 関数リファレンスを公開しました

    関数・演算子を 1 つずつ引けるページを作りました。呼び出しの形と「つまずきやすいところ」を先に置き、そのあとに説明と実行例が続きます。載せている実行結果は、すべて本物のデータベースに同じ SQL を流して作ったものです。わざと失敗する例では、実際のエラーメッセージをそのまま見せています。まず 38 項目(集約・ウィンドウ・文字列・数値・日付・条件と NULL・型変換)から始めます。

  8. データベーススペシャリスト 令和5年度 秋期 の過去問を追加しました

    全 25 問を解説つきで公開し、収録は 3 回分・75 問になりました。あわせて、同じ設問が別の回にも出ている場合に、その回へのリンクを問題の見出しに出すようにしています。これは手で書いたものではなく、設問文と選択肢を突き合わせて求めたものです。似ているようで文言が違う設問(言い回しが 1 語だけ変わっているもの)は、同じとは扱いません。

  9. データベーススペシャリスト 令和6年度 秋期 の過去問を追加しました

    全 25 問を解説つきで公開しました。この回は選択肢そのものが図や表になっている設問(B+木の構造・UML のクラス図・等結合の結果表・SQL 文)が多いため、文章に言い換えず、原本と同じく図表のまま選択肢として出しています。ツリー構造や待ちグラフも、ノード名と矢印の向きを保って描き直しました。2 回分そろったので、過去問の一覧ページも検索結果に出るようにしています。

  10. データベーススペシャリスト 午前Ⅱ の過去問を公開しました

    令和7年度 秋期の全 25 問を、解説つきで公開しました。設問と選択肢は IPA が公開している問題冊子からの引用で、正解は公式の解答例で確認しています。原本の図表はスキャン画像でスマートフォンでは読めないため、内容を変えずに組み直しました(何を組み直したかは各問に書いています)。解説は本サイトが独自に書いたもので、集合演算や制約の設問からは、その場で打って試せる SQL の教材へつないでいます。

  11. SQL の教材が全 37 トピックそろいました

    取り出す・条件・集約・結合・副問い合わせ・集合演算・関数・ウィンドウ関数・CTE・更新系まで、練習問題のあるトピックすべてに解説ページを用意しました。解説の中の実行結果と図は、すべて本物のデータベースに同じ SQL を流して作っています。

  12. 解説の一部で記号がそのまま表示されていたのを直しました

    強調とコードを組み合わせた箇所で、装飾用の記号(バッククォートやアスタリスク)が本文にそのまま出ていました。全 26 ページ・145 か所を修正し、同じことが起きないよう公開前の自動検査を追加しました。読みにくい状態のまま公開しており、失礼しました。

  13. スマートフォンで図が画面からはみ出していたのを直しました

    375px 幅の端末で、解説の冒頭に置いた図の一部が横スクロールしないと見えない状態でした。28 ページ中 11 ページが該当していました。文字の大きさは変えずに余白を詰めて、全ページで収まるようにしています。

  14. INSERT / DELETE と、段階に分けて書く SQL の解説を追加しました

    行を追加する INSERT、行を消す DELETE、FROM 句の副問い合わせ(派生表)、WITH 句、再帰 CTE の 5 ページを公開しました。

  15. 集合演算とウィンドウ関数の解説を追加しました

    UNION / INTERSECT / EXCEPT と、順位を付ける関数・集約関数の OVER の解説を公開しました。同じ 2 つの一覧を使って、演算ごとに結果がどう変わるかを見比べられるようにしています。

  16. 練習問題を 111 問に増やしました

    全 37 トピックにそれぞれ 3 問以上を用意しました。模範解答は公開前に実際に実行して確認しており、「条件を無視した書き方」がきちんと不正解になることも機械で検査しています。

  17. コマンド道場を公開しました

    ブラウザの中で動く本物のデータベースに SQL を打ち込み、実行結果で採点する学習サイトです。登録は不要で、打った SQL がサーバーへ送られることもありません。