データベーススペシャリスト資格|2022年10月挑戦ログ 6月20日|DB基礎知識(ER図と多重度)|SQL(確認ドリル)|税金について(教育関係費)

高度IT・基礎知識

この記事は「データベーススペシャリスト資格に興味はあるが、どのようなものか?どう学ぶのか?」という方向けに、具体的な内容と私自身の挑戦ログをお伝えする。学び中の方や、これから学ぼうとされる方の参考になれば幸いだ。

今回は知識(ER図と多重度)およびSQL(確認ドリル)について書く。また、当資格で実務を扱う際に避けて通れない税金について復習する。

※この記事のSQLはGoogle Big Queryに準拠

知識(ER図と多重度)

前回おさらい

  • データベーススペシャリスト資格について「そもそも何?」「大事なポイントは?」「何の役に立つの?」は過去記事にてまとめ済
  • 本試験について過去問ベースの学習を進めていく。

ER図

  • テーブルは集合(意味のあるまとまり)であり関数(一つの入力に一意の出力が決まる)。
  • ごった煮テーブルは煩雑かつ問題が多いので、実務では業務の流れに沿って分割することが多い。
  • ER図は、業務の内容に基づき、エンティティ(テーブル)のリレーション(関係)を見える化したもの。

多重度(カーディナリティ)の基本

  • たとえば学生テーブルと講義テーブルが多対多で関係する場合
  • ER図では「学生(多)↔(多)講義」または「学生(0..*)-(1..80)講義」などのように書かれる。
  • 後者は下限値..上限値を表す。(0は無くても良い、1は必ず一つはある、*は上限なし)
  • 実際の図は以下のとおり

多重度(カーディナリティ)の読み方

  • とくに午後試験を解く際は、多重度の基本を正しく理解する必要がある。
  • たとえば「学生(多)↔(多)講義」の場合
  • まず「学生」側から「講義」を見に行き、「1つの学生につき、複数の講義が対応する」と読む。
  • 注意したいのは、学生側に(多)と書いてあってもこれは「見られ方」であり、始まりは「1つの学生につき」とする点
  • 次に、「講義」側から「学生」を見に行く。このように両方向から見ることが大事。
  • すると「1つの講義につき、複数の学生が対応する」となる。
  • まずはここまでが基本。これでも理解が難しい場合、具体数値を当てはめて考える。
  • たとえば「1つの学生につき、複数の講義が対応する」であれば、「学生№123のトムさんは講義№52 数学,№61 英語,№63…など複数の講義を受講できる」と考える。
  • 次に「1つの講義につき、複数の学生が対応する」であれば、「講義№52 数学は、学生№124,125,126…など複数の学生が受講できる」と考える。
  • このように、データベーススペシャリストがどのようにシステムを設計するかの要件を教えてくれるのがER図。

多重度(カーディナリティ)の注意点

  • ER図はシステムの要件書になるので、業務をふまえて誤りがあれば気が付かなければならない。
  • たとえば講義と教員の関係がER図で「講義(多)←(1)教員」と書いてあれば「1つの講義につき、1人の教員のみ対応する」「1人の教員につき、複数の講義が対応する」と読める。
  • しかし、もし仮に「1つの講義に、複数人の教員が対応(担当)できる」のが正しい業務要件であった場合、実務とシステムに齟齬が発生してしまう。
  • よって、あらためてER図をしっかり読めるし、書けることが重要だし、試験でも読ませるし書かせる。
  • なお、「学生(0..*)-(1..80)講義」の記載の場合、「1つの学生につき、1から80の講義が対応する」なので講義はかならず1つは登録しなければならない。上限は80だ。
  • 一方、「1つの講義につき、0から上限無の学生が対応する」なので学生が一人もいない講義があっても良いことになる。
  • このように、ER図はシステムのふるまいを細かく定義しているという点で非常に重要だ。
  • なお、本試験では「学生○↔●講義」のように下限に注目する記載ルールが用いられる。○は0を含む(0..)、●は1以上(1..)という意味だ。

試験問題例

  • UMLを用いて表した商品と倉庫のデータモデルに関する記述について。多重度を読み解けば、「1つの在庫商品につき、1つの倉庫番号が付与される」「1つの在庫商品につき、0~*の出庫実績が付与される」などが分かる。要点は多重度の読み方。次に、データの具体例で考えれば、「1種類の商品を、2つの倉庫に”はじめて”入庫すると、在庫商品データが2件追加される」は正解と分かる。データ(行)で考えれば、「商品種類a、在庫数10、東京倉庫」および「商品種類a、在庫数5、大阪倉庫」のように2つ管理されるので。(H28問1)
  • 部、課、係の階層関係からなる組織のデータモデルに関する記述。まず、「部・課・係をそれぞれエンティティにして繋げる」方法は、新しい組織レベル(例えばチーム等)を設ける場合に設計し直しが必要。次に、「組織エンティティを作り、エンティティの上から右へ線を繋げる」方法は、親と子の関連が循環しない制約記述が必要。いずれにせよ多重度の読み方と、データの具体例の基本を意識して解く事(R3問2)
  • 「検査項目が人によって異なり、あらかじめ決まってないことが多い」かつ「検査項目ごとに最新の値だけ保持する標準値と、計測日時ごとに保存する計測値がある」と説明されている。このとき「検査項目エンティティと、人エンティティは直接繋げないほうが良い」「定数的な標準値と、変数的な計測値は分けたい」など分かると良い。(H29問3)
  • 主キーと外部キーの関係から、適切なER図を求める問題。ポイントは「多側のほうで外部キーを持つ(そして、1側の主キーとつなげる)」という基礎を抑えること。(R3問4)
  • 多重度について。基本は1:1か1:多。1:多の場合は多側が外部キーを持つ。1:1の場合はどちらでも良い。(H30問2)

