Skip to content
/ skrsql Public

書籍「スッキリわかるSQL入門」所有者が使えるサンプルコードの実行支援ツールです、性質上書籍利用者のみお試しください。

License

Notifications You must be signed in to change notification settings

densuke/skrsql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

このリポジトリは?

flairLink様が出版されている「スッキリわかるSQL入門第3版」購入者が利用できるダウンロードリソースを用いて、ローカルの環境でSQLの練習をおこなうツールのひとつです。 dokoQL(https://dokoql.com/)が使えればGUIでそれなりに操作しやすいかもしれませんが、スタンドアロンで試したいという需要もあると思って作成しました。

特に学校の授業で一斉に用いる場合、dokoQL様に同時アクセスによる負荷が懸念されるので、初回のローカルセットアップ以降は外部ネットワークがほぼ不要となる本ツールはそれなりの需要があるかと思い、公開いたします。 作者の個人的な趣味・嗜好により、CLIしかありません。

動作環境

動作環境としては以下を想定しています。

  • 書籍 スッキリわかるSQL入門第3版 ※必須条件、お持ちでない方は使えません
  • Ubuntu Linux22.04LTS(サーバー版)
    • postgresql-10パッケージによるサーバー
  • もしくはDocker環境(イメージ利用)

書籍を購入される方は、以下からどうぞ。紙版・電書版どちらもたどれると思います。


PostgreSQLに関しては、利用者が以下の条件を満たしていることを前提としています。

  • 使用ユーザーがデータベース作成権限を保有すること(createuser -dなど)
  • 使用ユーザーが(少なくともデータベース名Canについて)パスワード入力無しでcreatedb/dropdbできること1

インストール・アンインストール

インストールの際に、環境チェックを行ってからインストールを行います。 まず、

$ make

としてみてください、動作チェックを行い、必要なソースをダウンロードしてきます。

エラーが出なければ、

$ make install

としてインストールしてください。 権限上の問題で失敗する場合は、sudoを併用してください。 開発環境上ではsudo不要で動いてます。

アンインストール、クリーニングについては、

$ make uninstall
$ make clean

を用意しています。

基本的な使い方

テキストに含まれているリストなどの番号を使って行います。 テキストにて「リスト4-10」(List 4-10)とあれば、

$ list 4 10

と入れてみてください、DBの下準備が行われた上でpsqlコマンドが実行されて入力可能になります。 ただし現時点ではmacOS上での都合か、psql上で日本語がうまく入力できないことがあるため、行編集機能を無効化しています2

他のツールとしては、

  • q: 問題(問題番号を引数に)
  • can: できるようになったことのまとめ(章番号を引数に)
  • drill: 付録に含まれる問題用

があります。

Dockerイメージ版

.github/workflows/ci.yml

$ docker run -d --name skrsql densukest/skrsql:v3
$ docker exec -it -u sql skrsql コマンド 引数...

Dockerイメージの動作は以下の環境で確認しております。

  • Linux/amd64(Docker Desktop内)
  • Linux/arm64
    • Ubuntu Linux 22.04 on Raspberry Pi
    • 上記環境で動くdocker engineおよびpodman
  • macOS Ventura上でのDocker Desktop
    • ごめんなさい、Intel版のみです

M1/M2 macOS上でのDocker Desktopによる検証はできておりませんが、仕組み上Linux/arm64なRaspbery Piで動くでしょうから問題無いと思ってます。 どなたかM2 macBook(Memory 16GB- & US keyboard)をお恵みいただければ検証いたしますが、今はなんともです。

tools/skr コマンドによりコンテナの制御や各コマンドの呼び出しが可能ですが、諸事情によりdockerコマンドではなくpodmanを使っております。

ライセンス、再配布規定について

このコードについてはGPL3といたします。ただしインストール時にダウンロードしているsukkiri-sql3-codes.zipについては、以下の点にご注意ください。

  • ファイルの内容自体はCreative Commons BY-SA 4.0に準拠しています(そう記載されています3)
  • ただしファイルの利用は書籍「スッキリわかるSQL入門第3版」を持っている方のみとされています(書籍特典という扱いのため)。

Footnotes

  1. ファイル ~/.pgpass を作成し、 locahost:5432:Can:ユーザー名:パスワード と入れて、パーミッションを0600にすればたいていOK

  2. まっとうな対応方法がわかったら修正を加える予定です。

  3. LICENSE.txt

About

書籍「スッキリわかるSQL入門」所有者が使えるサンプルコードの実行支援ツールです、性質上書籍利用者のみお試しください。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published