[2]を表示しています。

平成9秋 AE 問36

システム障害を起こしたデータベースをウォームスタートにより再始動によって回復する。後退復帰(ロールバック)処理と再実行をすることなく、前進復帰(ロールフォワード)処理だけで済ませることができるトランザクションはどれか。ここで、チェックポイントでは、その時点で実行中のトランザクション情報やデータベースの更新履歴などのログ情報を書き出すとともに、データベースへの書出しも行う。

問題の図

解答 イ

エマージェンシーリスタート
チェックポイントやログを参照してDBMSが自動的に行う再実行
ウォームリスタート
オペレータの操作により一度システムをダウンしてから、再開する方法
コールドリスタート
システムを完全に停止して、リカバリ作業を行った後に再開する方法

ロールフォワード処理で復旧できるのは、障害発生前にコミットがなされているものである。
(ア)はチェックポイントの前にコミットされているため、回復処理は不要である。
(ウ)と(エ)は障害発生時に処理中の状態なので、ロールバックしてからトランザクションを再実行する必要がある。

1999/08/06


平成9秋 AE 問34

”社員”表から同姓同名を検索したい。適切なSQL文はどれか。

社員
社員番号 氏名 生年月日 所属
0001 新井 健二 1950/02/04 営業部
0002 鈴木 太郎 1955/03/13 総務部
0003 佐藤 宏 1961/07/11 技術部
0004 田中 博 1958/01/24 企画部
0005 鈴木 太郎 1948/11/09 営業部
0006 佐藤 憲治 1962/05/08 製造部

 SELECT DISTINCT 氏名 FROM 社員 ORDER BY 氏名
 SELECT 氏名 FROM 社員 GROUP BY 氏名 HAVING COUNT(*) > 1
 SELECT 氏名 FROM 社員 WHERE 氏名 > 1
 SELECT 氏名 FROM 社員 WHERE 氏名 = 氏名

解答 イ

社員表の氏名でグループ化し、カウントを取ることによって、同姓同名の人がいればCOUNT(*) > 1 となることを利用する。

1999/08/06


平成9秋 AE 問31

関係データベースのアクセス効率について、適切な記述はどれか。

 更新の頻度が高い列に対しては、索引を少なくする方が効率がよい。
 最初に最適なアクセスパスを一つ用意すると、データ量が増加しても効率は悪化しない。
 すべての読取りアクセスは、必ず索引を使うアクセスパスにする方が効率がよい。
 同時に多くのトランザクションが処理されても、排他制御機能があるので効率には影響しない。

解答 ア

1999/08/06


平成8春 PM 問23

あるSQL文を処理したとき、次のような測定結果が得られた。ここから何らかの資源の待ちが発生していると考えられるが、その待ち時間は何秒か。ただし、通信処理時間は無視してよい。

CPU時間
200ミリ秒
応答時間
35秒
物理I/O回数
400回
物理I/O当たりの平均ディスクアクセス時間
15ミリ秒(回転待ち時間も含む)
論理I/O回数
2,000回

 4.8
 6.2
 28.8
 29.0
 34.8

解答 ウ

待ち時間 = 応答時間 (35s)- 実行時間

実行時間 = 物理I/Oに関する実行時間 + CPU時間(0.2s)

物理I/Oに関する実行時間 = 0.15s * 400 = 6s

∵待ち時間 = 35s - (6s + 0.2s) = 28.8s
なお、論理I/O回数は、CPU時間に含まれると考えられるため無視する。

1999/08/06


平成7春 DB 問39

データベース言語に関する次の記述のうち、正しいものはどれか。

 NDLにおけるモジュール言語では、手続きを定義できない。
 NDLは、ISOで標準化されていない。
 SQLにおけるカーソルは、開かれた状態かまたは閉じられた状態かのどちらかであり、カーソルの初期状態は開かれた状態である。
 SQLの権限定義機能を用いることによって、表に対する挿入、更新、削除などの権限を定義できる。
 SQLのデータ操作機能は、データの検索、挿入、削除だけで構成される。

解答 エ

NDL
網(ネットワーク)データベースのためのデータベース言語。1987年にNDLとして規格化された(ISO 8907-1987、JIS X 3004-1987)。スキーマ定義言語、サブスキーマ定義言語およびデータ操作言語からなる。
SQL
関係データベースの言語としてのSQLはすでに業界標準になっていた米国IBM社のSQLなどをもとに、1987年に標準規格が設定された(ISO 9075-1987、JIS X 3005-1987)。最初の標準では、データ定義言語とデータ操作言語の基本的な部分だけが規格化された。その後、機能が追加制定されており、現在ではSQL2(SQL92)と呼ばれる段階になっており、さらに、SQL3が制定される予定になっている。

1999/08/05