9月22日復習時追記

  • ER図と多重度については午前2で良く出題されるものであり、対策済。
  • ER図と多重度は、論理設計では必須科目。アウトプットトレーニングで対策済。

問題041(SQL確認ドリル)

問題文

  • 「product」テーブルから、「ゼリー」のカテゴリを除いたレコードの「cost」の分散を求めてください。
  • なお、データは全数(母集団)であり、サンプルではありません。
  • 結果テーブルのカラム名は「var_cost」とします。

where,var_popのおさらい

  • whereでは特定の行を除くこともできる。「!=」を使う。
  • 分散はvar_pop関数を用いる(全数(母集団)でなくサンプルの場合はvar_samp関数を用いる)。
  • 具体的には以下のとおり。

税金について(教育関係費)

前回までのおさらい

  • まず最初に、「税金」の定義を「なるべく公平になるようルール化された、国民が出し合う経費」と一旦置いた。すると、「出し合う経費」の部分についていくつか疑問がわいた。
  • そこで、まず「どのような税をどれくらい出し合っているのか?」について確認した。結論は「国民は税金として、大まかに所得5.2:資産1.4:消費3.4の支払いをしている」「社会保険(健康保険・年金)はまた別である」だ。
  • また前回は「経費としてどのように使われているのか?」について「総支出および内訳」を確認した。また、あくまで個人の学習用として「国民一人当たりの年間負担イメージ」を作成してみた。自分ごとに捉えると、税を身近に感じられて面白い。
  • 今回は「教育関係費の国民一人当たり負担は”年間約16万円”だが、使われ方は?」を確認したい。

教育関係費について

  • まず平成30年時点の教育関係費は約20兆円だ。(日本の総人口約1.26億で単純に割ると一人当たり負担は年間約16万円となる)
  • 内訳は学校教育費が約15兆円、社会教育費等が約5兆円となる。このうち社会教育費等は公民館、図書館、博物館等の施設に使われる。

小学校の教育費について

  • さて、私事で恐縮だが娘の小学校入学が近いため、小学校の教育費について考察する。
  • まず、公立小学校の在学者一人あたりに使われる税金は、約100万円だ。これは令和2年 地方教育費調査 結果の概要に記載されている。(地方教育費総額の約16.3兆のうち約38%の約6兆を、在学者数約620万人で割った結果)
  • ポイントの一つ目は、税金を加味すると公立も私立も学費の総額は大きくは変わらない点だろうか。公立が約132万円(100万円が税金、32万円が自己負担金)、私立が約160万円(全額自己負担金)となるからだ。(自己負担金は文部科学省の子供の学習費調査から確認)
  • ポイントの二つ目は、税金の運営費用だろうか。公立の学費のうち大半を占める税金は国と地方(都道府県と市区町村)で出し合っているので、できるだけ公平な配分のため運営費が必要になる。
  • 最も明示的なのは地方教育費総額の16.3兆のうち約6%(約1兆)にあたる教育行政費だ。主に教育委員会事務局等の経費であり、これは在学者一人あたりの学費に含まれていない。
  • 少なくとも私はこの点について、やむを得ない費用だと考えている。偉人の理論を借りればハーバード・A・サイモンによる「限定合理性を克服するための組織のあるべき姿」が近いか。
  • すなわち人間は必ずしも合理的な判断はできないので、組織を作り「分業・標準化・縦横の円滑なコミュニケーション」を行うというものだ。(ただし欠点として抜本的な変化や有事に弱かったり、コミュニケーションが詰まるとガバナンス不全になることが挙げられる。)
  • 反例として「仮にたった一人もしくはAIが自動で、税金の収集と分配を行う」としたとき、国民の理解が得られるかというと難しいところだろう。
  • ポイントの三つ目は、教職員一人当たりの受け持ち人数だろうか。少子高齢化にともない、公立小学校の在学者は1990年の920万人から2018年の620万人と大幅に減少している。
  • 一方、教職員数は1990年の44万人から2018年の41万人とあまり変わっていない(人数の推移は文部科学省統計要覧から確認)。
  • これに伴い、1クラスあたりの人数も概ね30名から20名ほどに減少している。これは1クラスあたりの少人数制により、教育の質を高めることが重要であると説明されている。(e-statの学校基本調査 収容人員別学級数から概算)。
  • なお、小学校の学校教育費の約6兆のうち、人件費が約4兆で、本務職員給与が約2.6兆(41万人×平均年収550万で凡そ近似値)とまっている点にも留意したい。(e-statの地方教育費調査の小学校で確認)

考察

  • データベーススペシャリスト資格について。今回はER図,多重度について復習した。とくに多重度は読み方の基本と注意点を念入りに確認した。また、SQLの確認ドリルを解いた。お題は特定の行の除去と分散の取得だ。
  • 考察。実務や生活において必須の「税金」について学び直している。今回は「教育関係費」について内訳を確認した。また、小学校の費用について学費の総額、税金の運営費、教職員一人当たりの受け持ち人数などを確認・考察した。

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

  • I try to understand the cost of education. because it’s very important for the future.
  • (私は教育費について理解しようとしています。それは将来に向けて非常に重要だからです)

参考資料

  • 2022年度版 ALL IN ONE パーフェクトマスター データベーススペシャリスト/TAC
  • 集中演習 SQL入門/木田和廣/株式会社インプレス(SQL確認ドリル)
  • 図解いちばん親切な税金の本21-22年版/高橋 創/ナツメ社(税金について)
  • 見えない税金の恐怖/大村 大二郎/ビジネス社
  • 会社に入る前に知っておきたいこれだけ経済学/坪井 健一/ダイヤモンド社

コメント

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