データベーススペシャリスト資格|2022年10月挑戦ログ 8月5日|DB基礎知識(DBMSとトランザクション)|SQL(確認ドリル)

高度IT・基礎知識

この記事は「データベーススペシャリスト資格に興味はあるが、どのようなものか?どう学ぶのか?」という方向けに、具体的な内容と私自身の挑戦ログをお伝えする。学び中の方や、これから学ぼうとされる方の参考になれば幸いだ。今回は知識およびSQL(確認ドリル)について書く。(SQLはGoogle Big Queryに準拠)

知識(DBMSとトランザクション)

データベース管理システム(DBMS)とは

  • データベースとは、データのまとまり。
  • DBMSとは、データベースを構築・管理するためのミドルソフトウェア。一般的にはDBサーバに置かれることが多い。
  • アプリからデータベースを参照するときは、アプリケーションサーバからDBサーバにアクセスして行うことになる。

DBMSの機能

  • まず、SQL実行機能を持つ。これはselect文のようなデータ操作言語(DML)と、create文のようなデータ定義言語(DDL)からなる。
  • 次に、トランザクション制御機能を持つ。これは同時実行制御、コミットメント制御、障害回復制御などだ。
  • 最後に、データ機密保護機能を持つ。これは認可制御と暗号化からなる。認可制御についてはアクセス権を付与するgrant、はく奪するrevokeなどがある。
  • このうち主となるのは、トランザクション制御である。

トランザクションとは何か

  • トランザクションとは、「途中で分けることができない一連の処理」のこと。やるなら最後までやる。やらないなら一切やらない。
  • たとえば「振込トランザクション」として、トムからタロウに10,000円振り込むとき。①トムの口座残高から10,000円マイナスする。②タロウの口座残高を10,000円プラスする。
  • このとき、処理①だけやって終わったら、10,000円マイナスされるだけなのでバグ。動かさない方が良い。
  • このような、all or nothingの特性を原子性(atomicity)という。
  • トランザクションはこれ以外にも、一貫性(consistency)、独立性(isolation)、持続性(durability)などの特性を持つ。頭文字を取ってACIDと言う。
  • 一貫性とは、バグなく正しく動くこと。独立性とは、単独はもちろん、同時実行しても正しく動くこと。持続性とは、システム障害に耐えること。

独立性と同時実行制御の必要性

  • 独立性の重要性を示す例として、同時更新が挙げられる。
  • たとえば口座残高が50,000円のとき、100,000円の入金トランザクションと、20,000円の出金トランザクションを同時に動かすとする。
  • ここで同時実行制御がされていないと、入金トランザクションが150,000円と更新したあと、出金トランザクション側が30,000円と上書き更新してしまうロストアップデートが起きてしまう。

9月22日復習時追記

  • ACID特性関連は、午前2では頻出問題。TACテキストおよび過去5年分解いており、対策済。
  • また、午後については「トランザクション制御」として過去問対策済。

問題087(SQL確認ドリル)

問題文

  • customersテーブルで、会員登録日(register_date)がnullの顧客の人数を求めてください。
  • 結果テーブルのカラム名は「users」とします。

count(distinct 列名),whereのおさらい

  • count(distinct 列名)は指定した列のユニークな値の数を取得できる。
  • whereは条件の絞り込みを行う。今回は”null”なので”is null”を用いる。
  • 具体的には以下のとおり。

考察

  • データベーススペシャリスト資格について。今回は知識(DBMSとトランザクション)の復習を行い、データベースの処理を正しく行うための大事な特性を学習した。また、SQLの確認ドリル(customersテーブルで会員登録日がnullの顧客の人数)を解いた。
  • 考察。生活資金を稼ぐ仕事(ライスワーク)と、生きがいを見出す仕事(ライフワーク)はバランスが大事だと思う。生活基盤が整っているからこそ、自分らしさを模索できるからだ。書籍「アルケミスト/パウロ・コエーリョ/KADOKAWA」における、スプーンの油をこぼさずに素敵な庭を見て回る話を思い出した。

考察のシンプル化と英訳(練習中)

  • I think happiness point is enjoying “life-work” with keeping “rice-work”.
  • (幸せのポイントは、ライスワークを続けながら、ライフワークを楽しむことだと思います)

参考資料

  • 集中演習 SQL入門/木田和廣/株式会社インプレス
  • 2022年度版 ALL IN ONE パーフェクトマスター データベーススペシャリスト/TAC

コメント

タイトルとURLをコピーしました