わしなりデータベース試験 データベース試験は未経験だが、いきなり飛び込むのも何なので、今年の試験に取り込んで、不明点をなくしていきたい。 午前
問1 汎用コンピュータのチャネル制御方式を用いた補助記憶装置とのデータ転送において、確認信号を持たずに次々とデータを送ることによって、高速化を図るものはどれか。 ア シリアル方式 イ ストリーミング方式 ウ パラレル方式 エ ハンドシェーク方式 いずれも用語はよくわからないが、同時進行という事だから、パラレルとかストリーミングなんてのが怪しい。でも、ストリーミングははやり言葉として、答えはウ? チャネル制御方式とは、データの入出力制御をCPU等と独立して行い、処理装置の負荷を軽減する。 シリアル方式とは、1本の線を使って、複数のビットを順番に伝送する方法。パラレル方式と対。 ストリーミング方式とは、ネットワークを通じて映像や音声などのマルチメディアデータを視聴する際にデータを受信しながら同時に再生を行なう方式。 パラレル方式とは、複数の線を使ってデータをまとめて伝送する方法。 ハンドシェーク方式とは、データ通信において、送信/受信デバイス間で送信の停止/再開などの調整を行なうこと。 正解:イ 問2 フォンノイマンボトルネック(プログラムの命令を順番にCPUに取り込んで実行する方式のコンピュータの性能向上を妨げる要因)はどれか。 ア 主記憶装置 イ 内部装置(プロセッサと主記憶)と入出力装置との間のデータ転送能力 ウ プロセッサと主記憶との間のデータ転送能力 エ プロセッサの性能 これは、CPUの速度と、データ転送速度のバランスが悪いのでどちらかが待ちになる事のはず。 一般的には、転送速度の方が遅いと思うが?ウでいいのでは。 フォンノイマンボトルネックとは、CPUとメモリ間のデータ転送性能によってコンピュータ全体の性能が左右されること。 正解:ウ 問3 仮想記憶方式に関する記述のうち、適切なものはどれか。 ア LRUアルゴリズムは、使用後の経過時間が最長のページを置換対象とするページ置換アルゴリズムである。 イ アドレス変換をインデックス方式で行う場合は、主記憶に存在する全ページ分のページテーブルが必要になる。 ウ ページフォールトが発生した場合は、ガーベジコレクションが必要である。 エ ページングが繰り返されるうちに多数の小さな空きメモリ領域が発生することをフラグメンテーションという。 LRUアルゴリズムって何だったか忘れたし、イもどうだかという気がするが、ページフォールトでガーベジコレクションができる訳じゃないと思うからエか。 LRU(Least Recently Used)とは、最も使われていないものという意味。 ページフォールトとは、プロセッサがアクセスしようとした命令やデータがメモリにないときに生じる割り込み。 ガーベジコレクションとは、プログラムでの使用を終えて、使用可能になった メモリ領域を集めて、連続した利用可能なメモリ領域を増やす技術。 フラグメンテーションとは、ハードディスクで、1つのファイルが複数の部分に分割して存在する状態。 正解:ア 問4 OSのスケジューリング方式に関する記述のうち、適切なものはどれか。 ア 処理時間順方式では、既に消費したCPU時間の長いジョブに高い優先度を与える。 イ 到着順方式では、ラウンドロビン方式に比べて特に処理時間の短いジョブの応答時間が短くなる。 ウ 優先度順方式では、一部のジョブの応答時間が極端に長くなることがある。 エ ラウンドロビン方式は、ジョブに割り当てるCPU時間(タイムクウォンタム)を短くするほど、到着順方式に近づく。 アプリで聞いた話。アは正しそうに思える。イとエはラウンドロビンが何だったか。ウもあり得る話。アかウだが、ウは間違いの余地がないように思える。 実はアの内容は事実の逆。 処理時間順方式は、処理時間の短いものから実行。 ラウンドロビンとは、プロセスに優先順位を与えずに、一定時間のタイムクウォンタム(CpU割当て時間)を与え、その時間内に終了しない場合は、待ち行列の最後に戻す方式。 正解:ウ 問5 OSのプロセス制御におけるプリエンプティブ方式に関する記述として、適切なものはどれか。 ア 各プロセスがシステム資源を自主管理できるので、マルチプログラミングに向いている。 イ ノンプリエンプティブ方式に比べて、コンテキスト切替えのためのオーバヘッドが小さい。 ウ ノンプリエンプティブ方式に比べて、特定のプロセスがプロセッサを独占することが多い。 エ プリエンプティブ方式を実現するには、OSがプロセスを強制的に切り替えて実行する機構が必要になる。 プリエンプティブ方式ってなんだろう。 プリって言うから、何か事前にやっておくと言う事に思えるので、イの切り替え作業が少ないなんてのがそれっぽい。 プリエンプティブ方式とは、マルチタスクの方式で、ハードウェアタイマにより、OSが強制的に複数のアプリケーションを切り替える物。Windows3.1まではこれ。 ノンプリエンプティブ方式も、マルチタスクの方式で、アプリケーションが自主的に制御を解放する物。Windows95以降とNTはこれ。 コンテキストとは、実行中のプログラムが処理内容を選択する際の判断材料となる様々な条件のこと。 正解:エ 問6 3層クライアントサーバアーキテクチャを導入する場合、その効果が最も期待できるシステムはどれか。 ア アプリケーションのサービスやクラス数が少ないシステム イ アプリケーションの修正や追加が頻繁なシステム ウ すべてのアプリケーションが単一の言語で作成されているシステム エ トランザクション数が比較的少ないシステム 3層クライアントサーバアーキテクチャって何だろう。でも、クライアントサーバだから、分散した「何か」のはず。そう思うと、イとかウは違うと思うし、アはよくわからないが、エのトランザクションが、サーバとクライアントの間で行き来するデータの事だとするとエか。 3層クライアントサーバアーキテクチャとは、 クライアント/サーバー型のアプリケーションを三つの機能モジュールに 分けて開発する手法。 1)ユーザ・インターフェース部分を実現する「プレゼンテーション層」 2)データの加工処理を実行する「アプリケーション(ファンクション)層」 3)データベースにアクセスする「データ層」 を区別することでシステム性能や開発・保守効率の向上を狙う。コンピュータが別々か同一かは関係ない。以下のようなメリットあり。 ・アプリケーションのバージョンアップはアプリケーションサーバのみ行えばよい。 ・通信負荷の軽減を図ることができる。 正解:イ 問7 1トランザクション当たり、平均5秒でサービスを行う装置がある。1分間に平均20個のトランザクションが到着するときでも、装置の平均利用率を0.5以下にするためには最低何台の装置が必要か。 ア 2 イ 3 ウ 4 エ 5 1トランザクションに5秒だとすると、20個分をサービスするのには100秒必要になる。 1分間の利用率を50%にするためには、30秒以下にせねばならない。 装置が2つなら50秒、3つだと33秒。4つで25秒だからウ。 正解:ウ 問8 10Mビット/秒の転送速度をもつLANを用いて、サーバからクライアントの磁気ディスク装置へデータを転送するシステムがある。表は、同時に転送するクライアント数を変化させたときのサーバの送信速度とクライアントの受信速度の測定結果である。この結果から、サーバの送信速度は、クライアント数が2以上になると300kバイト/秒より増加しなくなる現象が読み取れる。この原因として、最も可能性が高いものはどれか。ここで、いずれの測定においても、サーバ及び各クライアントのCPU能力とメモリ容量には十分な余裕があった。 ┏━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃測定ケース┃クライアント数┃データ転送速度(Kバイト/秒)┃ ┃ ┃ ┣━━━━━━┳━━━━━━━━┫ ┃ ┃ ┃サーバの平均┃1クライアント当┃ ┃ ┃ ┃ (送信) ┃たりの平均(受信┃ ┣━━━━━╋━━━━━━━╋━━━━━━╋━━━━━━━━┫ ┃ケース1 ┃ 1 ┃ 150 ┃ 150 ┃ ┣━━━━━╋━━━━━━━╋━━━━━━╋━━━━━━━━┫ ┃ケース2 ┃ 2 ┃ 300 ┃ 150 ┃ ┣━━━━━╋━━━━━━━╋━━━━━━╋━━━━━━━━┫ ┃ケース3 ┃ 3 ┃ 300 ┃ 100 ┃ ┗━━━━━┻━━━━━━━┻━━━━━━┻━━━━━━━━┛ア LAN自体のデータ転送能力不足 イ クライアントのLAN接続インタフェース機構の能力不足 ウ クライアントの磁気ディスク装置の能力不足 エ サーバのLAN接続インタフェース機構の能力不足 台数が増えると、最初の内は効果が出ているのに、途中から上がらなくなると言う事は、これはLANの能力不足と言うのが当たってる気がする。「LAN自体の」という言葉は他の選択肢があるから違うだろうし、後はクライアントの問題かサーバの問題か。何となくサーバの方のように思えるからエ。 正解:エ 問9 1台のCPUの性能を1とするとき、そのCPUをn台用いたマルチプロセッサの性能Pが、 n P=━━━━━━━━ 1+(n−1)a で表されるとする。ここで、aはオーバヘッドを表す定数である。例えば、a=0.1、n=4とすると、P≒3なので、4台のCPUからなるマルチプロセッサの性能は約3になる。この式で表されるマルチプロセッサの性能には上限があり、nを幾ら大きくしてもある値以上には大きくならない。a=0.1の場合、その値は幾らか。 ア 5 イ 10 ウ 15 エ 20 公式の意味合いはよくわからないが、こんなのは数字を代入してみるしかない。a=0.1で、nを100とかにしてみたらどうか。 P=100/(1+99×0.1)=100/10.9≒10 n=200だったら P=200/(1+199×0.1)=200/20.9≒10 これはイ。 正解:イ 問10 システムの稼働モデルが図のように表されるとき、システムのMTBFとMTTRを正しく表した式はどれか。ここで、tiはシステムの稼働時間、riはシステムの修理時間を表すものとする。(i=1、2、……、n) ┏━━━┓ ┏━━━━┓ ┏━━┓ ┏━━━━━ ┃稼働 ★故障 ┃稼 働★故障 ┃稼働★ ┃稼働 ━┻━━━╋━━━╋━━━━╋━━━╋━━╋━━━━╋━━━━━ ┃修理 ┃ ┃修理 ┃ ┃修理 ┃ ┗━━━┛ ┗━━━┛ ┗━━━━┛ ┣━━━╋━━━╋━━━━╋━━━╋━━╋━━━━╋━━━━━ t1 r1 t2 r2 t3 r3 t4 ┏━┳━━━━━━━━━━┳━━━━━━━━━━┓ ┃ ┃ MTBF ┃ MTTR ┃ ┣━╋━━━━━━━━━━╋━━━━━━━━━━┫ ┃ ┃ n ┃ n ┃ ┃ ┃1 ┃1 ┃ ┃ア┃− Σ ri ┃− Σ ti ┃ ┃ ┃n ┃n ┃ ┃ ┃ i=1 ┃ i=1 ┃ ┣━╋━━━━━━━━━━╋━━━━━━━━━━┫ ┃ ┃ n ┃ n ┃ ┃ ┃1 ┃1 ┃ ┃イ┃− Σ ti ┃− Σ ri ┃ ┃ ┃n ┃n ┃ ┃ ┃ i=1 ┃ i=1 ┃ ┣━╋━━━━━━━━━━╋━━━━━━━━━━┫ ┃ ┃ n ┃ n ┃ ┃ ┃1 ┃1 ┃ ┃ウ┃− Σ ti ┃− Σ(ti+ri)┃ ┃ ┃n ┃n ┃ ┃ ┃ i=1 ┃ i=1 ┃ ┣━╋━━━━━━━━━━╋━━━━━━━━━━┫ ┃ ┃ n ┃ n ┃ ┃ ┃1 ┃1 ┃ ┃エ┃− Σ(ti+ri)┃− Σri ┃ ┃ ┃n ┃n ┃ ┃ ┃ i=1 ┃ i=1 ┃ ┗━┻━━━━━━━━━━┻━━━━━━━━━━┛ MTBFとMTTRはいつもちょっと悩むが、Bがbetweenだから、故障間隔で、もう1つの方が修理時間のはず。 て事は、MTBFがr1とかr2の方で、MTTFがt1とかt2の方。1からn回まで合計して、nで割れば平均が出ると言う事で、アに違いない。 と思ったが、故障間隔とは、故障していない間の話だから、逆だった。もったいない。 正解:イ 問11 コンピュータシステムの高信頼化技術に関する記述として、適切なものはどれか。 ア フェールセーフは、構成部品の信頼性を高めて、故障が起きないようにする技術のことである。 イ フェールソフトは、ソフトウェアに起因するシステムフォールトに対処するための技術である。 ウ フォールトアポイダンスは、構成部品に故障が発生しても運用を継続できるようにする技術である。 エ フォールトトレランスは、システムを構成する重要部品を多重化して故障に備える技術である。 いずれもよく出る言葉なんだが、正直どれがどれだったか。 フェールソフトはソフトに収束させるヤツ、フォールトトレランスは障害があっても支障ないように運用させるヤツと思ったが。アかな? フェールセーフとは、システムを常に定められた安全状態に保つ事。 フェールソフトとは、すべての機能の維持が困難でも、部分的に動作を続行する事。 フォールトアポイダンスとは、システムを構成する部品の故障を排除する技術。 フォールトトレランスとは、障害が発生しても、正しく動作し続ける能力。 正解:エ 問12 データマイニングに関する説明として、適切なものはどれか。 ア 基幹業務のデータべースとは別に作成され、更新処理をしない時系列データの分析を主目的とする。 イ 個人別データ、部門別データ、サマリデータなど、分析者の目的別に切り出され、カスタマイズされたデータを分析する。 ウ スライシング、ダイシング、ドリルダウンなどのインタラクティブな操作を通じて多次元分析を行い、意思決定を支援する。 エ ニューラルネットワークや統計解析などの手法を使って、大量に蓄積されているデータから、顧客購買行動の法則などを探し出す。 マイニングって、宝石か何かを掘り出す事だから、データからその奥にある法則みたいなのを見つける事のはず。だからエ。 データマイニングとはデータ分析のこと。 正解:エ 問13 文献検索システム、データ検索システムなどの情報検索システムを評価する尺度として用いられる再現率(recall ratio)と精度(precision ratio)の組合せとして、正しいものはどれか。ここで、a、b、cは次のことを示す。 a:蓄積されたすべてのデータのうち、質問に適合する件数 b:検索されたデータのうち、質問に適合する件数 c:検索された件数 ┌────┬──┐ │ 再現率│精度│ ├─┬──┼──┤ │ア│a │ b│ │ │− │ −│ │ │b │ c│ ├─┼──┼──┤ │イ│b │ b│ │ │− │ −│ │ │a │ c│ ├─┼──┼──┤ │ウ│b │ c│ │ │− │ −│ │ │a │ b│ ├─┼──┼──┤ │エ│c │ a│ │ │− │ −│ │ │b │ b│ └─┴──┴──┘ 精度というのは、検索した内の正解の比率に違いない。と言うと、b/cだ。では、再現率とは何か。b/aかな?だからア。 再現率とは、被験者が正しく適合と判断したテキスト数/ 実際に適合するテキストの総数 精度とは、被験者が正しく適合と判断したテキスト数/ 被験者が適合と判断したテキストの総数 正解:イ 問14 知識表現の方法であるフレームに関する記述として、適切なものはどれか。 ア 概念をノード、関係や性質を有向アークで表した表現方法をもつ。 イ 条件と行動を対にしたIF−THENの表現形式をもつ。 ウ スロットとスロット値の対のリストからなる表現形式をもつ。 エ 命題論理や述語論理による表現形式をもつ。 フレームって何だろう。たぶん書式ができていて、それに当てはめていくだけで、何かができるという事だと思うが。エかな フレームとは、知識表現方法の一つで、名前と値の組であるスロットの集合をフレームとし、そのフレームで知識が表せるとしたもの。 ノードとはLAN上のパソコン等の意味もあるが、ここではたぶん「交点」くらいの意味。 有向アークとは矢印。 正解:ウ 問15 ソフトウェア開発におけるリポジトリの説明として、適切なものはどれか。 ア 開発を支援するために提供されるソフトウェア部品のデータべースのことである。 イ ソフトウェアの開発及び保守における設計情報やプログラム情報を一元的に管理するためのデータベースのことである。 ウ ソフトウェアを開発するためのツールと、データモデルを格納するためのデータべースのことである。 エ リバースエンジニアリングを行うためのソースプログラム解析用ソフトウェアと、解析結果を格納するためのデータベースのことである。 リポジトリって、たしか開発に関する情報を一元管理するヤツ。だからイ。 リポジトリとは、ソフトウェアの仕様や機能などをリポジトリに格納しておくことでアプリケーションの半自動生成を実現するようなもの。 正解:イ 問16 プロトタイピングの特徴に関する記述として、最も適切なものはどれか。 ア GUI主体のインタラグティブなシステムより、バッチシステムに向いている。 イ 試作品の作り直しを繰り返すことによって、その効果を高めることができる。 ウ 要求仕様の頻繁な変更が前提となっているので、ウォータフォールモデルでは使えない。 エ ライフサイクルの長いシステムや多くの人が使うパッケージの開発には向かない。 なんかいろいろ書かれてるけど、プロトタイプって試作品だからイ。 インタラグティブとは対話型のこと。 正解:イ 問17 オブジェクト指向におけるインヘリタンスに関する記述として、適切なものはどれか。 ア あるクラスの下にサブクラスを定義するとき、上のクラスで定義されたデータ構造と手続をサブクラスで引き継いで使うことができる。 イ オブジェクトの性格を決めるデータ構造や値を隠ぺいし、オブジェクトの外部から直接アクセスすることを禁止する。 ウ オブジェクトのデータ構造や処理方法を変更した場合でも、外部への影響を避けることができ、オブジェクトの独立性を向上させることができる。 エ 同一のデータ構造と同一の手続をもつオブジェクトをまとめて表現したものである。 インヘリタンスって、何やら上からか下からか何かを引き継ぐ事だと思ったな。だからア。 インヘリタンスとは、既に定義されているクラスをもとに、拡張や変更を加えた新しいクラスに継承すること。 正解:ア 問18 ブラックボックステストに関する記述として、適切なものはどれか。 ア テストデータの作成基準として、テストケースの網羅率(カバレージ)を使用する。 イ 被テストプログラムに冗長なコードがあっても検出できない。 ウ プログラムの内部構造に着目し、必要な部分が実行されたかどうかを検証する。 エ 分岐命令やモジュールの数が増えるに従って、テストデータが大きく増える。 冗長がよくわからないんだけど、アもウもエもホワイトボックスの話と思うから、イかな。 冗長とは専門用語ではないが、無駄が多くだらだら長いさま 正解:イ 問19 データの追加・変更・削除が一定の少ない頻度で発生するデータベースがある。このデータベースのバックアップを磁気テープに採取するに当たって、バックアップの間隔を今までの2倍にした。このとき、データベースの運用に関する記述として、適切なものはどれか。 ア ジャーナル情報からの平均復旧時間が約2倍になる。 イ データベースの容量が約2倍になる。 ウ バックアップ1回当たりの磁気テープ本数が約半分になる。 エ バックアップ採取の平均実行時間が約2倍になる。 バックアップが差分とかでなければ、テープ本数が増えたり減ったりする事はないし、容量も増えたり減ったりしない。時間だって変わらないからア。 正解:ア 問20 ANSI/SPARCの3層スキーマ構造で、データ処理上必要な現実世界のデータ全体を定義し、特定のアプリケーションプログラムに依存しないデータ構造を定義するスキーマとして、適切なものはどれか。 ア 概念スキーマ イ 外部スキーマ ウ サブスキーマ エ 内部スキーマ ここらからデータベースの話に入ってきた感じ。 確か、外部・概念・内部と来て、ビュー・表・その中のデータという意味だったと思うが、アプリケーションで使うのが、ビューの外部のところだとすると、その対局の内部がアプリに依存しないという事なのか?だからエ。 ANSI/SPARCとは、アメリカの規格を設定する機関が作った規格の事らしい。 3層スキーマ構造とは、外部スキーマ・概念スキーマ・内部スキーマの事。 スキーマとは、データベースの定義情報を意味する言葉。 外部スキーマとは、データベース利用者に必要なデータの定義。ビューなどがこれに当たる。別名サブスキーマ。 概念スキーマとは、データベースで管理する対象の定義。テーブルなどがこれに当たる。 内部スキーマとは、データの物理的な格納方法。インデックスやデータファイル配置などがこれに当たる。別名記憶スキーマ。 正解:ア 問21 概念データモデルの説明として、最も適切なものはどれか。 ア 階層モデル、ネットワークモデル、関係モデルがある。 イ 業務プロセスを抽象化して表現したものである。 ウ 集中型DBMSを導入するか、分散型DBMSを導入するかによって内容が変わる。 エ 対象世界の情報要件を表現したものである。 概念データモデルって何だろう。概念だから、実際のDB構築より手前の話に違いない。すると、イか? 概念データモデルとは、 階層モデルとは、 ネットワークモデルとは、 関係モデルとは、 集中型DBMSとは、 分散型DBMSとは、 正解:エ 問22 関係データベースとオブジェクト指向データベースを比較したとき、オブジェクト指向データべースの特徴として、適切なものはどれか。 ア 実世界の情報をモデル化したクラス階層を表現でき、このクラス階層を使うことによって、データとは操作を分離して扱うことができる。 イ データと手続がカプセル化され一体として扱われるので、構造的に複雑で、動作を含む対象を扱うことができる。 ウ データの操作とリレーションが数学的に定義されているので、プログラム言語とデータ操作言語との独立性を保つことができる。 エ リレーションを論理的なデータ構造として定義しているので、非手続的な操作言語でデータ操作を行うことができる。 関係データベースとオブジェクト指向データベース?これまたよくわからない用語だが。オブジェクト指向プログラムのような物だと考えるとイだろうか。 関係データベースとは、 オブジェクト指向データベースとは、 正解:イ 問23 論理データモデルの特徴に関する次の記述のa〜cに入れるべき字句の適切な組合せはどれか。 階層モデル及びネットワークモデルは、実体間の関係を親子関係の組合せで表現する。階層モデルでは、一つの子は a をもち、ネットワークモデルでは、一つの子は b をもつことができる。一方、関係モデルは、数学の集合概念に基礎をおき、一つの表の一つの行と、別の行との関連付けは c によって行う。 ┌─┬──────┬──────┬────┐ │ │ a │ b │ c │ ├─┼──────┼──────┼────┤ │ア│必ず一つの親│複数の親 │値の一致│ ├─┼──────┼──────┼────┤ │イ│必ず一つの親│複数の親 │ポインタ│ ├─┼──────┼──────┼────┤ │ウ│複数の親 │必ず一つの親│値の一致│ ├─┼──────┼──────┼────┤ │エ│複数の親 │必ず二つの親│ポインタ│ └─┴──────┴──────┴────┘ これも階層モデルとかの意味がわかっていないので適当だが、アか? 論理データモデルとは、 正解:ア 問24 X表をポイスコッド正規表に分解したものはどれか。ここで、x→yはyがxに関数従属していることを表す。 x x表に存在する関数従属性 (a,b,c,d,e) ab→c ab→d ab→e c→d e→a ア (a,b,c),(c,d),(c,a) イ (a,b,c,d),(e,a) ウ (a,b,c,e),(c,d) エ (a,b,c,e),(c,d),(e,a) ポイスコッド正規表は正規化の1つの方法で第3正規化の変形みたいな物らしいが、正直よくわかっていない。 ab→cとab→dとab→eからabcdeはセットっぽいが、c→d、e→aなので、エと見たが。 ポイスコッド正規表とは、 正解:ア 問25 関数従属に関する記述のうち、適切なものはどれか。ここで、A、B、Cはある関係の属性の集合とする。 ア BがAに関係従属し、CがAに関係従属すれば、CはBに関係従属する。 イ BがAの部分集合であり、CがAに関数従属すれば、CはBに関数従属する。 ウ BがAの部分集合であれば、AはBに関数従属する。 エ BとCの和集合がAに関数従属すれば、BとCはそれぞれがAに関数従属する。 関数従属と言う言葉もいまいち理解できていないが。アはないはず。イは言い切れない気がする。ウもそうとは言い切れないと思うが、エがそんな気がする。 関数従属とは、 正解:エ 問26 第1、第2、第3正規形とそれらの特徴の組合せとして、適切なものはどれか。 A すべての非キー属性が、主キーに対して完全従属である。 B すべての非キー属性が、推移的に関数従属でない。 C 属性の値として、繰返しをもたない。 ┌─┬─────┬─────┬─────┐ │ │第1正規形│第2正規形│第3正規形│ ├─┼─────┼─────┼─────┤ │ア│ A │ B │ C │ ├─┼─────┼─────┼─────┤ │イ│ A │ C │ B │ ├─┼─────┼─────┼─────┤ │ウ│ C │ A │ B │ ├─┼─────┼─────┼─────┤ │エ│ C │ B │ A │ └─┴─────┴─────┴─────┘ これは用語の問題。Cは第1正規の話だから、ウかエ。問題はAとBのどちらが第2正規、第3正規かだが、Aが第3だと思うので、エ。 第1正規形とは、 第2正規形とは、 第3正規形とは、 非キー属性とは、 完全従属とは、プライマリキー以外のフィールドが、プライマリキー全体に従属していること 推移的とは、 正解:ウ 問27 次の表はどこまて正規化されたものか。 ┌─────┬────┬────┬──┬──────┐ │従業員番号│氏名 │入社年 │職位│職位手当 │ ├─────┼────┼────┼──┼──────┤ │12345│情報太郎│1961│部長│90.000│ ├─────┼────┼────┼──┼──────┤ │12346│処理次郎│1975│課長│50,000│ ├─────┼────┼────┼──┼──────┤ │12347│技術三郎│1977│課長│50,000│ └─────┴────┴────┴──┴──────┘ア 第2正規形 イ 第3正規形 ウ 第4正規形 エ 非正規形 これも続きのような話だが、繰り返しはないので、非正規形と言う事はない。だが、職位と職位手当は、キーに関係ないところで従属関係があるので、これはアか。 第4正規形とは、 正解:ア 問28 属性がn個ある関係の異なる射影は幾つあるか。ここで、射影の個数は、元の関係と何じ結果となる射影、及び属性を全く含まない射影を含めるものとする。 ア 2n イ 2n ウ log2n エ n 射影とは、テーブルの項目の一部を選んでビューとかを作ることのはず。となると、組合せの問題だが、n個項目があれば、その選び方は2n。イ。 射影とは、 正解:イ 問29 業務ルールが次のように与えられている。これに基づきデータモデルを作成した。 正しいデータモデルはどれか。ここで、1 *は 1対多のカーディナリティを表す。 ───(業務ルール) この会社は語学教材を販売している。教材は教科書、辞書など、他品種にわたる。営業員は複数の担当地域が定められており、担当地域の顧客から受注を得る。一つの地域を複数の営業員が担当する。 ア ┌────┐* 1┌────┐1 │営業員 ├───┤地 域 ├───┐* └─┬──┘ └────┘┌──┴─┐ │1 │担当地域│ │* └──┬─┘ ┌─┴──┐* 1┌────┐1 *│ │受 注 ├───┤顧 客 ├───┘ └─┬──┘ └────┘ │1 │* ┌───┐1 *┌─┴──┐ │教 材├───┤受注明細│ └───┘ └────┘ イ ┌────┐* 1┌────┐1 │顧 客 ├───┤営業員 ├───┐* └─┬──┘ └────┘┌──┴─┐ │1 │地 域 │ │* └──┬─┘ ┌─┴──┐* 1┌────┐1 *│ │受 注 ├───┤担当地域├───┘ └─┬──┘ └────┘ │1 │* ┌───┐1 *┌─┴──┐ │教 材├───┤受注明細│ └───┘ └────┘ ウ ┌────┐* 1┌────┐1 │顧 客 ├───┤地 域 ├───┐* └─┬──┘ └────┘┌──┴─┐ │1 │担当地域│ │* └──┬─┘ ┌─┴──┐* 1┌────┐1 *│ │受 注 ├───┤営業員 ├───┘ └─┬──┘ └────┘ │1 │* ┌───┐1 *┌─┴──┐ │教 材├───┤受注明細│ └───┘ └────┘ エ ┌────┐* 1┌────┐1 │地 域 ├───┤担当地域├───┐* └─┬──┘ └────┘┌──┴─┐ │1 │顧 客 │ │* └──┬─┘ ┌─┴──┐* 1┌────┐1 *│ │受 注 ├───┤営業員 ├───┘ └─┬──┘ └────┘ │1 │* ┌───┐1 *┌─┴──┐ │教 材├───┤受注明細│ └───┘ └────┘ これは、左下のあたりは共通なので検討する必要なし。営業員と担当地域の関係から考えると、ウしかない気がするが。 カーディナリティとは、値の総数とかそう言う意味らしい。 正解:ウ 問30 複数の事業部、部、課及び係のような組織階層の概念データモデルを、第3正規形の表、 組織(組織ID、組織名、…) −−−− として実装した。組織の親子関係を表示するSQL文として、[ ]の中に入れるべき条件はどれか。ここで、”組織”表記述の下線部は、主キーを表し、追加の属性を想定する必要がある。概念モデル中の多重度の”*”は0以上を表し、記述のないところは1とする。関連線にはターゲット側にロールを書き添えた。(階層)は組織階層がループしたり、ネットワークになったりしないことを指示する制約記述である。 ┌─────┐(階層) *│子組織 │ ┌──┴──┐ │ │ 組 織 │ │ ├─────┤ │ │組織名 ├──┘ │…… │親組織 └─────┘ SELECT 組織1.組織名 AS 親組織,組織2.組織名 AS 子組織 FROM 組織 AS 組織1,組織 AS 組織2 WHERE [ ] ア 組織1.親組織ID = 組織2.子組織ID イ 組織1.親組織ID = 組織2.組織ID ウ 組織1.組織ID = 組織2.親組織ID エ 組織1.組織ID = 組織2.子組織ID これはいろいろ書いてあるけどウだね。 正解:ウ 問31 次のSQL文は、COBOLプログラムでテーブルAのレコードを読み込むためにカーソル宣言をしている。[ ]に入れるべき語句として、正しいものはどれか。 [ ] SELECT * FROM A ORDER BY 1,2 END−EXEC ア EXEC SQL DECLARE C1 CURSOR FOR イ EXEC SQL DECLARE CURSOR FOR C1 ウ EXEC SQL OPEN CURSOR C1 FOR エ EXEC SQL OPEN CURSOR DECLARE C1 FOR カーソル宣言と言うのも微妙。 DECLAREとかCURSORと言うのもピンと来ないが、ア? DECLAREとは、カーソルの定義を記述らしい。 CURSORとは、カーソル宣言の記述らしい。 まあ、これはこういう物だと覚えるしかなさそう。 正解:ア 問32 関係データベースのトリガ(trigger)に関する記述として、適切なものはどれか。 ア 参照命令発行時に動作する。 イ データの変更操作時に動作する。 ウ ほかのトリガから起動されることはない。 エ ロールバック処理実行時に動作する。 今度はトリガと来た。トリガって銃とかにも使う言葉だし、引き金みたいな物と思うがイ? トリガ(trigger)とは、サーバで、テーブルの追加・更新・削除などに設定して実行する物らしい。 正解:イ 問33 ”注文”表と”商品”表の二つに対して、四つのビューを定義した。このうち更新可能なビューはどれか。 注文 ┌────┬──────────┬────┬───┬────┬──┬───────┐ │注文番号│ 注 文 日 │顧客番号│顧客名│商品番号│数量│ 金 額 │ ├────┼──────────┼────┼───┼────┼──┼───────┤ │001 │1999−06−05│K111│A社 │RX01│ 5│150,000│ ├────┼──────────┼────┼───┼────┼──┼───────┤ │001 │1999−06−05│K111│A社 │RY01│10│290,000│ ├────┼──────────┼────┼───┼────┼──┼───────┤ │001 │1999−06−05│K111│A社 │F001│ 5│375,000│ ├────┼──────────┼────┼───┼────┼──┼───────┤ │002 │1999−06−10│K222│B社 │TV18│10│450,000│ ├────┼──────────┼────┼───┼────┼──┼───────┤ │003 │1999−06−15│K333│C社 │TV18│ 5│225,000│ ├────┼──────────┼────┼───┼────┼──┼───────┤ │003 │1999−06−15│K333│C社 │F001│ 2│150,000│ ├────┼──────────┼────┼───┼────┼──┼───────┤ │004 │1999−06−20│K222│B社 │RY01│ 5│145,000│ ├────┼──────────┼────┼───┼────┼──┼───────┤ │004 │1999−06−20│K222│B社 │F001│ 2│150,000│ └────┴──────────┴────┴───┴────┴──┴───────┘ 商品 ┌────┬────┬──────┐ │商品番号│商品名 │単 価 │ ├────┼────┼──────┤ │F001│冷蔵庫 │75,000│ ├────┼────┼──────┤ │RX01│ラジオX│30,000│ ├────┼────┼──────┤ │RY01│ラジオY│29,000│ ├────┼────┼──────┤ │TV18│テレビ │45,000│ └────┴────┴──────┘ア CREATE VIEW 顧客V(顧客番号,顧客名) AS SELECT DISTINCT 顧客番号,顧客名 FROM 注文 イ CREATE VIEW 商品V(商品番号,商品名) AS SELECT 商品番号,商品名 FROM 商品 ウ CREATE VIEW 注文V(注文番号,商品日,顧客番号,合計金額) AS SELECT 注文番号,注文日,顧客番号,SUM(金額) FROM 注文 GROUP BY 注文番号,注文日,顧客番号 エ CREATE VIEW 注文明細V(注文番号,商品番号,数量,単価,金額) AS SELECT 注文番号,注文.商品番号,数量,単価,金額 FROM 注文,商品 WHERE 注文.商品番号 = 商品.商品番号 やはりDISTICTと言うのがよくわからないが、合計を表示しているビューが更新可能とは思えないし、エも複雑そうだからイかな。 DISTICTとは、 正解:イ 問34 次のSQL文は、和、差、直積、射影、選択の関係演算のうち、どの関係演算の組合せで表現されるか。ここで、下線部は主キーを表す。 SELECT 納品.顧客番号,顧客名 FROM 納品,顧客 WHERE 納品.顧客番号 = 顧客.顧客番号 納品 ┌────┬────┬────┐ │商品番号│顧客番号│納品数量│ │−−−−│−−−−│ │ └────┴────┴────┘ 顧客 ┌────┬───┐ │顧客番号│顧客名│ │−−−−│ │ └────┴───┘ア 差,選択,射影 イ 差,直積,選択 ウ 直積,選択,射影 エ 和,直積,射影 和とか直積とか選択とか何だっけ。射影は項目を選ぶヤツだと思うので、当たっていて、差と言うのもなさそうだから、ウかエだが。ウかな。 和とは、 差とは、 選択とは、 射影とは、 直積とは、 正解:ウ 問35 SQLの構文として、正しいものはどれか。 ア SELECT 注文番号,AVG(数量) FROM 注文明細 イ SELECT 注文番号,AVG(数量) FROM 注文明細 GROUP BY 注文番号 ウ SELECT 注文番号,AVG(SUM(数量)) FROM 注文明細 GROUP BY 注文番号 エ SELECT 注文番号 FROM 注文明細 WHERE SUM(数量)>1000 GROUP BY 注文番号 何かどれでも良さそうだけど、イかな。 アはGROUP BYがないのにAVGと言うのが変。ウはAVG(SUM(数量))が変。エはSUM(数量)>1000が変な気がする。 正解:イ 問36 トランザクションの同時実行制御である2相ロッキングプロトコルに関する記述として、適切なものはどれか。 ア 2相ロッキングプロトコルには、共有ロック、占有ロックの概念はない。 イ 異なるテーブルであれば、アンロックした後にロックを行ってもよい。 ウ デッドロックの発生を防ぐことはできない。 エ 読み込みを行うトランザクションは、ロックする必要がない。 2相ロッキングプロトコルって何だ。よくわからないけど、ウとかエは違う気がするしイかな。 2相ロッキングプロトコルとは、 正解:ウ 問37 図は、分散システムにおける2相コミットメントプロトコルの正常処理の流れを表している。@〜Cの動作を説明する語句の組合せとして、最も適切なものはどれか。 システムA システムB システムC トランザクションの開始│ │ │ ───────────→│──────────────────→│ トランザクションの┌─│────────→│ │ ためのデータ転送 │ │────────→│ │ │ │←────────│ │ │ │──────────────────→│ └─│←──────────────────│ トランザクション終了─→│────────────@─────→│ 処理の開始 │────@───→│ │ │←───A────│ │ │←───────────A──────│ │────────────B─────→│ │────B───→│ │ │←───C────│ │ │←───────────C──────│ ┌─┬─────────┬─────────┬─────────┬─────────┐ │ │ @ │ A │ B │ C │ ├─┼─────────┼─────────┼─────────┼─────────┤ │ア│アンロック実行指示│アンロック実行応答│コミット実行指示 │コミット実行応答 │ ├─┼─────────┼─────────┼─────────┼─────────┤ │イ│コミット可否問合せ│コミット可応答 │コミット実行指示 │コミット実行応答 │ ├─┼─────────┼─────────┼─────────┼─────────┤ │ウ│コミット実行指示 │コミット実行応答 │アンロック実行指示│アンロック実行応答│ ├─┼─────────┼─────────┼─────────┼─────────┤ │エ│ジャーナル取得指示│ジャーナル取得応答│コミット実行指示 │コミット実行応答 │ └─┴─────────┴─────────┴─────────┴─────────┘ 2相コミットメントプロトコルなんてのもサッパリ。どれでも良さそうに思えるけど、イかな。 2相コミットメントプロトコルとは、 正解:イ 問38 分散データべースシステムの目標の一つである”移動に対する透過性”の説明として適切なものはどれか。 ア 運用の都合や性能向上の目的で、表の格納サイトが変更されても、利用者にこの変更を意識させないで利用可能にする機能のことである。 イ データべースが通信欄を介し物理的に分散配置されていても、利用者にこの分散状況を意識させないで利用可能にする機能のことである。 ウ 一つの表が複数のサイトに重複して格納されていても、利用者にこれを意識させないで利用可能にする機能のことである。 エ 一つの表が複数のサイトに分割して格納されていても、利用者にこれを意識させないで利用可能にする機能のことである。 移動に対する透過性って何だ。移動というところがポイントのようだからイかな。 移動に対する透過性とは、分散されたデータを移動した場合でも,業務プログラムや操作手順を変更する事なくアクセスできること。 正解:ア 問39 関係DBMSのA表を静的SQLによって読取り専用でアクセスしているプログラムBがある。プログラムBのDBMSに対するアクセスモジュールは、A表が作られた直後で、データが1件も存在しない時点で生成されたものである。その後、A表には100,000件を超えるデータが追加されている。 プログラムBのレスポンスの悪化を改善するために、チューニングを実施することになった。この場合に実施すべき作業及び手順として、適切なものはどれか。ここで、A表には、主キーに昇順のクラスタインデックスが付与されており、表へのアクセスパスはアクセスモジュール生成時にDBMSが表の統計情報を基に決定するものとする。 (1)A表が存在する記憶域の再編成 (2)A表のクラスタインデックスの削除と再作成 (3)A表や記憶域に関するDBMSの統計情報の取得 (4)プログラムBのアクセスモジュールの再生成 ア(1)→(3)→(4) イ(2)→(1)→(3) ウ(2)→(3)→(4) エ(3)→(4)→(2) 静的SQL?クラスタインデックスとか、ピンと来ない言葉が多いが。どれか1つ不要とすると、(4)かな?だからイ。 静的SQLとは、 クラスタインデックスとは、 正解:ウ 問40 トランザクションのACID特性の説明として、適切なものはどれか。 ア トランザクションでは、実行すべき処理がすべて行われるか、何も処理が行われないかという状態のほかに、処理の一部だけ行われるという状態も発生する。 イ トランザクションの実行完了後でも障害の発生によって実行結果が失われることがある。 ウ トランザクションの実行の結果が矛盾した状態になることはない。 エ トランザクションは相互に関連しており、同時に実行されるほかのトトランザクションの影響を受ける。 ACID特性もわからない。何となくア。 ACID特性とは、トランザクション処理のために必要な4つの特性の事。 A Atomicity (原子性) すべてが完全に実行されるか、処理が完結しない場合には元の状態に戻る C Consistency (一貫性) 処理の順番に関わらず結果が同じになる I Isolation (独立性) 他のトランザクションの影響を受けない D Durability (耐久性) いったんトランザクションが完結したら障害が発生してもデータの状態が変化しない 正解:ウ 問41 隔離性水準のうち、トランザクション間の干渉の許容度が最も高いものはどれか。 ア 繰返し可能な読込み(repratable read) イ コミットされない読込み(read uncommitted) ウ コミットされた読込み(read commited) エ 直列化可能(serializable) 隔離性水準と来たもんだ。サッパリ見当がつかないのでイ。 隔離性水準とは、 正解:イ 問42 二つのトランザクションT1、T2が、データa、bを並行してアクセスする。T1、T2の組合せのうち、直列可能性が保証できるものはどれか。ここで、トランザクションの各操作は次のとおりとする。 LOCK x:データxをロックする READ x:データxを読み込む STORE x:データxを書き出す UNLOCK x:データxをアンロックする ア イ ┌───────┐┌───────┐┌───────┐┌───────┐ │ T1 ││ T2 ││ T1 ││ T2 │ ├───────┤├───────┤├───────┤├───────┤ │READ a ││READ a ││LOCK a ││LOCK a │ │LOCK a ││LOCK a ││READ a ││READ a │ │LOCK b ││LOCK b ││a=a+c ││a=a+c │ │a=a+c ││a=a+c ││ ││ │ │ ││ ││STORE a││STORE a│ │STORE a││STORE a││UNLOCKa││UNLOCKa│ │READ b ││READ b ││LOCK b ││LOCK b │ │b=b+c ││b=b+c ││READ b ││READ b │ │ ││ ││b=b+c ││b=b+c │ │STORE b││STORE b││ ││ │ │LOCK a ││LOCK a ││STORE b││STORE b│ │LOCK b ││LOCK b ││UNLOCKb││UNLOCKb│ └───────┘└───────┘└───────┘└───────┘ ウ エ ┌───────┐┌───────┐┌───────┐┌───────┐ │ T1 ││ T2 ││ T1 ││ T2 │ ├───────┤├───────┤├───────┤├───────┤ │LOCK a ││LOCK a ││LOCK a ││LOCK a │ │READ a ││READ a ││READ a ││READ a │ │a=a+c ││LOCK b ││a=a+c ││LOCK b │ │STORE a││READ b ││ ││READ b │ │UNLOCKa││UNLOCKa││STORE a││UNLOCKb│ │LOCK b ││UNLOCKb││LOCK b ││UNLOCKa│ │READ b ││ ││READ b ││ │ │b=b+c ││ ││b=b+c ││ │ │ ││ ││ ││ │ │STORE b││ ││STORE b││ │ │UNLOCKb││ ││UNLOCKb││ │ │ ││ ││UNLOCKa││ │ └───────┘└───────┘└───────┘└───────┘ 直列可能性?何かどれも同時には動かせない気がするが、何となくウかエ。エかな。 直列可能性とは、 正解:エ 問43 ハッシュアクセス手法の説明として、適切なものはどれか。 ア データ項目の値が特定の値をもつか否かを、レコード番号に対応したレコードビット位置のON/OFFで表現する。重複する値の多いデータの場合に効果がある。 イ レコード格納位置の計算にレコードの特定のデータ項目を引数とした関数を使用する。一意検索に優れているが、連続したデータの検索には向かない。 ウ レコードのデータ項目ごとに、データ項目の値とそのレコード格納位置を組にしたインデックスをもつ。データ項目のレコードを検索するのに向いている。 エ レコードの特定のデータ項目の値から、階層的なインデックスを格納するブロックを作る。この階層のリーフブロックにレコード格納位置が記憶される。大量のレコード件数に対してルートブロックからリーフブロックへの階層数が少なくて済む。 ハッシュアクセス手法とは?知らないからわからない。とりあえずア。 ハッシュアクセス手法とは、 正解:イ 問44 DBMSの整合性制約のうち、データの追加、更新及び削除を行うとき、関連するデータ間で不一致が発生しないようにする制約はどれか。 ア 形式制約 イ 更新制約 ウ 参照制約 エ 存在制約 言葉は聞く気がするが、ウかな。 形式制約とは 更新制約とは 参照制約とは 存在制約とは 正解:ウ 問45 次のSQL文に相当する問合せに対し、次の結果が返ってきた。この結果の表現はどの言語によるものか。 SELECT empno,ename FROM emp WHERE empno < 1500 <ROWSET> <ROW ID = ”1”> <EMPNO>1234</EMPNO> <ENAME>山田太郎</ENAME> </ROW> <ROW ID = ”2”> <EMPNO>1345</EMPNO> <ENAME>日本二郎</ENAME> </ROW> </ROWSET>ア HDML イ HTML ウ XML エ XSL これはイかウと思うが、ウかな。 HDMLとは HTMLとは XMLとは XSLとは 正解:ウ 問46 Xさんは、Yさんにインターネットを使って電子メールを送ろうとしている。電子メールの内容は秘密にする必要があるので、公開かぎ暗号方式を使って暗号化して、送信したい。電子メールの内容を暗号化するのに使用するかぎとして、適切なものはどれか。 ア Xさんの公開かぎ イ Xさんの秘密かぎ ウ Yさんの公開かぎ エ Yさんの秘密かぎ ようやくDBの問題を脱出。これはアのはずだが。ここではずすと痛い。 正解:ウ 問47 セキュリティプロトコルであるSSLに関する記述のうち、適切なものはどれか。 ア SSLで使用する共通かぎの長さは、日本国内では128ビット未満に制限されている。 イ SSLで使用する個人認証用のディジタル証明書はICカードなどに格納することができるので、特定のパソコンに固定する必要はない。 ウ SSLは特定ユーザ間の通信のために開発されたプロトコルであり、事前の利用者登録が不可欠である。 エ SSLを利用するWebサーバでは、そのIPアドレスをディジタル証明書に組み込むので、ディジタル証明書作成前にIPアドレスを取得する必要がある。 SSLって正確には何だっけ。よくわからないけどエかな。 SSLとは、 正解:イ 問48 個人情報の保護制度の現状に関する記述のうち、適切なものはどれか。 ア OECD理事会勧告の8原則は、プライバシー保穫と個人データの国際流通についてのガイドラインであり、民主主義の原則やリスク評価の原則がある。 イ ”行政機関の保有する電子計算機処理に係わる個人情報の保護に関する法律”の適用範囲は、国の行政機関に限られているので、民間部門が独自に収集した情報には適用されない。 ウ 信用情報機関における個人情報の保護については、総務省が信販業界に、警察庁が賃金業界に通達を出し、個人信用利用のあり方を行政指導している。 エ 地方自治体が制定している個人情報の保護条例は、民間の保有する電子計算機処理にかかわる個人情報保護を目的に、その行政区域の民間部門の活動を規制する。 まいった。これもよくわからないが、とりあえずア。 OECD理事会勧告の8原則とは、1) 収集制限の原則、2) データ内容の原則、3) 目的明確化の原則、4) 利用制限の原則、5) 安全確保の原則、6) 公開の原則、7) 個人参加の原則、8) 責任の原則。OECD(経済協力開発機構)の理事会で採択された「プライバシー保護と個人データの国際流通についての勧告」の中に記述されている8つの原則。日本を含めた各国の個人情報保護の考え方の基礎になっている。 行政機関の保有する電子計算機処理に係わる個人情報の保護に関する法律とは 信用情報機関における個人情報の保護とは 地方自治体が制定している個人情報の保護条例とは 正解:イ 問49 米国で運用されたTCSECや欧州政府調達用のITSECを統合して、標準化が進められたCC(Common Critera)の内容はどれか。 ア 情報技術に関するセキュリティの評価基準 イ 情報セキュリティ基礎技術の標準 ウ セキュリティ管理のプロトコルの標準 エ 通信サービスに関するセキュリティ機能の標準 何の事かわからないのでア。 TCSECとは、米国防総省の標準とされたセキュリティ評価基準 ITSECとは、ヨーロッパで使用される7階層の基準 CC(Common Critera)とはTCSEC、ITSECを元に作られた世界標準の基準 正解:ア 問50 CORBAの説明として、適切なものはどれか。 ア ORB(Object Request Brocker)同士を相互に接続するためのプロトコル イ オブジェクトの生成、消滅などの分散オブジェクト環境の基本の標準仕様 ウ 分散オブジェクト環境で、オブジェクト間の通信をつかさどるソフトウェア エ 分散オブジェクト環境で、オブジェクト同士が通信するための標準仕様 これは聞いた事があるけどわからないウでどうだろうか。 CORBAとは分散オブジェクト技術の仕様。異機種分散環境上のオブジェクト間でメッセージを交換するためのソフトウェアの仕様を定めている物。 正解:エ ほとんどDBを勉強していない時点で、29問正解。足きりギリギリという感じだが。 午後1
問題文中で共通に使用される表記ルール 概念データモデル、関係スキーマ、関係データベースのテーブル(表)構造の表記ルールを次に示す。各問題文中に注記がない限り、この表記ルールが適用されているものとする。 1.概念データモデルの表記ルール ┌──────┐ ┌──────┐ │エンティティ│1対1 │エンティティ│ │ タイプ名 ├────┤ タイプ名 │ └──────┘ └──────┘ ┌──────┐ ┌──────┐ │エンティティ│1対多 │エンティティ│ │ タイプ名 ├───→│ タイプ名 │ └──────┘ └──────┘ ┌──────┐ ┌──────┐ │エンティティ│多対多 │エンティティ│ │ タイプ名 │←──→│ タイプ名 │ └──────┘ └──────┘図1 エンティティタイプとリレーションシップの表記ルール (1)エンティティタイプを長方形で表す。 (2)長方形の中にエンティティタイプ名を記入する。 (3)エンティティタイプ間のリレーションシップを線で表す。 (4)”1対1”のリレーションシップを表す線は両端に矢を付けない。 ”1対多”のリレーションシップを表す線は”多”側の端に矢を付ける。 ”多対多”のリレーションシップを表す線は両端に矢を付ける。 ┌────┐ │スーパー│ │タイプ名│ └─┬──┘ ┌───┴────┐ ┌────┴─┐ ┌───┴──┐ │サブタイプ名│ │サブタイプ名│ └──────┘ └──────┘ 図2 スーパータイプとサブタイプの表記ルール (5)スーパータイプとサブタイプの間のリレーションシップは、スーパータイプとサブタイプの間に線を引き、分岐点には”△”を記入する。 ┌────────────┐ │エンティティタイプ名 │ ├────────────┤ │属性名1、属性名2、……│ │──── ──── │ │……、属性名n │ └────────────┘図3 エンティティタイプの属性の表記ルール (6)エンティティタイプの属性を表す場合は、長方形内を上下2段に分割し、上段にエンティティタイプ名、下段に属性名の並びを記入する。 (7)主キーを表す場合は、主キーを構成する属性名又は属性名の組に実線の下線を付ける。 (8)外部キーを表す場合は、外部キーを構成する属性名又は属性名の組に点線の下線を付ける。ただし、主キーを構成する属性の組の一部が外部キーを構成する場合は、点線の下線を付けない。 2.関係スキーマの表記ルール 関係名(属性名1、属性名2、……、属性名n) ──── ──── 図4 関係スキーマの表記ルール (1)関係を、関係名とその右の括弧でくくった属性名の並びで表す。これを関係スキーマと呼ぶ。 (2)主キーを表す場合は、主キーを構成する属性名又は属性名の組に実線の下線を付ける。 (3)外部キーを表す場合は、外部キーを構成する属性名又は属性名の組に点線の下線を付ける。ただし、主キーを構成する属性の組の一部が外部キーを構成する場合は、点線の下線を付けない。 3.関係データベースのテーブル(表)構造の表記ルール テーブル名1 ┌───┬───┬───┬───┬───┐ │列名1│列名2│列名3│列名4│列名5│ │───│───│………│………│ │ └───┴───┴───┴───┴───┘ ↑ ↑ └─┬─┘ ┌──┴───┐ │テーブル名2│ └──────┘図5 テーブル構造と主キー、外部キー、参照関係の表記ルール (1)テーブル名と、その下にテーブルを構成する列名を記入する列名は一つずつ長方形で囲む。 (2)主キーを表す場合は、主キーを構成する列名又は列名の組に実線の下線を付ける。 (3)外部キーを表す場合は、外部キーを構成する列名又は列名の組に点線の下線を付ける。ただし、主キーを構成する列の組の一部が外部キーを構成する場合は、点線の下線を付けない。 (4)外部キーが参照する先のテーブルを表す場合は、外部キーを構成する列名又は列名の組の、上又は下から線を引いて、その先に長方形を書き、その中に参照する先のテーブル名を記入する。線の外部キー側の端に矢を付ける。 問1 データベースの基礎理論に関する次の記述を読んで、設問1〜3に答えよ。 M社では、カタログ販売管理用のデータベースを作成するために、関係スキーマを検討した。検討結果の関係スキーマを図1に示す。関係スキーマの主要な属性の意味は、表1のとおりでである。属性間の主な関数従属性を図2に示す。関数従属性の記注は、図3に従っている。 商品カタログ情報は、表2〜5のように、商品属性を定義し、管理することにした。表3の例のように、商品によって、取りうる商品属性とそのデータ値が異なる。 ┌───────────────────────────────────┐ │購入申込(顧客番号、申込番号、日付、支払方法、住所、顧客名、電話番号)│ │購入明細(顧客番号、申込番号、明細行番号、主商品番号、 │ │ 副商品番号、主商品名、副商品名、価格、送料、数量、) │ │配達(顧客番号、申込番号、配達曜日指定、配達時間帯指定) │ └───────────────────────────────────┘図1 カタログ販売の関係スキーマ 表1 主要な属性及びその意味 ┌─────┬─────────────────────────────────────┐ │属性 │意 味 │ ├─────┼─────────────────────────────────────┤ │顧客番号 │申込みをした顧客を一意に識別するための番号。 │ ├─────┼─────────────────────────────────────┤ │申込番号 │顧客ごとに、申込みを一意に識別するための番号。 │ ├─────┼─────────────────────────────────────┤ │支払方法 │郵便振込か、代金引換かの種別。 │ ├─────┼─────────────────────────────────────┤ │明細行番号│申込内容の明細を示す行の番号。 │ ├─────┼─────────────────────────────────────┤ │主商品番号│商品分類(ラック、いすなど)ごとに一意に採番された番号。 │ │ │商品カタログ情報中に、主商品番号が異なり、主商品名が同一のものがありうる。│ ├─────┼─────────────────────────────────────┤ │ │主商品番号ごとに、商品属性(色、サイズなど)によって、更に細かく分類し │ │ │た番号。申込みは、この副商品番号まで指定する。同一の(顧客番号、申込番 │ │副商品番号│号)において、複数の明細行に同じ(主商品番号、副商品番号)をもつものは │ │ │現れない。商品カタログ情報中に、副商品番号が異なり、副商品名が同一のも │ │ │のがありうる。 │ └─────┴─────────────────────────────────────┘ ┌─────┐ ┌────────┐ │┌───┐│ │┌──────┐│ ┌──────┐ ││住所 ││ ││┌────┐├───→│配達曜日指定│ │└───┘│←────┤顧客番号│││ └──────┘ │┌───┐├────→└────┘││ ┌───────┐ ││顧客名││ ││ ├──→│配達時間帯指定│ │└───┘│ ││ ││ └───────┘ └──┬──┘ ││┌────┐││ ┌───────┐ ┌────┐ ↓ │││申込番号│││ │┌─────┐│ │主商品名│ ┌────┐ ││└────┘││ ││主商品番号├──→└────┘ │電話番号│ ││ ││ │└─────┘│ ┌────┐ └────┘ ││ ││ │┌─────┐├─→│副商品名│ ┌────┐ ││ ││ ││副商品番号││ └────┘ │支払方法│←────┤ │├─→│└─────┘│ ┌──┐ └────┘ ││ ││ │ ├─→│価格│ ┌──┐←─────┤ ││ │ │ └──┘ │日付│ │└──────┘│ │ ├─→┌──┐ └──┘ │┌──────┐│ └───────┘ │送料│ ││明細行番号 ││ ┌──┐ └──┘ │└──────┘├─→│数量│ └────────┘ └──┘ 図2 カタログ販売の主な関数従属性 ┌─┬────────────┬────────────┬────────────┐ │凡│ │┌────┐ │┌────┐ │ │ │ ││┌──┐│ ││┌──┐│ │ │ │ ┌──┐ ┌──┐│││A ││ ┌──┐│││A ││ ┌──┐│ │例│ │A ├──→│C │││└──┘├─→│C │││└──┘│←─┤C ││ │ │ └──┘ └──┘││┌──┐│ └──┘││┌──┐│ └──┘│ │ │ │││B ││ │││B ││ │ │ │ ││└──┘│ ││└──┘│ │ │ │ │└────┘ │└────┘ │ ├─┼────────────┼────────────┼────────────┤ │意│ A→B │(A,B)→C │ C→(A,B) │ │味│ │ │ C→A │ │ │ │ │ C→B │ └─┴────────────┴────────────┴────────────┘ 図3 関数従属性の記法 表2 商品カタログ情報の属性及びその意味 ┌──────┬─────────────────────────────────┐ │ 属 性 │ 意味 │ ├──────┼─────────────────────────────────┤ │商品属性番号│商品属性を一意に識別するための番号。 │ ├──────┼─────────────────────────────────┤ │許容値リスト│商品の属性値として取りうる値の範囲。例えば、サイズ属性なら、”M,│ │ │L”など。リストは、文字列型で表現する。 │ ├──────┼─────────────────────────────────┤ │データ値 │商品属性番号に対応した商品の属性値。例えば、ある商品のサイズ属性の│ │ │データ値は、”M”など。 │ └──────┴─────────────────────────────────┘ 表3 商品カタログ情報のデータの例 ┌─────┬──────┬────┬────┬────┬────┬────┬────┬─┐ │ │商品属性番号│200 │201 │500 │501 │502 │503 │…│ ├─────┼──────┼────┼────┼────┼────┼────┼────┼─┤ │主商品番号│ 商品属性名│主商品名│副商品名│ 色 │サイズ │ 価格 │ 送料 │ │ │ │副商品番号 │ │ │ │ │ │ │ │ ├─────┼──────┼────┼────┼────┼────┼────┼────┼─┤ │2003 │ 0101 │ラック │ WM │ホワイト│ M │3000│ 350│ │ │ ├──────┤ ├────┼────┼────┼────┼────┼─┤ │ │ 0102 │ │ WL │ホワイト│ L │5000│ 400│ │ │ ├──────┤ ├────┼────┼────┼────┼────┼─┤ │ │ 0201 │ │ BM │ブラック│ M │3000│ 350│ │ │ ├──────┤ ├────┼────┼────┼────┼────┼─┤ │ │ 0202 │ │ BL │ブラック│ L │5000│ 400│ │ │ ├──────┤ ├────┼────┼────┼────┼────┼─┤ │ │ 0301 │ │ RM │レッド │ M │3000│ 350│ │ │ ├──────┤ ├────┼────┼────┼────┼────┼─┤ │ │ 0302 │ │ RL │レッド │ L │5000│ 400│ │ ├─────┼──────┼────┼────┼────┼────┼────┼────┼─┤ │2004 │ 0101 │いす │ B │ブラウン│ − │6000│ 500│ │ │ ├──────┤ ├────┼────┼────┼────┼────┼─┤ │ │ 0102 │ │ G │グレー │ − │6000│ 500│ │ │ ├──────┤ ├────┼────┼────┼────┼────┼─┤ │ │ : │ │ : │ : │ : │ : │ : │ │ └─────┴──────┴────┴────┴────┴────┴────┴────┴─┘ 表4 商品属性の例 ┌──────┬─────┬────┐ │商品属性番号│商品属性名│データ型│ ├──────┼─────┼────┤ │ 200 │主商品名 │文字列 │ ├──────┼─────┼────┤ │ 201 │副商品名 │文字列 │ ├──────┼─────┼────┤ │ 500 │ 色 │文字列 │ ├──────┼─────┼────┤ │ 501 │サイズ │文字列 │ ├──────┼─────┼────┤ │ 502 │価格 │数値 │ ├──────┼─────┼────┤ │ 503 │送料 │数値 │ ├──────┼─────┼────┤ │ 504 │重さ │数値 │ ├──────┼─────┼────┤ │ 505 │素材 │文字列 │ ├──────┼─────┼────┤ │ : │ : │ : │ └──────┴─────┴────┘ 表5 許容値リストの例 ┌─────┬──────┬──────────────┐ │主商品番号│商品属性番号│許容値リスト │ ├─────┼──────┼──────────────┤ │2003 │200 │ラック │ │ ├──────┼──────────────┤ │ │201 │WM、WL、BM、RM、RL│ │ ├──────┼──────────────┤ │ │500 │ホワイト、ブラック、レッド │ │ ├──────┼──────────────┤ │ │501 │M、L │ │ ├──────┼──────────────┤ │ │502 │3,000、5,000 │ │ ├──────┼──────────────┤ │ │503 │350、400 │ ├─────┼──────┼──────────────┤ │2004 │200 │いす │ │ ├──────┼──────────────┤ │ │201 │B、G │ │ ├──────┼──────────────┤ │ │500 │ブラウン、グレー │ │ ├──────┼──────────────┤ │ │502 │6,000 │ │ ├──────┼──────────────┤ │ │503 │500 │ ├─────┼──────┼──────────────┤ │ : │ : │ : │ └─────┴──────┴──────────────┘設問1 関係”購入申込”について、次の問に答えよ。 (1)関係”購入申込”の候補キーをすべて挙げよ。候補キーが複数の属性から構成される場合には、(A,B)のように記述すること。 (2)関係”購入申込”は、データ更新時に不都合が生じる。その状況を、具体的に50字以内で述べよ。 (3)関係”購入申込”を第3正規形に分割した関係を、図1と同様な関係スキーマの形式で記述せよ。 設問2 関係”購入明細”について、次の問いに答えよ。 (1)関係”購入明細”で、どの候補キーにも属さない属性(非キー属性)をすべて挙げよ。 (2)関係”購入明細”で、推移的関数従属性がある。その例を一つ挙げよ。 (3)関係”購入明細”は、第1正規形であるが、第2正規形ではない。その根拠を、具体的に60字以内で述べよ。 設問3 商品カタログ情報に関する記述。表2〜5について、次の問いに答えよ。 (1)次の図4の破線枠内に、商品カタログ情報に関連した関数従属性を付加して、関数従属性の図を完成させよ。 ┌………………………………………………………┐ :┌────────┐ ┌────┐ : :│┌──────┐│ │データ型│ : :││商品属性番号││ └────┘ : :│└──────┘│ ┌─────┐ : :│┌──────┐│ │商品属性名│ : :││主商品番号 ││ └─────┘ : :│└──────┘│ ┌──────┐: :│┌──────┐│ │許容値リスト│: :││副商品番号 ││ └──────┘: :│└──────┘│ ┌────┐ : :│ ├──→│データ値│ : :└────────┘ └────┘ : └………………………………………………………┘図4 商品カタログ情報の関数従属性 (2)関数従属性を示す図2と図4とは、記述している対象(属性、関係、関数従属性)の概念的なレベルが異なる。互いにどう異なるか、40字以内で述べよ。 問2 SQLとデータベース設計に関する次の記述を読んで、設問1、2に答えよ。 情報処理サービス企業のK社では、技能研修の一環として、社員が各人の端末を使っていつでも学習ができるオンライン研修コースを開設し、その受講を管理する受講管理システムを構築した。 [受講管理システムにおける社員の管理] (1)社員には、全社で一意の社員番号が付与されている。 (2)受講管理システムでは、1人の社員は一つの部門に所属するものとして管理する。 (3)社員には、社員の職務(例えば、システム開発を行っている部門では、システムエンジニア、データベースエンジニア、ネットワークエンジニアなど)に応じて、担当職務コードが割り当てられている。受講管理システムでは、1人の社員について最大で二つまでの担当職務コードを管理する。新入社員や異動直後の社員には、担当職務コードが割り当てられていない場合もある。 [受講管理システムにおける受講の管理] (1)コースには、受講管理システムで一意のコースコードを付与する。 (2)コースごとに、標準受講時間、標準受講期間及び受講ごとに課される受講ポイント数を定める。 (3)社員は、コースを選択して受講を開始する。受講管理システムでは、受講を開始した時点で、受講の記録を作成する。 (4)担当職務ごとに一つ以上の必修コースを設定する。社員が受講管理システムにログインした際に、まだ受講を開始した事のない必修コースを画面に表示して、社員の受講を促す。 (5)社員には、1年間で受講可能な累積ポイント数の上限である年間受講ポイント数を与える。受講を開始した時点で、コースの受講ポイント数が使用ポイント数として年間受講ポイント数から差し引かれる。年間受講ポイント数が残った場合は、翌年に繰り越される。 (6)コースの最後には確認テストがある。コースごとに定められた基準点以上を得点すれば受講終了となり、受講終了年月日を記録する。コースの受講と確認テストは、確認テストで基準点に達するまで、何度でも繰り返すことができる。 (7)社員は、コースの受講終了後、同じコースを再度愛嬢受講することもできる。2度目以降の受講でも、受講ポイント数が再度課される。 [受講管理システムのテーブル構造] 受講管理のために実装された主要なテーブルの構造は、図1のとおりである。 部門 ┌─────┬───┐ │部門コード│部門名│ │−−−−−│ │ └─────┴───┘ 担当業務 ┌───────┬─────┐ │担当職務コード│担当職務名│ │−−−−−−−│ │ └───────┴─────┘ 社員 ┌────┬──┬─────┬────────┬────────┐ │社員番号│氏名│部門コード│担当職務コード1│担当職務コード2│ │−−−−│ │−−−−−│−−−−−−−−│−−−−−−−−│ └────┴──┴─────┴────────┴────────┘ ┌─────────┬───────┐ │年間受講ポイント数│繰越ポイント数│ └─────────┴───────┘ コース ┌──────┬────┬──────┬──────┬───────┐ │コースコード│コース名│標準受講時間│標準受講期間│受講ポイント数│ │−−−−−−│ │ │ │ │ └──────┴────┴──────┴──────┴───────┘ ┌────────┐ │確認テスト基準点│ └────────┘ 必修コース ┌───────┬──────┐ │担当職務コード│コースコード│ │−−−−−−−│−−−−−−│ └───────┴──────┘ 受講 ┌──────┬────┬───────┬───────┬───────┐ │コースコード│社員番号│受講開始年月日│受講終了年月日│確認テスト得点│ │−−−−−−│−−−−│−−−−−−−│ │ │ └──────┴────┴───────┴───────┴───────┘ 図1 主要なテーブルの構造[部門別受講状況管理表の作成] (1)すべての部門を対象に、同一年度内の受講状況を部門ごとに集計し、部門別受講状況管理表(図2)を出力する。受講者数が少ない部門には受講を促す。 (2)部門別受講状況管理表は、部門ごとに、所属する部員数、年度内に一つ以上のコースの受講を開始した部員数、利用可能ポイント数合計(年間受講ポイント数と繰越ポイント数の合計)及び年度内の使用ポイント数合計を、部門コード順に出力する。 (3)出力対象は、出力日時点までの受講状況とし、出力対象期間内に異動があった部員については、出力日時点の所属部門に使用ポイント数を課すものとする。 ┌────────────────────────────────────────┐ │ 部門別受講状況管理表 出力日:2002年9月30日 │ │ 2002年4月1日〜2002年9月30日 │ │┌───┬─────────┬───┬────┬───────┬───────┐│ ││部門 │ 部門名 │部員数│受講者数│ 利用可能 │ 使用 ││ ││コード│ │ │ │ポイント数合計│ポイント数合計││ │├───┼─────────┼───┼────┼───────┼───────┤│ ││106│マーケティング部 │ 62│ 37│ 3200│ 1860││ │├───┼─────────┼───┼────┼───────┼───────┤│ ││107│公共営業部 │130│ 80│ 7000│ 4030││ │├───┼─────────┼───┼────┼───────┼───────┤│ ││108│技術開発部 │ 35│ 10│ 1750│ 525││ │├───┼─────────┼───┼────┼───────┼───────┤│ ││110│情報通信営業部 │250│ 100│ 11000│ 5000││ │├───┼─────────┼───┼────┼───────┼───────┤│ ││111│ネットワーク開発部│180│ 135│ 9000│ 6750││ │├───┼─────────┼───┼────┼───────┼───────┤│ ││112│公共システム開発部│ 50│ 26│ 2500│ 1335││ │├───┼─────────┼───┼────┼───────┼───────┤│ ││113│検査部 │ 8│ 0│ 400│ 0││ │├───┼─────────┼───┼────┼───────┼───────┤│ ││114│流通システム開発部│333│ 149│ 16650│ 7492││ │├───┼─────────┼───┼────┼───────┼───────┤│ ││ : │ : │ : │ : │ : │ : ││ │└───┴─────────┴───┴────┴───────┴───────┘│ └────────────────────────────────────────┘[受講管理システムにおける社員管理要件の変更] 受講管理システムの稼働後に、K社で機動的な人材活用の方針を打ち出し、社員が複数の部門を兼務する場合が多くなった。これと合わせて、受講管理システムでは、次の要件を満たすことが必要になった。 (1)1人の社員が複数の部門を兼務する場合を管理する。兼務する部門数に制限はない。社員が、兼務先の各部の業務に従事する比率を兼務比率と呼び、合計を1とした小数によって表す。例えば、ある社員がA部とB部の2部門を兼務する場合は、A部0.7、B部0.3のように兼務比率を設定する。 (2)兼務の社員がコースを受講した場合、使用ポイント数に兼務比率を乗じて兼務先の各部門に配分する。 (3)複数部門を兼務する社員には、部門ごとに担当職務を割り振る。社員が、一つの部門で担当する担当職務の数は制限しない。 設問1 社員管理要件の変更前の受講管理システムについて、SQLに関する次の問いに答えよ。 (1)2002年4月1日から2002年9月30日までの部門別受講状況管理表(図2)を出力するための、次のSQL文中の[ a ]〜[ i ]に入れる適切な字句を答えよ。 なお、管理表上の表題と列名は考慮しなくてよいものとする。 SELECT 部門.部門コード,部門.部門名,COUNT(社員.社員番号), COUNT(受講集計.社員番号), SUM(年間受講ポイント数+繰越ポイント数), SUM(使用ポイント数) FROM 部門,社員 LEFT JOIN (SELECT [ a ],[ b ]AS 使用ポイント数 FROM [ c ] WHERE [ d ] AND 受講開始年月日 [ e ]’2002−04−01’[ f ]’2002−09−30’ GROUP BY [ g ])受講集計 [ h ]社員.社員番号 = 受講集計.社員番号 WHERE 部門.部門コード = 社員.部門コード GROUP BY 部門.部門コード,部門.部門名 [ i ] 部門.部門コード (2)社員番号 123456 の社員の、担当職務に応じた必修コースのうち、まだ受講を開始していないコースのコースコードとコース名を表示したい。このためのデータを抽出する次のSQL文を完成させよ。 SELECT コース.コースコード,コース.コース名 FROM コース,必修コース,社員 WHERE 社員番号 = 123456 AND 必修コース.コースコード = コース.コースコード AND [ ] AND コース.コースコード NOT IN ([ ]) 設問2 受講管理システムにおける、社員管理要件変更への対応に関する次の問いに答えよ。 (1)社員管理要件の変更に対応するために、図1のテーブル構造に”所属”と“社員担当職務“テーブルを新たに通知し、”社員”テーブルを変更することにした。”所属”を次のテーブル構進とした場合、”社員担当職務”と”社員”のテーブル構造はどのようになるか。テーブル構造の解答に当たっては、巻頭の”関係データベースのテーブル構造の表記ルール”に従うこと。 なお、主キーは表記せよ。外部キーは表記しなくてよい。 所属 ┌────┬─────┬────┐ │社員番号│部門コード│業務比率│ │−−−−│−−−−−│ │ └────┴─────┴────┘(2)テーブル構造を変更したことによって、設問1(1)で記述したSQL文にま変更を加える必要がある。変更後のSQL文中の[ j ]〜[ m ]に入れる適切な字句を答えよ。ここで、部員数と受講者数は、部門ごとの延べ人数を表し、社員は兼務する部門に重視して加算されるものとする。 SELECT 部門.部門コード,部門.部門名,COUNT(社員.社員番号), COUNT(受講集計.社員番号), [ j ] AS 利用可能ポイント数合計, [ k ] AS 使用ポイント数合計 FROM [ l ] LEFT JOIN (SELECT [ a ],[ b ] AS 使用ポイント数 FROM [ c ] WHERE [ d ] AND 受講開始年月日 [ e ]’2002−04−01’ [ f ]’2002−09−30’ GROUP BY [ g ])受講集計 [ h ] 社員.社員番号 = 受講集計.社員番号 WHERE [ m ] GROUP BY 部門.部門コード,部門.部門名 [ i ] 部門.部門コード 問3 ファミリーレストランの注文管理システムのデータベース設計に関する次の記述を読んで、設問1〜3に答えよ。 システムインテグレータD社は、ファミリーレストラン20店を展開しているE社の店舗で使用する注文管理システムの開発を受注し、F君がデータベース設計を任された。E牡の店舗での業務内容及び注文管理システムの要求仕様は、次のとおりである。 [店舗,従業員] (1)各店舗には、一意な店舗番号を付与する。 (2)従業員には、店舗ごとに一意な従業員番号を付与する。 [料理] (1)料理の料金は、全店舗同一である。ただし、店舗によって、取り扱う料理の種類は異なる。各料理には、全店舗共通の一意な料理番号を付与する。 (2)複数の料理を個別に注文した場合よりも料金が割安になる。セット料理を設定する。セット料理を選択できる料理を主料理と呼び、主料理とセット料理の組合せをセットメニューと呼ぶ。セット料理は、主料理以外の二つ以上の料理からなる。 (3)主料理は、複数のセット料理のいずれかと組み合わせることができる。また、セット料理は、複数の主料理のいずれかと組み合わせることができる。 例えば、和風ハンバーグ(主料理)には、サラダセット、サラダスープセット又はドリンクセットのいずれかのセット料理を指定できる。また、和風ステーキ(主料理)には、四種類のセット料理(サラダセット、サラダスープセット、スープセット、ドリンクセット)のいずれかが指定できる。サラダセットはサラダとライス、サラダスープセットはサラダとスープとライス、スープセットはスープとライス、ドリンクセットはソフトドリンクとライスからなる。 (4)セット料理には、それを構成する単品料理とは別の料理番号を付与する。 [新規注文の受付] (1)給仕担当は、注文を卓単位に受ける。卓には、店舗ごとに一意な卓番号を付与する。 (2)給仕担当は、客の注文をハンディ端末に入力し、注文管理サーバへその内容(新規注文を示す注文区分、卓番号、人数、受付従業員番号、ハンディ端末番号、注文された料理番号と数量)を送信する。この送信において、料理番号の重複はない。 (3)注文管理サーバでは、受信した新規注文に店舗ごとに一意な注文番号を付与し、データベースに登録する。 (4)注文管理サーバは、付与した注文番号をハンディ端末に送信する。 (5)給仕担当は、注文番号の受信確認後に、新規注文伝票(図1)を印刷し、卓に置く。 ┌─────────────────────────┐ │ 新規注文伝票 │ │ │ │店舗番号 012(虎ノ門店) │ │受付年月日時分 2002年10月10日18時15分│ │注文番号 01234 │ │卓番号 001 人数 3 │ │担当者名 010(鈴木) ハンディ端末番号 01 │ │ │ │料理名 数量 単価 金額 │ │□1.和風ハングーグ 1 780 780 │ │□2.サラダセット 1 250 250 │ │□3.ビーフカレー 1 730 730 │ │□4.ドリンクセット 1 180 180 │ │□5.和風ステーキ 1 980 980 │ │□6.サラダスープセット1 350 350 │ │ 飲食料 3270 │ │ 消費税 163 │ │ 合計 3433 │ └─────────────────────────┘ 図1 新規注文伝票の例 ┌─────────────────────────┐ │ 追加注文伝票 │ │ │ │店舗番号 012(虎ノ門店) │ │受付年月日時分 2002年10月10日18時55分│ │注文番号 01234 │ │卓番号 001 人数 3 │ │ 担当者名 012(田中)ハンディ端末番号 02 │ │ │ │料理名 数量 単価 金額 │ │□1.アイスクリーム 2 250 500 │ │□2.ショートケーキ 1 250 250 │ │ 飲食料小計 750 │ │ 飲食料合計 4020 │ │ 消費税 201 │ │ 合計 4221 │ └─────────────────────────┘ 図2 追加注文伝票の例[追加注文の受付] (1)給仕担当は、卓上の注文伝票の注文番号と客の追加注文をハンディ端末に入力し、注文管理サーバへその内容(追加注文を示す注文区分、新規注文で付与された注文番号、卓番号、人数、受付従業員、ハンディ端末番号、注文された料理番号と数量)を送信する。この送信において、料理番号の重複はない。 (2)注文管理サーバでは、受信した追加注文をデータベースに登録する。ただし、同一時刻に同一客からの複数の注文はないものとする。 (3)注文管理サーバは、追加前の料金をハンディ端末に送信する。 (4)給仕担当は、注文管理サーバからの受信確認後に、追加注文伝票(図2)を印刷し、既にある注文伝票と一緒にとじて卓に置く。 [厨房での調理] (1)注文管理サーバは、注文を受信すると、厨房に設置されたプリンタに、料理番号、料理名、卓番号、注文時刻を示した単票(図3)を印刷する。このとき、一つの注文で同一料理の注文数が2以上の場合は、その数だけの単票を印刷する。 (2)調理担当は、調理が完了すると、料理に単票をつけて、配膳台に置く。給仕担当は、配膳台の料理を卓まで運び、卓に置かれた注文伝票の該当料理にチェックをつける。 ┌────────────────────────────┐ │2200 和風ハンバーグ 卓番号:001 18時15分│ └────────────────────────────┘図3 厨房用の単票の例 [支払] (1)客は、注文伝票をレジカウンタに出し、支払を行う。レジ担当は、注文伝票に印刷された注文番号をレジスタに入力し、レジスタに表示された料金を請求する。 (2)客に渡すレシートには、店舗番号、レシート番号(注文番号と同じ)新規注目時の人数と卓番号、領収年月日時分、領収担当者名、料理名、数量、単価、料理ごとの金額、飲食料、消費税額、請求合計金額、預り金額、釣りが印刷される(図4)。 ┌─────────────────────────┐ │ 領収書 │ │ │ │店舗番号 012(虎ノ門店) │ │領収年月日時分 2002年10月10日19時20分│ │レシート番号 01234 卓番号 001 人数 3│ │担当者名 008(山田) │ │ │ │料理名 数量 単価 金額 │ │和風ハンバーグ 1 780 780 │ │サラダセット 1 250 250 │ │ビーフカレー 1 730 730 │ │ドリンクセット 1 180 180 │ │和風ステーキ 1 980 980 │ │サラダスープセット 1 350 350 │ │アイスクリーム 2 250 500 │ │ショートケーキ 1 250 250 │ │ 飲食料 4020 │ │ 消費税額 201 │ │ 請求合計金額 4221 │ │ お預り金額 10000 │ │ お釣り 5779 │ └─────────────────────────┘ 図4 レシートの例 店舗 ┌────┬───┬──┬──┐ │店舗番号│店舗名│住所│卓数│ └────┴───┴──┴──┘ 従業員 ┌────┬─────┬────┐ │店舗番号│従業員番号│従業員名│ └────┴─────┴────┘ 料理 ┌────┬───┬──┐ │料理番号│料理名│単価│ └────┴───┴──┘ 注文 ┌────┬────┬────────┬────┬───┬──┬───────┐ │店舗番号│注文番号│受付年月日時分秒│注文区分│卓番号│人数│受付従業員番号│ └────┴────┴────────┴────┴───┴──┴───────┘ ┌────────┬────┬──┐ │ハンディ端末番号│料理番号│数量│ └────────┴────┴──┘ レシート ┌────┬───────┬──────┬───┬──┬───────┬───┐ │店舗番号│領収年月日時分│レシート番号│卓番号│人数│領収従業員番号│飲食料│ └────┴───────┴──────┴───┴──┴───────┴───┘ ┌────┬──────┬────┐ │消費税額│請求合計金額│預り金額│ └────┴──────┴────┘ 図5 テーブル構造F君は、業務内容と要求仕様に基づきテーブル構造を図5のように設計した。このテーブル構造を見た上司のG氏は、幾つかの問題点を指摘した。 問題点@ 主キー、外部キーが記述されていない。 問題点A ”注文”テーブルが冗長なテーブル構造である。 問題点B 店舗ごとに料理の種類が異なることが管理されていない。 問題点C セット料理及びセットメニューの管理が漏れている。 テーブル構造の解答に当たっては、巻頭の”関係スキーマの表記ルール”、”関係データベースのテーブル構造の表記ルール”のいずれかに従うこと。 なお、主キーは表記せよ。外部キーは表記しなくてよい。 設問1 G氏が指摘した問題点@、Aに関する次の問いに答えよ。 (1)図5の“従業員”、”料理”及び”レシート”テーブルの主キーを示せ。 (2)問題点Aで指摘された“注文”テーブルを冗長性のないテーブル構造に変更して、テーブルの主キーを示せ。その際に、図5にない列名を追加した場合、その列にどのような値を設定するかを答えよ。 設問2 G氏が指摘した問題点B、Cに関する次の問いに答えよ。 (1)問題点Bを解決するために、新たに追加するテーブルの構造を示せ。 (2)問題点Cを解決するために、新たに追加するテーブルの構造を示せ。 設問3 同じ卓の複数の客(同一グループの客)が新規注文時に異なるセット料理を注文した場合、ある客の料理がれて出されることや、ときにはほかの客が食べ終わった後になることが散見された。そこで、顧客満足度向上のため、料理の出し方が特定の客に偏らないようにすることが、新たな要件として追加された。このために、各料理の標準調理時間を考慮して、厨房用の単票を印刷することにした。これを実現するに当たって、テーブル構造についての具体的な要件は、次のとおりである。 @ 料理を前菜、スープ、メイン及びデザートの四つの料理分類に分類する。 A 各料理の標準調理時間を定める。 B 料理分類に対して、料理を出す順序を定める。 この要件を満たすために、図5のテーブル構造を変更し、かつ、新たなテーブルを追加する。なお 解答に当たっては、設問2の解答として追加したテーブルが存存するものとすること。 (1)図5のテーブルの中で列を追加するテーブル名とその列名を示せ。 (2)新たに追加するテーブルの構造を示せ。 問4 データベースの運用設計に関する次の記述を読んで、設問1〜3に答えよ。 X社は、中小企業向けに生産財の小口受注を扱うう卸売業者である。X社では、受発注在庫管理システムを更改することになった。受発注在庫管理システムは、受注、出荷、発注、在庫管理、販売分析の兼務を支援するものである。 [プログラムとテーブルの関係] X社の受発注在庫管理システムの主要なプログラムとテーブルの参照・更新の関係は、表に示すとおりである。 オンラインプログラム”取引先管理”及び“商品情報管理”では、仕入先、販売先及び商品のマスタデータの追加、変更の要求を“マスタ更新登録”テーブルに登録しておき、実際の更新はそれらの要求を基にバッチプログラム”マスタ更新反映”で実行することにした。 表 主要なプログラムとテーブルの参照・更新関係 ┌──────────────┬──┬──┬──┬──┬──┬──┬──┬──┬──┬───┬──┬──┬──┐ │ プログラム名 テーブル名 │@ │A │B │C │D │E │F │G │H │ I │J │K │L │ │ │マ │商 │仕 │販 │受 │出 │出 │在 │発 │ 需 │日 │月 │分 │ │ │ス │品 │入 │売 │注 │荷 │荷 │庫 │注 │ 要 │別 │別 │析 │ │ │タ │ │先 │先 │ │ │指 │ │対 │ 予 │販 │販 │用 │ │ │更 │ │ │ │ │ │図 │ │象 │ 測 │売 │売 │デ │ │ │新 │ │ │ │ │ │ │ │デ │ │実 │実 │| │ │ │登 │ │ │ │ │ │ │ │| │ │績 │績 │タ │ │ │録 │ │ │ │ │ │ │ │タ │ │ │ │ │ ├─┬────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │オ│a.受注処理 │ │R │ │RU│CU│ │ │RU│ │ │ │ │ │ │ ├────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │ン│b.発注処理 │ │R │R │ │ │ │ │CU│R │ │ │ │ │ │ ├────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │ラ│c.出荷処理 │ │R │ │ │R │ │C │ │ │ │ │ │ │ │ ├────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │イ│d.取引先管理 │C │ │R │R │ │ │ │ │ │ │ │ │ │ │ ├────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │ン│e.商品情報管理 │C │R │ │ │ │ │ │ │ │ │ │ │ │ │ ├────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │ │f.販売分折 │ │ │ │ │ │ │ │ │ │ │R │R │R │ ├─┼────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │バ│g.受注明細書FAX送信│ │R │ │R │R │ │ │ │ │ │ │ │ │ │ ├────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │ッ│h.出荷計上 │ │R │ │ │ │C │R │U │ │ │ │ │ │ │ ├────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │チ│i.需要予測 │ │R │ │ │ │ │ │R │ │CRU│R │R │ │ │ ├────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │ │j.発注対象データ作成 │ │ │ │ │ │ │ │R │C │ │R │ │ │ │ ├────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │ │k.販売実績日次集計 │ │R │ │R │ │R │ │ │ │ │C │ │ │ │ ├────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │ │l.販売実績月次集計 │ │ │ │ │ │ │ │ │ │ │R │C │ │ │ ├────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │ │m.分析用データ作成 │ │ │ │ │ │ │ │ │ │ │R │R │C │ │ ├────────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┼──┼──┼──┤ │ │n.マスタ更新反映 │R │CU│CU│CU│ │ │ │ │ │ │ │ │ │ └─┴────────────┴──┴──┴──┴──┴──┴──┴──┴──┴──┴───┴──┴──┴──┘ 注:C:追加、R:参照、U:変更[バッチプログラムの再実行制御機構] X社は、バッチプログラムが障害によって途中終了した騒音のプログラム単位での再実行を効率化するために、”再実行制御機構”を開発した。ここで、障害による途中終了とは、入力データの不具合による異常終了やデータベース障害など、該当プログラムの不具合以外の理由による途中終了を指す。 バッチプログラムは、バッチ処理の入力データを逐次処理し、入力データを一定件数処理するたびにコミット命令を発行する。再実行制御機構は、コミット命令を発行した回数を”再実行制御”テーブルに記録しておく。再実行時には、”再実行制御”テーブルの情報を参照して、処理済みのデータは読み飛ばし、未処理のデータから実行を再開する。”再実行制御”テーブルはデータベース管理システム(DBMS)上の一般のテーブルであり、”再実行制御”テーブルの更新は、該当のバッチプログラムによるコミットと同一のトランザクションに含まれる。 X社では、この再実行制御機構を受発注在庫管理システムのすべてのバッチプログラムに適用することにした。 [バッチプログラムの実行スケジュール] 受発注在庫管理システムのバッチプログラムの実行スケジュールは、図のとおりである。ここで”運用処理”とは、オンライン開始と終了、不要になったデータの削除などの処理を指す。 オンライン オンライン 終了 (ア) (イ) (ウ) (エ) (オ) (カ) (キ) 開始 ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ │ │ ┌─────────┐ │ │ │ │ ┌─────┐ │ │ │ │ │g. ├──────────────────────→│n. │ │ │ │┌──┐│ │受注明細FAX送信│ │ │ │ ┌─→│マスタ更新├┐│ │ ││運用├─→└─────┬───┘ │ │ │ │┌→│反映 │││ │ ││管理├─→┌────┐│ ┌────┐│ ┌────┐│ ┌─────┐││ └─────┘││ │ │└──┘│ │h. ├─→│k. ├─→│i. ├─→│j. ├┘│ ││ ┌──┐│ │ │ │出荷計上││ │販売実績││ │需要予測││ │発注対象 │ │ ├─→│運用││ │ │ └────┘│ │日次集計││ └────┘│ │データ対象│ │ ││ │管理││ │ │ │ └────┴─→┌────┐│ └─────┘ │ ││ └──┘│ │ │ │ │ │l. ││ │ ││ │ │ │ │ │ │販売実績├──────────┘ ││ │ │ │ │ │ │月次集計├─→┌────────┐ ││ │ │ │ │ │ └────┘│ │m. ├───────┘│ │ │ │ │ │ │ │ │分析用データ作成│ │ │ │ │ │ │ │ │ └───────┬┘ │ │ 図 バッチプログラムの実行スケジュール[DBMSのバックアップ機能] (1)バックアップ/リストア機能 @データべースのバックアップ、リストアの単位として、データベース全体とテーブル別とがある。 Aデータべース全体のバックアップは、データべース全体をバックアップ媒体に保存する方法である。この方法でバックアップしたデータのリストアは、データべース全体の単位でだけ実行することができる。バックアップの際もリストアの際も、DBMSのサービスを停止する必要がある。 Bテーブル別のバックアップは、指定したテーブルをファイルに書き出して、バックアップ媒体に保存する方法である。この方法でバックアップしたバックアップファイルを基に、テーブルごとにリストアすることができる。バックアップもリストアも、DBMSのサービス中に実行することができる。ただし、リストアの実行中に、対象となるテーブルへの更新を行うことはできない。 (2)更新ログによるリカバリ機能 @DBMSは、トランザクションがコミット命令を発行した時点で更新した情報を更新ログとして取得する。更新ログには、更新時刻、更新前後のイメージが含まれる。 Aデータべース全体のバックアップからリストアしたデータべースは、取得した更新ログを用いたロールフォワード処理によって指定の時刻の状態に復元できる。 B更新ログによるリカバリに要する時間は、更新ログの量に比例する。 [バックアップ方針] 受発注在庫管理システムのバックアップの方針は、次のとおりである。 (1)データベース全体のバックアップをオンライン開始直前に取得する。 (2)オンラインで更新されたテーブルのテーブル別バックアップをオンライン終了後に取得する。 (3)バッチプログラムを実行する直前に更新対象のテーブルのテーブル別バックアップを取得する。 ただし、バックアップ方針(2)でバックアップを取得したテーブルは対象外とする。 設問1 受発注在庫管理システムのバックアップ方針について、次の問いに答えよ。 (1)バックアップ方針に従って、テーブルA商品、D受注、G在席のテーブル別バックアップを取得する。それぞれのテーブルのバックアップをいつ実行すればよいか、図中の(ア)〜(キ)の中から選べ。 (2)データベース全体のバックアップをオンライン開始直前に取得することにした理由を、50字以内で述べよ。 設問2 受発注在庫管理システムの障害時のリカバリについて、次の問いに答えよ。 (1)ユーザからオンライン時間中に、”前日に多数の販売先を誤って登録してしまったので、販売先テーブルを前々日の状態に戻してほしい”という要望が挙がった。販売先テーブルのリカバリに先立って調査すべき事項について、具体的に50字以内で述べよ。 (2)バッチプログラム”発注対象データ作成”が異常終了した。原因を分析した結果、当日変更した”販売実績日次集計”のプログラムに不具合があり、データが誤って更新されていることが判明した。そのため”分析用データ作成”プログラムを停止して、リカバリを実施することにした。このときリカバリの対象となるテーブルを表中のテーブル@〜Lの中からすべて選び、番号で答えよ。 設問3 図中(エ)の時点でデータベース障害が発生し、データベース全体のバックアップのリストアを行った。その後のリカバリ方法として、@DBMSの更新ログを利用して障害発生の直前まで復元させる方法と、Aオンライン終了後に取得したテーブル別バックアップをリストアした後、バッチプログラムを再実行する方法が提案された。次の問いに答えよ。 (1)リカバリ方法@でDBMSの更新ログを利用して障害発生の直前の正常な状態で復旧した。その後に何を行えばよいか。50字以内で述べよ。 (2)リカバリ方法Aで再実行する必要がないバッチプログラムはどれか。表中のプログラムg〜nの中から選び、記号で答えよ。 (3)リカバリ方法@とAを、リカバリに要する時間の観点で比較する場合、バッチプログラムの実行時間、テーブル別リストアの所要時間以外に必要な時間は何か。また、その時間を求めるために必要な情報を二つ挙げよ。 |