平成20年度 秋期 ソフトウェア開発技術者試験 問61−80 解答編




このページは

ソフ開

(ソフトウェア開発技術者試験)

解答と解説のページです。

問題だけで勉強したい方は目次へ戻ってください



問61 データベースの3層スキーマ構造に関する記述のうち、適切なものはどれか。
概念スキーマは、データの物理的関係を表現する。
外部スキーマは、データの利用者からの見方を表現する。
内部スキーマは、データの論理的関係を表現する。
物理スキーマは、データの物理的関係を表現する。
解答
解説 データベースで用いられる3層スキーマを以下にまとめます。

スキーマを表示できません

問62 第1、第2、第3正規形とそれらの特徴a〜cの組合せとして、適切なものはどれか。

a どの非キー属性も、主キーの真部分集合に対して関数従属しない。
b どの非キー属性も、主キーに推移的に関数従属しない。
c 繰返し属性が存在しない。
画像(問62ans)を表示できません
解答
解説 データベースの正規化は、重複や矛盾を排除して、データベースの一貫した内容を保障します。リレーションデータベースの正規化にはいくつかの段階があります。通常は第3正規形までですが、ボイス・コッドや第4、第5正規形というのもあります。

第1正規形:繰り返しや、反復している部分を独立させる。
第2正規形:第1正規形であり、部分関数従属を除去する(完全関数従属にする)
第3正規形:第2正規形であり、主キー以外に従属するものを除去する(推移従属を除去する)

用語についても少し解説しておきます。
関数従属:BがAに関数従属するとは、A(例:社員番号)を決めるとB(社員名)が一意に決定するというもの。Aを決定項、Bを従属項といいA→Bであらわす。
完全関数従属:決定項に余分なものがないときにいう。社員番号→社員名など。
部分関数従属:決定項に余分なものがあるときにいう。{社員番号、部署番号}→社員名など(部署番号がなくても社員名を特定できる)
推移関数従属:主キー以外に従属するものをいう。{社員番号}→{部署番号、部署名、社員名}のとき部署名は、部署番号にも従属しているので推移従属となる。

問63 関係データベースにおける実表と導出表に関する記述のうち、適切なものはどれか。
実表に対する射影、結合などによって導出表が得られる。
導出表は、データを参照する場合だけに用いられる。
導出表は、複数の実表から得られる表である。
導出表は、元の実表の列だけからなる。
解答
解説 導出表(ビュー)とは、実表ではない利用者の視点の一時的で仮想的な表のことです。なお、導出表を更新する際は、元のデータと対応づいていなければなりません、つまり、 集計データであるGROUPBY句でまとめられている場合や関数・演算を使っている場合、DISTINCTで重複を排除している場合は、更新ができません。

問64 一つの表に対して更新可能なビューが定義されている。このビューの所有者に自動的に付加されるビューに対する権限はどれか。
REFERENCES権限だけ
SELECT権限だけ
元となる表に対してそのビューの所有者がもっている権限のうち、UPDATE権限以外のすべての権限
元となる表に対してそのビューの所有者がもっているすべての権限
解答
解説 ビューとは実表から作成された仮想的な表のことで、この表のアクセス権は基本的にもとの表から引き継がれます。

問65 行の追加と削除が可能なビューを作成するSQL文はどれか。ここで、SQL文中に現れる表はすべて更新可能とする。
CREATE VIEW 高級商品(商品番号、商品名)
AS SELECT 商品番号、商品名 FROM 商品 WHERE 商品単価 > 1000
CREATE VIEW 受注商品(商品番号)
AS SELECT DISTINCT 商品番号 FROM 受注
CREATE VIEW 商品受注(商品番号、受注数量)
AS SELECT 商品番号、SUM(受注数量) FROM 受注 GROUP BY 商品番号
CREATE VIEW 商品平均受注数量(平均受注数量)
AS SELECT AVG(受注数量) FROM 受注
解答
解説 ビューとは、実表ではない利用者の視点の一時的で仮想的な表のことです。ビューを更新する際は、元のデータと対応づいていなければなりません、つまり、 集計データであるGROUPBY句でまとめられている場合や関数・演算を使っている場合、DISTINCTで重複を排除している場合は、更新ができません。

