データベーススペシャリスト試験メモ

メモですよ〜〜

 

午後2の足りないリレーションを追加していくタイプの問題は

テーブル1個ずつちゃんとリレーション足りてるかどうか検証していくのがいいぞ

全知全能な目線ですべてのテーブルを眺めながら違和感と矛盾を探すのはやめるんだ

 

引当とか納品とかそういう単語が苦手すぎる

 

3層スキーマ

外部 - 概念 - 内部

外部 → ビュー

概念 → テーブル

内部 → インデックスとかそういうの?B木がどうとか?

参考:3層スキーマ

 

wikiからコピペ

 

体現ビュー(マテリアライズドビュー)

 実際のテーブルみたいな感じで実態?があるビュー

 インデックスがつかえる

 参照元が変わってもそのままだと更新されないのでリフレッシュしないといけない

 

部分関数従属

 キーの一部が非キーに関数従属してるやつ

 非キー同士はだめ 非キー同士は推移的関数従属

 キー → 非キーA → 非キーB(推移的関数従属)

 キーの一部 → 非キー(部分関数従属)

 

内部結合

 結合のキーが両方のテーブルでマッチしたやつだけで結合

 

外部結合

 結合のキーがマッチしなかったやつも合わせて結合

 マッチしなかったテーブルの属性は空になる

  左外部結合

   左側のテーブルのタプル全部に対して右側のマッチするやつを結合

  右外部結合

   逆

 なので左内部結合とかはない

 

テーブルの演算の商

 

属性1
a
b

で割る場合割られる側のテーブルで属性1の値がaとbのやつだけ抽出

属性1以外の値が等しいレコード間で属性1がaとbをもってるやつだけにする

この計算はわかりやすい説明がどこにもねーなと思ってたけど実際説明しづらい

 

2層ロックプロトコル

 デットロックになりうる

 何がツーフェーズなにかよくわからん

 ロックと開放でツーフェーズ・・・?

 データベーススペシャリストに出てくる単語はたまにデータベーススペシャリスト関連でしかでてこないやつがあるきがする

 

時刻印方式

 更新されたタイミングを記録しといて

 トランザクション開始 -> 更新しようとするときに更新されたタイミングと最初に記録した更新されたタイミングを比較->ほかのやつに更新されちゃってたらやーんぴみたいな?

ロックっぽいけどロックはしないからデッドロックはおきない

 

READ COMMITED

 コミットされたやつをよむ

 

READ UNCOMMITED

 コミットされてなくてもよむ

 もはやなんのためのコミットだかおれにはわからん

 

弱実体

 他のエンティティが消えたら一緒に消えちゃうエンティティのこと

 SQLの外部参照のカスケードにまきこまれて消えるやつのことかな

 きえないやつは今日実体

 

WAL

 ライトアヘッドログ

  データベース更新前にログかいちゃうやつ

  データベース更新時になんかおきておじゃんになってもログかいてあるから復旧できてうれしい

 

クラスタリング

 スイミーみたいなやつ