この記事は「データベーススペシャリスト資格に興味はあるが、どのようなものか?どう学ぶのか?」という方向けに、具体的な内容と私自身の挑戦ログをお伝えする。学び中の方や、これから学ぼうとされる方の参考になれば幸いだ。
今回は知識(代理キー,代替キー,集合演算)およびSQL(確認ドリル)について書く。また、当資格で実務を扱う際に避けて通れない税金について復習する。
※この記事のSQLはGoogle Big Queryに準拠
知識(代理キー,代替キー,集合演算)
前回おさらい
- データベーススペシャリスト資格について「そもそも何?」「大事なポイントは?」「何の役に立つの?」は過去記事にてまとめ済
- 本試験について過去問ベースの学習を進めていく。
代理キー、代替キー
- 最も重要なのは、前回まで学習した主キー、候補キー、外部キー。
- それ以外に「午前試験対策で意味だけ知っておくとよい」ものとして代理キー、代替キーがある。
- 代理キー(alternate key)は、主キーとして選ばれなかった候補キー。
- 代替キー(surrogate key)は、あとから候補キー(主キー)として利用できるように追加した属性。たとえば通し番号や行番号など。
- 代替キーは、主キーが一つでも長すぎたり、複合であったり、そのうち一部がnullである場合等に使える。
集合演算
- データベースは抽象概念なので、数学の言葉を使うことが多い。そのときはわかりやすい言葉への置き換えが重要であった。
- ここでいう”演算”とは”表に対しての操作”と置き換えすればよい。
- 集合演算には和、差、積、直積がある。SQLで言うところのunion,except,intersect,cross join。
- 詳細は過去記事参照(和集合 union、差集合 except、積集合 intersect、直積 cross join)
- 午前2試験では「m行n列とk行j列で直積を取る場合、m×k行とn+j列になる」が出題されている。
試験問題例
- 和両立である関係Rと関係Sがある。R∩Sと等しいものはどれか。答えはR-(R-S)。集合演算の図問題は、ベン図を書くとわかりやすい。(H31問12)
- 関係AとBに対して和集合演算が成立するための必要十分条件はどれか。答えは「次数(列の数)が同じで、対応する属性(列)のドメイン(内容)が等しい」。これは、「SQLでunionが月別の売上表などを”縦”につなげるから、列の数と列項目が全て一致していないとエラーになる」基本を知っていれば解ける。(H28問15)
9月22日復習時追記
- 集合演算については午前2で数問出題されるのみであり、対策済。
- 関係代数については、午後の過去問で確認した。対策済。
- 代替キーの考え方は、午後のDWH(データウェアハウス)で少し触れた。対策済。
問題039(SQL確認ドリル)
問題文
- 「sales」テーブルから、初めて値引き販売が記録された「date_time」を取得してください。
- (値引き販売は「is_proper」が”false”の場合とします)
where, order byのおさらい
- whereは行の絞り込みを行う。条件にbool値(trueまたはfalse)を使うときは”is”で繋げる。
- order byは並び替えをおこなう。今回はこれらを組み合わせ、以下のとおり。
税金について(税の大まかな内訳)
税の内訳(全体)
- 前回、「税金」の定義を「なるべく公平になるようルール化された、国民が出し合う経費」と一旦置いた。
- ここで「出し合う経費」について疑問がわいた。どのような税をどれくらい出し合っているのか?経費としてどのように使われているのか?
- まず、国民が出し合う税は令和4年度は以下のとおり。
- おおきく①所得(給与や売上)、②資産(土地や相続、贈与など)、③消費(普段の買い物など)に税がかかる。
- 大まかな割合は①所得が約半分、②資産が約14%、③消費が約34%とわかる。
出所:財務省 税の種類に関する資料
税の内訳(国税と地方税)
- なお、税金は国に納めるものと、地方に納めるものがある。
- 上の表は国と地方の総額であるが、国だけで見ると以下のようになる。混同しないように気を付けたい。
- なお、国に納める税と、地方に納める税の一覧は別表を参照(財務省 税の種類に関する資料)
出所:国税庁 税の学習コーナー > 学習・発展編 > [国の財政] 財政のしくみと役割
私たちが実際に支払うお金
- さて、これで大まかに「私たちは国民として、大まかに所得5.2:資産1.4:消費3.4の支払いをしている」とわかった。
- なお、社会保険制度はまた別である。これは病気や老後のリスクに備える公的な保障であり、健康保険や年金が該当する。
- つまり私たちが実際に支払うお金は、「税金」とは別に「社会保険(健康保険・年金)」である点は今更ながら注意したい。
- そうなると、たとえば「サラリーマンの場合それぞれどのくらい支払うのか」。「経費としての使われ方はどうなるのか?例えば医療費の自己負担3割は税金からのもの?社会保険のもの?」など次の疑問がわく。次回以降、順に確認していきたい。
考察
- データベーススペシャリスト資格について。今回は代理キー,代替キー,集合演算について復習した。集合演算については前回SQLでも学んだため再度の復習となる。また、SQLの確認ドリルを解いた。お題は真偽値での絞り込み、データの並び替えだ。
- 考察。実務や生活において必須の「税金」について学び直している。今回は「国民は税金として、大まかに所得5.2:資産1.4:消費3.4の支払いをしている」「社会保険(健康保険・年金)はまた別である」等を復習した。
考察のシンプル化と英訳(練習中)
- tax include national tax and local tax. the social insurance system is another.
- (税金には国税と地方税が含まれます。社会保険制度は別です)
参考資料
- 2022年度版 ALL IN ONE パーフェクトマスター データベーススペシャリスト/TAC
- 集中演習 SQL入門/木田和廣/株式会社インプレス(SQL確認ドリル)
- 図解いちばん親切な税金の本21-22年版/高橋 創/ナツメ社(税金について)
コメント