問66 “社員”表から、男女それぞれの最年長社員を除くすべての社員を取り出すSQL文とするために、aに入る副問合せはどれか。ここで、“社員”表は次の構造とし、下線部は主キーを表す。

画像(問66)を表示できません
SELECT MIN(生年月日) FROM 社員 AS S2 GROUP BY S2.性別
SELECT MIN(生年月日) FROM 社員 AS S2 WHERE S1.生年月日 > S2.生年月日 OR S1.性別 = S2.性別
SELECT MIN(生年月日) FROM 社員 AS S2 WHERE S1.性別 = S2.性別
SELECT MIN(生年月日) FROM 社員 GROUP BY S2.性別
解答
解説 まず、aを残したまま全体を考えると、aの結果よりも生年月日の値が大きい(遅く生まれている)ものを取り出しています。つまり、あとはaの中で同じ性別であることを調べればよいことになります。社員表をS1としているのに使われていないので、aのなかで内部と外部の表を結合していることが分かります。つまり、S1.性別=S2.性別が必要になります。

問67 チェックポイントを取得するDBMSにおいて、図のような時間経過でシステム障害が発生し、前進復帰によって障害回復を行った。前進復帰後のa、bの値は幾つか。ここで、Tn□は長方形の左右両端がトランザクションの開始と終了を表し、終了時にCOMMITを行う。なお、長方形内の記述は処理内容を表す。T1開始前のa、bの初期値は0とする。

画像(問67)を表示できません
画像(問67ans)を表示できません
解答
解説 まず、DBの代表的な復旧方法である、ロールバックとロールフォワードを下に図示します。

ロールバックとロールフォワードを表示できません

システムの論理的な障害の場合は、ロールバックをしますが、コミットに失敗したトランザクションだけを処理すればよいので、チェックポイント以前の回復作業は不要です。(物理的な障害の場合は必要です。)

それでは、各トランザクションを見ていきます。
T1:すでにチェックポイントの前にコミットが完了しているので、復旧は不要です。
T2,T3:処理の途中で障害が発生したので、ロールバックで復旧をします。
T3,T4:チェックポイントのデータとジャーナルを利用して、ロールフォワードで復旧します。

問68 クライアントサーバシステムにおいて、クライアント側からストアドプロシージャを利用したときの利点として、適切なものはどれか。
クライアントとサーバの間の通信量を削減できる。
サーバのデータベースアクセス量を軽減できる。
サーバのメモリ使用量を削減できる。
データの格納領域を削減できる。
解答
解説 ストアドプロシージャ機能とは、データベースサーバにおいて、あらかじめ使用頻度の高い命令群をサーバ側に用意しておくことで、わずかな引数のやり取りだけでSQL文などを実行する機能のことですこれによりクライアント・サーバ間のトラフィックを軽減することができます。ただし、処理量は変わらないのでサーバの負荷は変化しません。

問69 トランザクションのACID特性の説明として、適切なものはどれか。
トランザクションでは、実行すべき処理がすべて行われるか、何も処理が行われないかという状態のほかに、処理の一部だけ行われるという状態も発生する。
トランザクションの実行完了後でも障害の発生によって実行結果が失われることがある。
トランザクションの実行の結果が矛盾した実行になることはない。
トランザクションは相互に関連しており、同時に実行されるほかのトランザクションの影響を受ける。
解答
解説 トランザクションのACID特性について以下にまとめます。

原子性(Atomicity):完全に実行されるか、全く処理をしない
一貫性(Consistency):データの整合性が保たれ、矛盾がない
独立性(Isolation):処理過程は他者から隠蔽され、影響されない
永続性(Durability):完了した操作は、失われない

問70 “従業員”表と“職歴”表の間で、“従業員”表からある従業員の行を削除するSQL操作を行う場合に、“職歴”表に削除する従業員の行が存在しないことを要求する整合性制約はどれか。
一意性制約
参照制約
定義域制約
表検査制約
解答
解説 それぞれの制約について以下にまとめます。

一意性制約:重複する値を持たないことを要求する制約
参照制約:別の表に実体が存在することを要求する制約
定義域制約:値が特定の範囲内であることを要求する制約
表検査制約:値が特定の条件を満たしていることを要求する制約

