0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DBスペシャリスト試験対策備忘録

Last updated at Posted at 2025-08-21

自分用に疑問点や調べたことをまとめたものです。

R3

午後Ⅰ問2

索引はバッファヒット率100%、テーブルはバッファヒット率0%と仮定

索引データ自体は全てバッファ上に存在するので、該当行を含むページのディスク上の位置はすぐに分かる、が、そのページ自体はバッファ上に存在しないためディスクI/Oが発生する、という意味か?
であれば「テーブルはバッファヒット率0%」ではなく「ページはバッファヒット率0%」と書いてほしい…
以下perplexityの回答。わかってきたら要検討。。

「実際には索引から行ID(Heap TID)を見つけた後、その対応するデータページがバッファにないからディスクI/Oが起きる」ので、正確さだけでいえば「データページはバッファヒット率0%」と書いたほうが分かりやすいです。
しかし説明や論文、教科書的な記述ではしばしば「テーブル側のバッファヒット率0%」と大ざっぱに表現されます。理由は:

  • 簡潔さ重視:ページ単位で区別すると説明が煩雑になるため、全テーブルデータをひとくくりにして「バッファに無いもの」と扱う。
  • コスト推定のモデル化:RDBMSの実際のI/Oコスト推定も「テーブルアクセスのヒット率パラメータ」として粗い値を使うことがある。個々のページではなくテーブル全体で仮定を置く方が計算モデルとして扱いやすい
  • 意図した前提条件の強調:ここでの議論は「索引は全部メモリに載っている」と「テーブルはディスクから読む必要がある」というコントラストを説明したいので、細かさより両者の違いを単純に表現している

R4

午後Ⅰ問2

ALTER TABLE文

テーブル名、カラム名、カラム定義の変更や、カラムの追加などを行う文

テーブル名の変更
ALTER TABLE <OldTableName> RENAME TO <NewTableName>;
カラム名の変更
ALTER TABLE <TableName> RENAME COLUMN <OldColumnName> TO <NewTableName>;
カラムの追加
ALTER TABLE <TableName> ADD COLUMN <NewCulumnName> <Type>;

トリガー

BEFOREとAFTERがめちゃくちゃ聞かれる。

COALESCE

引数に与えた最初の非NULL値を返す.
発音は「コアレス」に近いらしい。
意味としては「折れた骨が癒合する」 「合体する」という意味で英単語としては一生使わなそう。

coalesce or unite in a mass
訳)合体するか、一括して結びつく
weblio "coalesce"

離散的な集合というより連続的な結合を指すのかな?

with句

副問い合わせに名前をつけて、一時的にテーブルを作るようなもの。2つ目以降の服問い合わせでは"with"を省略する。

with句の例
-- ポケモンの基本情報
WITH ポケモン情報 AS (
  SELECT ID, 名前, タイプ 
  FROM ポケモンテーブル
)

-- ポケモンの技
, 技情報 AS (
  SELECT ID, 技名 
  FROM 技テーブル
)

-- JOINして表示
SELECT 
  ポケモン情報.名前,
  ポケモン情報.タイプ,
  技情報.技名
FROM 
  ポケモン情報
  JOIN 技情報 ON ポケモン情報.ID = 技情報.ID;

午後Ⅱ 問1

cast

sqlの型変換を行う関数

castの使い方
CAST( AS 新しいデータ型)

window関数

別名分析関数。
集計関数がグループに対して単一集計値を返すのに対して、分析関数は行ごとに単一の集計値を返す。
quitaのこちらの記事が詳しくわかりやすかった。

DBドメイン知識

  • オーソリ処理
    • クレジット決済の際に利用する用語で、カードが正当に利用できるかどうかをクレジットカード会社に確認する作業のこと。信用照会と与信確認を指す
      • 信用照会:ローンやカードの利用状況などを確認
      • 与信確認:与信枠(利用可能金額)の範囲内か、不正利用でないかを確認
    • ”Authorization"の略
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?