2016年3月27日日曜日

データベーススペシャリストの勉強メモ4

平成26年度春季の午前Ⅱ問題をやりました。
間違えた/間違えそうだった問題のポイントのまとめです。
クレジットカードシステムの家族会員情報のように、本会員情報と関連しており、本会員情報が存在しなくなれば、家族会員情報も存在しなくなるような実体を、弱実体(week entity)という。
弱実体に対して、通常の実体を強実体(strong)と呼ぶことがある。
第3正規形において存在する可能性がある関数従属は、従属キーの真部分集合から他の候補キーへの真部分集合への関数従属だけ。
カーソルで示された行の指定された列値を更新する構文は下記のようになる。
UODATE 表名 SET 列名 = 値 WHERE CURRENT OF カーソル名
属性がn個ある関係の異なる射影の数は2^nとなる。
※射影の数をビットで表す。n=4の場合は、0000〜1111。
複数のトランザクションが同時実行された結果と逐次実行された結果が等しい場合、トランザクションの直列可能性(serializability)が保証されているという。直列化可能性は、ACID特性の独立性と同等な性質を意味する。直列化可能性を保証する仕組みとして、2相ロック方式、木制約方式がある。

隔離生水準が低く、トランザクション間の干渉が起こり得る状態は、直列化可能性が保証されていない状態である。直列化可能性が保証されていれば、隔離生水準は高くなる。
ダーティリード(Dirty Read)とは、あるトランザクションが更新したコミット前のデータを別のトランザクションが読むことによって発生する不都合である。トランザクションT1が更新した行をトランザクションT2が読んだ後、T1がロールバックされる。この場合、更新された行は元に戻ってしまい、T2は存在しない値を読んだことになってしまう。
DBMSにおけるデッドロックの検出は、待ちグラフやタイマー監視によって行われる。
資源割当表と時刻印管理表は、デッドロックを回避するために使用されるもので、デッドロックの検出はできない。
トランザクションの優先順位管理表は、トランザクションのスケジューリングに使用するデータ構造であり、デッドロックの検出はできない。
RPO(Recovery Point Objective):目標復旧時点 RTO(Recovery Time Objective):目標復旧時間
必要なDBサーバのコネクション数=最大トランザクション件数(TPS)×Webアプリケーションサーバ内留保時間

2016年3月26日土曜日

データベーススペシャリストの勉強メモ3

TACの平成28年度春季合格目標の公開模試に行ってきました。
午前Ⅱ試験の間違えた問題のポイントのまとめです。
関係モデルは、論理データベースを作成する際に用いられる。
データ構造上の制約条件がほとんどなく、数学的な概念に基いて理論付けされている。
関係演算の除算の結果は、下図のようになる。
B列の値が異なるため、"A=2 / B=c" と "A=3 / B=a"の組み合わせは該当しない。
R
A B
1 a
2 b
2 c
3 a
3 b
4 c
S
A
2
3
R÷S
B
2
2相ロック方式では、トランザクションが獲得するロック数が単調に増加し、単調に減少する。
トランザクション間の干渉許容度は、高い順に下記のようになる。
1. read uncommited
2. read commited
3. repeatable read
4. serializable
パスワードリスト攻撃の被害を防ぐための利用者側の対策としては、インターネットサービスごとに異なるパスワードを設定することが有効。
依存関係のない並列実行可能な処理を一つにまとめて実行できるようにすることで、プロセッサの高速化を実現する技術は、VLIW
上記以外にケアレスミスで間違えた問題が1問あったので、25問中18問正解という結果でした。正答率は72%なので、合格ラインの60%はクリアできています。

午後Ⅰ試験に関しては、記述式なので正確な得点は採点結果が戻ってくるまでわかりませんが、解答を覧る限りでは、選択した問1、問2ともにほぼ満点です。少なくとも、合格ラインの60%はクリアできています。

午後Ⅱ試験も記述式なので、正確な得点はわかりませんが、解答を覧る限りでは、選択した問2の7〜8割は正しく解答できていました。合格ラインの60%はクリアできているように思えます。時間内に完璧な回答を仕上げるのは困難ですが、問題文を丁寧に読み込んで、エンティティタイプ、リレーションシップ、関係スキーマを整理していけば、なんとかなりそうです。