問71 公開鍵暗号方式に関する記述として、適切なものはどれか。
DESやAESなどの暗号方式がある。
RSAや楕円曲線暗号などの暗号方式がある。
暗号化鍵と復号鍵が同一である。
共通鍵の配送が必要である。
解答
解説 まず、暗号技術は下図のように、暗号鍵と復号鍵を利用します。この暗号鍵と復号鍵が同じものを利用する形式を共通鍵暗号方式、異なるものを利用する形式を公開鍵暗号方式といいます。

暗号を表示できません

共通鍵暗号方式は、暗号強度が弱く、鍵の管理が大変ですが、処理が高速という特徴があります。代表的なものにDES、AES(Rijndael)があります。
公開鍵暗号方式は、暗号強度が強く、鍵の管理が容易ですが、処理に時間がかかるという特徴があります。代表的なものに、RSA、ElGamal暗号があります。

問72 公開鍵基盤とハッシュ関数を利用したメッセージのディジタル署名の手法はどれか。
受信者は、送信者の公開鍵とハッシュ関数を用いてハッシュ符合を復号し、メッセージを得る。
受信者はハッシュ関数を用いてメッセージからハッシュ符号を生成し、送信者の公開鍵で復号したハッシュ符号と比較する。
送信者は、自分の公開鍵とハッシュ関数を用いてメッセージからハッシュ符号を生成し、メッセージとともに送信する。
送信者は、ハッシュ関数を用いて送信者の秘密鍵のハッシュ符号を生成し、メッセージとともに送信する。
解答
解説 メッセージダイジェストとディジタル署名を利用した認証について下図にまとめます。

メッセージダイジェストを表示できません

上図のように、ディジタル署名を利用することで、本人確認と改ざんの検出を行うことができます。

問73 SQLインジェクション攻撃を防ぐ方法はどれか。
入力値から、上位ディレクトリを指定する文字(../)を取り除く。
入力値から、データベースへの問合せや操作において特別な意味をもつ文字を解釈されないように保護する。
入力値にHTMLタグが含まれていたら、解釈、実行できないほかの文字列に置き換える。
入力値の全体の長さが制限を超えていたときは受け付けない。
解答
解説 SQLインジェクションとは、Webアプリケーションの入力データとしてデータベースへの命令文を構成するデータを入力し、想定外のSQL文を実行することです。これにより、管理者が表示させたくない情報が流出してしまう可能性があります。そのために、SQLの特殊な文字を解釈されないようにサニタイジングと呼ばれる無効化処理をする必要があります。

問74 パスワードに使用できる文字の種類をM、パスワードの文字数をnとするとき、設定できるパスワードの論理的な総数を求める数式はどれか。
n
M!/(M−n)!
M!/(n!(M−n)!)
(M+n−1)!/(n!(M−1)!)
解答
解説 文字の種類をひとけたづつばらして考えると、するM×M×M×・・・・とけた数n乗したのと同じくなります。よって、種類が多いよりもけた数を多くする方がはるかにセキュリティの効果が高いことが合わせて理解できると思います。

問75 テンペスト技術の説明とその対策として、適切なものはどれか。
ディスプレイやケーブルから放射される電磁波を傍受し、内容を観察する技術であり、電磁波遮断が施された部屋に機器を設置することによって対抗する。
データ通信の途中でパケットを横取りし、内容を改ざんする技術であり、ディジタル署名による改ざん検知の仕組みを実装することで対抗する。
マクロウイルスにおいて使われる技術であり、ウイルス対策ソフトを導入し、最新の定義ファイルを適用することによって対抗する。
無線LANの信号から通信内容を傍受し、解析する技術であり、通信パケットを暗号化することによって対抗する。
解答
解説 テンペスト(Tempest)とは、コンピュータから放出される電波を傍受し、解析することで画面を再構築したり、情報を読み取ったりする技術です。これを防ぐには、電波を遮断する物理的な仕組みが必要です。

選択肢イは改ざん
選択肢ウはマクロウィルス
選択肢エは盗聴

問76 SSHを説明したものはどれか。
MIMEを拡張した電子メールの暗号化とディジタル署名に関する標準
オンラインショッピングで安全にクレジット決済を行うための仕様
対称暗号技術と非対称暗号技術を併用して電子メールの暗号化、復号の機能をもつツール
リモートログインやリモートファイルコピーのセキュリティを強化したツール及びプロトコル
解答
解説 SSH(Secure Shell)とは、暗号化された通信においてリモートログインを行うプロトコルのことです。SSHを利用してscpやsftpなどもこの技術を応用しています。

選択肢アは、S/MIMEの説明です。
選択肢イは、SET(Secure Electronic Transaction)の説明です。
選択肢ウは、PGPなどの暗号化ソフトウェアの説明です。

問77 経済産業省“個人情報の保護に関する法律についての経済産業分野を対称とするガイドライン”の物理的安全管理措置に該当するものはどれか。
個人データの安全管理に係る従業者の役割及び責任についての教育・訓練を実施する。
個人データの漏えいなどの事故が発生した場合の、代表者などへの報告連絡体制を整備する。
個人データを取り扱う情報システムへのアクセスの成功と失敗の記録を取得する。
個人データを取り扱う情報システムを、ICカードによる入退室管理を実施して室内に設置する。
解答
解説 ガイドラインの中で、「個人情報取扱事業者は、その取り扱う個人データの漏えい、滅失又はき損の防止その他の個人データの安全管理のため、組織的、人的、物理的及び技術的な安全管理措置を講じなければならない」とされています。これにあわせて選択肢を分類すると以下のようになります。

選択肢ア:人的措置
選択肢イ:組織的措置
選択肢ウ:技術的措置
選択肢エ:物理的措置

問78 “JIS Q 9001:2000(ISO 9001:2000)品質マネジメント−要求事項”の規定に関する記述のうち、適切なものはどれか。
組織の品質方針については、組織の経営者ではなく、供給者が定め、文書化する。
組織は、製品が規格要求事項に適合することを確実にする手段として、品質マネジメントシステムを確立し、文書化してISOに報告する。
内部監査においては、内部目的のためにその組織自身又は代理人が、品質マネジメントシステムの規格要求事項への適合性を監査する。
内部監査は、監査される活動の状況及び重要性に基づいて予定を立て、監査される活動の直接責任者を含めたチームで行う。
解答
解説 それぞれの選択肢を順に見ていきます。

選択肢ア:方針は経営者が決定し、文章にします。
選択肢イ:ISOに報告する必要はありません。
選択肢ウ:監査人は要求事項との適合性を調べます。(正解)
選択肢エ:被監査部門は積極的に協力すべきですが、監査部門からは独立するべきです。

問79 SAML(Security Assertion Markup Language)の説明として、最も適切なものはどれか。
Webサービスに関する情報を広く公開し、それらが提供する機能などを検索可能にするための仕組み
権限のない利用者による傍受、読取り、改ざんから電子メールを保護して送信するためのプロトコル
ディジタル署名に使われる鍵情報を効率よく管理するためのWebサービスプロトコル
認証情報に加え、属性情報とアクセス制御情報を異なるドメインに伝達するためのWebサービスプロトコル
解答
解説 SAML(Security Assertion Markup Language)は、OASISという標準化団体により策定されたもので、AuthXMLとS2MLという2つの規格を統合したものです。XML仕様で、異なるサーバ間でも安全にIDやパスワードをやり取りできるようにしたものです。これによりシングルサインオンなどを実現できます。認証情報の交換にはSAMLプロトコルが使用され、HTTPやSOAPにより送受信されます。

問80 UCS−2に関する記述として、適切なものはどれか。
IBM社がSystem/360と同時に発表した8ビットコードであり、256種の文字を表現できる。
ISO/IEC10646(JIS X 0221)のBMP(Basic Multingual Plane:基本多言語面)として採用され、1文字を2バイトで表現する文字コードである。
JIS X 0208に定められた漢字コードであり、第1水準と第2水準に分けて、1文字を2バイトで表現する文字コードである。
JIS X 0208に定められた文字コードであり、いわゆる半角と全角の文字を切替符号なしで混在できる。
解答
解説 選択肢の文字コードを以下にまとめます。

選択肢ア:EBCDICの説明です。
選択肢イ:UCS−2の説明です。
選択肢ウ:JIS漢字コードの説明です。
選択肢エ:Shift−JISコードの説明です。