第4号 通勤列車で勉強する,初級シスアド午後 2000/09/23 

末広ページへ このコーナの目次

ver 0.10


スポーツクラブ

すー:先生、今日は、スポーツクラブの問題ですね。

ジャン:前、スィミングクラブに行ったことあります。

すー:どこの?

ジャン:名古屋で働いていたとき,神宮のところプール。私は,コクーンのプールって呼んでました。

すー:映画のコクーンですか。若返るとか。

ジャン:私が泳ぎにいく時間帯、シンクロスィミングの練習が同じプールしてるんですよ。

すー:先生、その時間帯をねらってたんじゃないですか。

ジャン:音楽は流れるし、いいですよ。泳ぎながら、見ていると、みんな小さくて、がっかり。

すー:ビー、ビー、問題発言発生!

ジャン:小学生低学年のクラスでした。

すー:先生,残念でしたね。

ジャン:でも,いっしょのプールにいると,若返る感じでした。

すー:今は,もう行っていないんですが,

ジャン:あまり通わないので,すぐに止めました。

すー:となりのシンクロが若い女性クラスなら,続いたかも。

ジャン:そうかな。

すー:私も,スポーツクラブ行こうかな。

ジャン:昔は,会員になるのに年払いとか,敷居が高かったですが,だんだん月払いとか,始めやすいようですよ。

すー:月払いだと,スポーツクラブも緊張感ありますよね。

ジャン:なんでそう思うの?

すー:役に立たないとか,他のスポーツクラブがいいと思ったら,すぐにやめちゃうじゃないですか。だから,スタッフの仕事の質も向上すると思いますよ。

ジャン:バブルが崩壊して,スポーツクラブも競争激化がたいへんでしょうね。

すー:いろいろ工夫がおきておもしろかも。

ジャン:スポーツ,なんか,おっくう。沖縄の海で,ペダルボートをこいで遊んでいる程度のスポーツが私にいいですね。あと,散歩かな。

すー:先生,コクーンのプールで,若返るかも。

ジャン:(若い女性会員が多い) and  (プールがある) スポーツクラブ入ろうかな。

すー:先生,いっしょに行きましょうか? 

ジャン:えっ? すーちゃんといっしょ。それって,ちょっと。

すー:先生,なに,おろおろしてるの?

ジャン:いやいや。さあ,問題に入りましょう。

すー:はい(^^); 私が線を引いたところは,こんな感じです。


初級システムアドミニストレータ午後平成11年秋問1

問1  データベース設計に関する次の記述を読んで,設問1〜3に答えよ。

 スポーツクラブ K は,会員制のスポーツジムである。利用者は,年会費を払って会員になると,スポーツジムを 1 年間自由に利用することができる。それ以外に,各種の講習会が随時開催されていて,会員は参加費を払ってこれらの講習会に出席することもできる。講習会では,インストラクタ 1 名が 10〜15 名程度の会員の指導にあたることになっている。講習会を担当するインストラクタは,常時 10 名程度がこのスポーツクラブに所属している。
 スポーツクラブKの総務課に勤務する L 君は,講習会の管理運営のために情報システムを構築し運用している。

設問 1

 現状をモデル化する E-R 図は,次のようになる。図中の[   ]に入れる適切な字句を,解答群の中から選べ。

a, c に関する解答群(注:ハイフンはつながっています)

 ア −−
 イ −→
 ウ ←−
 エ ←→

b, d に関する解答群

 ア インストラクタ
 イ 講習会
 ウ 参加費
 エ 年会費

設問 2

 設問 1 の E-R 図をもとにデータベースを設計構築し,運用にあたって必要な情報を抽出する SQL 文を作成した。次の記述中の[   ]に入れる適切な字句を,解答群の中から選べ。

〔データベーススキーマ〕

会員(会員番号,会員氏名,住所,電話番号)
講習会(講習会番号,講習会名称,開講日,[ e ],参加費)
インストラクタ(インストラクタ番号,インストラクタ氏名)
講習会参加([ f ],講習会番号)

〔 SQL文 〕

・会員ごとの 1999 年 9 月分講習会参加費を集計する SQL 文

SELECT 会員.会員番号,SUM(講習会.参加費)
 FROM [ g ].[ h ],[ i ]
 WHERE[ g ].会員番号=[ h ].会員番号
  AND[ h ].講習会番号=[ i ].講習会番号
  AND 開講日 BETWEEN ‘1999-09-01’ AND ‘1999-09-30’
  GROUP BY 会員.会員番号

・これまでに講習会に参加したことがなく,現在予定されているその他の講習会にも参加の予定のない会員の一覧を作成する SQL 文

SELECT 会員番号.会員氏名
 FROM 会員
 WHERE [ j ][ k ]
    (SELECT [ j ] FROM [ l ])

e, f に関する解答群

 ア インストラクタ番号
 イ 会員番号
 ウ 講習会番号

g 〜j,  l に関する解答群

 ア インストラクタ
 イ インストラクタ番号
 ウ 会員
 エ 会員番号
 オ 講習会
 カ 講習会参加
 キ 講習会番号
 ク 講習会名称

k に関する解答群

 ア AND
 イ EXISTS
 ウ FROM
 エ GROUP BY
 オ HAVING
 カ IN
 キ NOT
 ク NOT IN
 ケ OR
 コ ORDER BY

設問 3

 現在このスポーツクラブでは,事業拡大サービス品質の向上を目的として,次の二つの改善施策を検討している。

(1) これまでの会員を“通常会員”とし,それに加えて“平日会員”の制度を導入する平日会員は,年会費が通常会員より低額だが,スポーツジムを利用できるのが平日に限られるほか,講習会の参加費が通常会員よりも 2 割高くなる。

(2) 講習会中の安全を確保するために,内容によっては複数のインストラクタで一つの講習会を担当する。

 これらの施策を実施するには,L 君の運用している情報システムにも変更が必要になる。そこで,いずれかの施策が実施された場合にE-R 図とデータベーススキーマのそれぞれに対して必要となる変更の内容を検討し,次の表の形にまとめた。表中の[   ]に入れる適切な字句を,解答群から選べ。

m, o に関する解答群

 ア 新しいエンティティを一つ追加する。
 イ 既存のエンティティを一つ削除する。
 ウ 新しい関連を一つ追加する。
 エ 既存の関連を一つ削除する。
 オ 既存の関連の一つを 1 : 1 に変更する。
 カ 既存の関連の一つを 1 : 多(多: 1 )に変更する。
 キ 既存の関連の一つを多:多に変更する。
 ク 変更は必要ない。

n, p, q に関する解答群

 ア 新しい表を一つ追加する。
 イ 既存の表を一つ削除する。
 ウ 既存の表に属性を一つ追加する。
 エ 既存の表から属性を一つ削除する。
 オ 変更は必要ない。


ジャン:すーちゃん,エンティティの英語本来の意味は?

すー:他から独立したものとか集団とか指すときの「もの」という感じです。法人は,legal entity で,political entityって,いうと,国家の意味です。

ジャン:独立して,なんか責任ととる単位のものっていう感じですね。

すー:先生,オブジェクト指向のときのオブジェクトみたいなものですか。

ジャン:そうです。

すー:じゃ,なんで,オブジェクトと言わないで,エンティティって言うんですか。

ジャン:オブジェクトは,プログラムをどう作るかということろから概念で,エンティティは,企業活動のデータをどう処理するかといったところから生まれてきた概念です。生まれが違うので,言葉も違うということでしょうか。

すー:そんなもんですか。

ジャン:オブジェクトとエンティティの違いを明確にするのは,メリットないと思いますよ。

すー:じゃ,同じものと理解しておきます。

ジャン:では,さっそく,設問1から,やりましょう。


 現状をモデル化する E-R 図は,次のようになる。図中の[   ]に入れる適切な字句を,解答群の中から選べ。

a, c に関する解答群(注:ハイフンはつながっています)

 ア −−
 イ −→
 ウ ←−
 エ ←→

b, d に関する解答群

 ア インストラクタ
 イ 講習会
 ウ 参加費
 エ 年会費

すー:E-R 図って,何か苦手なんです。

ジャン:もともと,図にするいうことは,理解を助けるためにするんだよね。それが,図を見せると,苦手って,思われるのは,おかしな現象ですよね。

すー:でも,そうなんだもん。

ジャン:図というのは,約束ごとなんです。その約束ごとを理解していないと,図はとたんい難しくなります。

すー:先生,どんな約束なんですか。

ジャン:すーちゃん,京劇って見たことある?

すー:中国の歌舞伎みたいだけど,サーカスみたいなやつでしょう。

ジャン:孫悟空の京劇って,本当にサーカスみたいですよね。

すー:先生,京劇と,E-R 図ってなんか関係があるのですか。

ジャン:京劇で,大きな旗をふるときがあるじゃないですか。

すー:よく出てきますよね。

ジャン:あれって,風を表現しているですよ。

すー:そうなんですか。言われてみると,風みたいな感じですよね。

ジャン:約束事がわかれば,おもしろさも一段と増すように,図も,シンボルの約束がわかると,役立ちますよ。

すー:先生,まず,あの四角の箱は,エンティティが入るのですよね。

ジャン:そうです。普通は,菱形も使います。菱形に「関係」が入ります。この問題では,矢印の下に文字だけで書いていますね。

すー:先生,あの矢印の向き,よく意味が分からないんですど。

ジャン:書き方の流派がいろいろあります。鳥の足のような記号を使うところもありますよ。

すー:1:1,とか,1:Nとかあるじゃないですが,どっちがどっちだか。

ジャン:簡単ですよ。具体的に話すために,先に,エンティティだけ埋めましょう。

すー:まず,物っぽいのは,インスタラクタですね。あと,残りは,講習会,参加費,年会費ですけど。

ジャン:参加費とか年会費というのは,小さい事柄ですよね。この場合,講習会がいいでしょう。

すー:でも,先生,ものではないですよ。 

ジャン:そこは,少し難しいところですが,ものでなくても,ものということで。

すー:先生,なんかごまかしてませんか。

ジャン:オブジェクト指向のオブジェクトもそうですよ。ものでなくても,オブジェクトになりますから。

すー:先生,ごまかしているでしょう。年会費や参加費,お金で立派なものですよ。

ジャン:まあ,図として座りのいいものが入ると言うことですね。

すー:ちょっともやもやだけど。

ジャン:会員 (   )  講習会 (   ) インストラクタ の括弧にいれる矢印が何になるかですね。

すー:これって,いつも悩むんです。どちらが1で,どちらが n かって。

ジャン:図の中に自分が入って,考えます。すーちゃんが会員です。水着を着ています。

すー:はい,私が会員ですね。水着も着ますか?

ジャン:来た方がいいでしょう。

すー:先生,それ,先生の趣味,入っていませんか。

ジャン:じゃ,レオタードにしましょうか。

すー:はい,先生,遊んでいる暇はないですよ。このあと,公文の教室でしょう。

ジャン:すーちゃんが講習会の掲示を見ています。「美しい飛び込み(初級編)」,「水泳でダイエット」どちらも出たいなと思います。どちらも受講したと思ってます。

すー:はい,どちらも受講したいです。

ジャン:すーちゃんは一人,講習会は複数ですので,1:n です。

すー:まず,私が会員になるのでね,それから,考えば分かります。

ジャン:では,インストラクタになって下さい。

すー:このスポーツジムは,ケチなんで,インストラクターのすーちゃんは,一人でいくつもの講座を持たなくてはいけません。準備が大変です。

ジャン:講座とインストラクターのすーちゃんとの関係は,?

すー:n:1です。

ジャン:ではこんどは,講習会になって下さい。

すー:そんなのなれん。講習会になったら,ご飯とか食べられないし,トイレとかどう行けばいいのですか。

ジャン:講習会は,ご飯も食べなくていいし,トイレもいいの。

すー:では,いちおう,なります。

ジャン:一人の講習会さんからみると,受講生は,何人ですか。

すー:たくさんいます。10から15名の受講生がいます。

ジャン:では,一人の講習会さんからみると,インストラクタは?

すー:一人です。

ジャン:すこし解説をすると,集団として,インストラクタをみると,このスポーツクラブには,10から15人いますが,一つの講習会からみると,一人です。このエンティティに属する一つから見て判断します。

すー:先生,そうすると実は,このエンティティの名称は,オブジェクト指向でいうとクラスで,その一つがインスタンスですね。インスタンスになって,1となnとか考えるということですね。

ジャン:さすが,すーちゃん。いいカンしてます。でも,これは初級シスアド向けの問題の説明ですので,その解説は,すこし余分でした。

すー:次から,1:n とか悩まずにすみそうです。

ジャン:会員と講習会の関係は,それぞれ,1:n と n:1でもあったので,n: m と表現します。

すー:たくさん:たくさんですね。

ジャン:講習会とインストラクタは,講習会からみると,1:1 で,インストラクタからみると,n:1 となります。こういう場合は,n:1と表現します。

すー:よく分かりました。技は,

技:
E-R 図の関係は,エンティティの一人になりきって考える

 

ジャン:設問2にいきましょう。

設問 2

 設問 1 の E-R 図をもとにデータベースを設計構築し,運用にあたって必要な情報を抽出する SQL 文を作成した。次の記述中の[   ]に入れる適切な字句を,解答群の中から選べ。

〔データベーススキーマ〕

会員(会員番号,会員氏名,住所,電話番号)
講習会(講習会番号,講習会名称,開講日,[ e ],参加費)
インストラクタ(インストラクタ番号,インストラクタ氏名)
講習会参加([ f ],講習会番号)

e, f に関する解答群

 ア インストラクタ番号
 イ 会員番号
 ウ 講習会番号

すー:このスキーマって,英語なんか難しいですよね。あまり使わない英語ですし。

ジャン:大型機が全盛のころは,特権階級がコンピュータを使うという雰囲気で,用語も主主しいものが多いですよ。

すー:先生なら,この「スキーマ」どう日本語にしますか。

ジャン:「定義」でいいと思いますよ。

すー:そうすると「〔データベーススキーマ〕」は「〔データベース定義〕」ですか。

ジャン:そうです。まあ,いいと思いますよ。

すー:分かりやすいし。正確にいう必要があるときは,「スキーマ」って言えばいいですよ。

ジャン:このデータベース定義は,アクセスでいうと,テーブル定義ですね。オフコンの仕事をしていたころは,こういうのを物理ファイル定義と言ってました。

すー:先生,なんで,物理ファイルなんですか。

ジャン:実際に格納されるフィイルなので,物理ファイル,ビュー(SQLで作成)は,論理ファイルと言ってました。

すー:物理ファイルと論理ファイルですか。ださい言い方ですけど,分かりやすいですね。今なら,「テーブル」と「ビュー」ということですね。

ジャン:では,すーちゃん,埋めて下さい。

すー:はい。

会員(会員番号,会員氏名,住所,電話番号)
講習会(講習会番号,講習会名称,開講日,[ e:(ア)インストラクタ番号 ],参加費)
インストラクタ(インストラクタ番号,インストラクタ氏名)
講習会参加([ f:(イ)会員番号],講習会番号)

ジャン:それぞれ,結び付けるものですね。つぎ,SQL文を埋めてください。

すー:はい。なんか大変そうですね。

・会員ごとの 1999 年 9 月分講習会参加費を集計する SQL 文

SELECT 会員.会員番号,SUM(講習会.参加費)
 FROM [ g ].[ h ],[ i ]
 WHERE[ g ].会員番号=[ h ].会員番号
  AND[ h ].講習会番号=[ i ].講習会番号
  AND 開講日 BETWEEN ‘1999-09-01’ AND ‘1999-09-30’
  GROUP BY 会員.会員番号

g 〜j,  l に関する解答群

 ア インストラクタ
 イ インストラクタ番号
 ウ 会員
 エ 会員番号
 オ 講習会
 カ 講習会参加
 キ 講習会番号
 ク 講習会名称

ジャン:データベース定義を見たら,わかりますよ。4つの表があると思ってください。項目と表と分かりにくいので,表には表と付けますね。

会員(会員番号,会員氏名,住所,電話番号)
講習会(講習会番号,講習会名称,開講日,インストラクタ番号,参加費)
インストラクタ(インストラクタ番号,インストラクタ氏名)
講習会参加(会員番号,講習会番号)

すー:SQLをみると,インストラクタがないので,会員表,講習会表,講習会参加表をg, h, i にいれたらいいですね。

ジャン:g.会員番号=h.会員番号なので,g , h は,会員表,講習会参加表のどちらかですね。

すー:h.講習会番号 とありますので,h は,講習会参加表ということがわかります。こうなりますね。「表」をとって書きます。

・会員ごとの 1999 年 9 月分講習会参加費を集計する SQL 文

SELECT 会員.会員番号,SUM(講習会.参加費)
 FROM 会員. 講習会参加講習会
 WHERE 会員.会員番号=講習会参加.会員番号
  AND 講習会参加.講習会番号=講習会.講習会番号
  AND 開講日 BETWEEN ‘1999-09-01’ AND ‘1999-09-30’
  GROUP BY 会員.会員番号

ジャン:よく,できました。次に行きましょう。

これまでに講習会に参加したことがなく,現在予定されているその他の講習会にも参加の予定のない会員の一覧を作成する SQL 文

SELECT 会員番号.会員氏名
 FROM 会員
 WHERE [ j ][ k ]
    (SELECT [ j ] FROM [ l ])

g 〜j,  l に関する解答群

 ア インストラクタ
 イ インストラクタ番号
 ウ 会員
 エ 会員番号
 オ 講習会
 カ 講習会参加
 キ 講習会番号
 ク 講習会名称

k に関する解答群

 ア AND
 イ EXISTS
 ウ FROM
 エ GROUP BY
 オ HAVING
 カ IN
 キ NOT
 ク NOT IN
 ケ OR
 コ ORDER BY

すー:先生,このSQL,ちょっと難しいです。

SELECT 会員番号.会員氏名
 FROM 会員
 WHERE [ j ][ k ]
    (SELECT [ j ] FROM [ l ])

ジャン:すーちゃん,このSQLを言葉でいうとどんな仕事ですか。

すー:求めるのは会員番号と会員氏名です。条件は,講習会に参加(予定も含む))したことがない人です。

ジャン:参加(予定も含む)したかどうかを調べるにはどこを調べますか。

すー:「講習会参加(会員番号,講習会番号)」にデータが無い会員です。

ジャン:「SELECT 会員番号 FROM 講習会参加」が分かるよね。

SELECT 会員番号.会員氏名
 FROM 会員
 WHERE [ 会員番号 ][ k ]
    (SELECT 会員番号 FROM 講習会参加)

すー:あと,そこの無い会員番号ということが,「WHERE [ j ][ k ]」に入るのですね。

ジャン:無いを表すのは,NOT EXISTS とか,NOT IN ぐらいしかありません。

すー:後が( )で固まっていると,英語として座りがいいのは,NOT IN ですね。

ジャン:それが,答えでしょう。

すー:先生,SQL知らないですか。

ジャン:よく知らないですよね。

すー:でも,データベーススペシャリスト合格したのでしょう?

ジャン:細かく知らなくても,いいんです。仕事では,必要ですけど。

すー:なんかこんな会話しましたね。

ジャン:そうですか。では,設問3に行きましょう。


すー:はい。

設問 3

 現在このスポーツクラブでは,事業拡大サービス品質の向上を目的として,次の二つの改善施策を検討している。

(1) これまでの会員を“通常会員”とし,それに加えて“平日会員”の制度を導入する平日会員は,年会費が通常会員より低額だが,スポーツジムを利用できるのが平日に限られるほか,講習会の参加費が通常会員よりも 2 割高くなる。

(2) 講習会中の安全を確保するために,内容によっては複数のインストラクタで一つの講習会を担当する。

 これらの施策を実施するには,L 君の運用している情報システムにも変更が必要になる。そこで,いずれかの施策が実施された場合にE-R 図とデータベーススキーマのそれぞれに対して必要となる変更の内容を検討し,次の表の形にまとめた。表中の[   ]に入れる適切な字句を,解答群から選べ。

m, o に関する解答群

 ア 新しいエンティティを一つ追加する。
 イ 既存のエンティティを一つ削除する。
 ウ 新しい関連を一つ追加する。
 エ 既存の関連を一つ削除する。
 オ 既存の関連の一つを 1 : 1 に変更する。
 カ 既存の関連の一つを 1 : 多(多: 1 )に変更する。
 キ 既存の関連の一つを多:多に変更する。
 ク 変更は必要ない。

n, p, q に関する解答群

 ア 新しい表を一つ追加する。
 イ 既存の表を一つ削除する。
 ウ 既存の表に属性を一つ追加する。
 エ 既存の表から属性を一つ削除する。
 オ 変更は必要ない。

ジャン:インターネットでは,○付き数字利用できないので,文章では,(1)と(2)ですが,図の方は,○数字ですので,みなさん許して下さいね。

すー:この○数字,困りもんですね。

ジャン:そうですね。パソコン時代になって,ディジタルリサーチのCPMとマイクロソフトのMS-DOSがともにシフトJISを採用したお陰で,かなり楽になりました。それ以前は,IBMと富士通,NECと漢字コードが違ってました。大変でしたよ。また,漢字を扱うときに,シフトアウト,シフトインという特殊な信号で漢字文字列をサンドイッチして扱う必要がありました。シフトJISコード体系は,それをしなくてもいい画期的な体系でした。

すー:シフトJISもそういう面が会ったのですね。

ジャン:漢字のJISコードがそれ以前にあったのですが,そのままだと,アスキーコードとぶつかって,プログラム内での処理が大変でした。漢字JISコードを,グループに分けて,すこしずらすと,アスキーコードと漢字コードが混在させることにしたのです。だから,「シフトJIS」という名称が産まれました。

すー:では,○数字とか問題は?

ジャン:この移行期にメーカが独自性を出してしまったんです。

すー:残念でしたね。

ジャン:あんまり脇道にそれると行けないので,問題にもどりましょう。

すー:会員の種別を増やすのは,(1)ですね。

ジャン: (会員)←→(講習会)←−(インストラクタ) のE-R図はどう変化するでしょうか。

すー:左の(会員)を通常会員と平日会員とべつべつのエンティティにする必要がありますか。

ジャン:通常会員と平日会員の違いは,費用の問題だけですので,区別する必要はないでしょう。

すー:講習会からみたらあんまり関係ないですよね。

ジャン:スキーマ(定義)への変更は?

会員(会員番号,会員氏名,住所,電話番号)
講習会(講習会番号,講習会名称,開講日,インストラクタ番号,参加費)
インストラクタ(インストラクタ番号,インストラクタ氏名)
講習会参加(会員番号,講習会番号)

すー:会員表に,会員区分が必要ですよね。

ジャン:お金が2割高いのは,どうしますか?

すー:講習会表に,参加費1,参加費2とするより,必要なときに,×1.2 したらいいと思います。

ジャン:そうしましょう。属性を一つ追加ですね。

すー:先生,なぜ,属性というのですか,項目と言った方が自然ですよ。

ジャン:スキーマ(定義)からみると,括弧の中の一つの項目なので,項目と言った方が自然ですよね。この属性というのは,エンティティの持つ,属性という意味なんです。エンティティ自体がわかりにくい用語なので,属性もわかりにくいですよね。

すー:属性=項目でいいですか。

ジャン:いいですよ。すーちゃん,これは,初級シスアドの話しではないですが,オブジェクト指向用語でいうと?

すー:プロパティですか。

ジャン:プロパティに対応ですね。

すー:言い切っていいですか。

ジャン:違いを明確にすることより,同じものと認識する方が大切ですから。

すー:(2)にやりますね。

(2) 講習会中の安全を確保するために,内容によっては複数のインストラクタで一つの講習会を担当する。

ジャン:なんか,今風ですね。安全確保とは。

すー:先生,話しをそらせずに,早く終わりましょう。公文の教室に行くんでしょう。

ジャン:お腹もすいたし。

すー:私も。

ジャン:(会員)←→(講習会)←−(インストラクタ)の構造はかえる必要ありますか。

すー:そりゃ講習会からみたら,複数のインストラクタですか,変える必要ありありですよ。

ジャン:すーちゃん,自信をもって,この図を見てますね。

すー:もう,E-R図は得意!得意!,早く終わりましょう。

     (会員)←→(講習会)←(インストラクタ)

ジャン:では,スキーマの方は?

会員(会員番号,会員氏名,住所,電話番号)
講習会(講習会番号,講習会名称,開講日,インストラクタ番号,参加費)
インストラクタ(インストラクタ番号,インストラクタ氏名)
講習会参加(会員番号,講習会番号)

すー:先生,講習会(講習会番号,講習会名称,開講日,インストラクタ番号,参加費)を変える必要がありますね。

ジャン:すーちゃんの夕食のために,ヒントを与えますね。

講習会(講習会番号,講習会名称,開講日,インストラクタ番号1,インストラクタ番号2,参加費)

とするか,

講習会(講習会番号,講習会名称,開講日参加費)
講習担当インストラクタ表(講習会番号,インストラクタ)

どちらがいいと思いますか?

すー:先の方だと,第一正規形されていませんから,だめですね。SQLで,インストラクタこの表から取り出すときに大変です。下の表でしょう。先生,メインインストラクタと補助インストラクタと区別はどうしますか。

ジャン:講習担当インストラクタ表に,責任区分の項目を追加するといいでしょうね。

すー:先生,今日もありがとうございました。では,ご飯だべてきます。先生は,公文ですね。

ジャン:すーちゃん,夕飯食べてもかえっちゃだめだよ。後で,二種の問題の勤マガやるから。

すー:ぎょえー。私は,もう疲れました。

ジャン:食べたら,やる気もでます。

すー:はい。(;;)


ジャン:では,みなさん,次の宿題もがんばって下さい。

すー:回答メールまってますね。今回は,一番最後に宿題をつけておきます。

宿題:初級システムアドミニストレータ午後平成12年春問2


質問コーナー

すー:先生,こんな質問というか要望が来てます。

>アクセスのサンプルファイルですがアクセス97で読める形式で
>ダウンロードすることはできないでしょうか?

ジャン:こちらの作業に余裕がないので,対応できません。サンプルは著作権フリーとしてますので,ぜひ,どなたか,変換お願いします。

すー:私と同じような人からです。

>E-R 図の問題は難しいです。考えようによっては、1対多に思えたり
>多対多に思えたりします。考え方のコツを教えてください。

ジャン:コツは,そのエンティティの一員になって考えるでしたね。

技:
E-R図は,エンティティの一員になりきる。


問題 初級システムアドミニストレータ午後平成12年春問2

問2 成績管理のためのデータベースに関する次の記述を読んで,設問 1 〜 3 に答えよ。

 英語学校の F スクールでは,各受講者への個人指導を充実させるために,成績管理データベースを構築し,各受講者のレッスン受講状況と英語力の変化に関するデータを蓄積することになった。
 F スクールで開講しているレッスンには,一人の講師が複数の受講者を同時に指導するグループレッスンと,講師と受講者が 1 対 1 で行う個人レッスンの二つの形態がある。講師は複数のレッスンを担当することができる。受講するレツスンの形態や頻度は,各受講者ごとに異なっている。さらに,一人の受講者が同時期に異なる形態のレッスンを受講したり,ある時期だけ集中的に多くのレッスンを受講したりすることがある。同じ日の違う時限のレッスンを受けることも可能である。そこで,受講状況については,各受講者のレッスン 1 回ずつをデータ収集の単位とすることにした。
 受講者の英語力の評価には,F スクール内で 3 か月に一度実施している検定試験を用いる。すべての受講者は,F スクールでのレッスンを開始するときと,それ以降は試験が実施されるたびに受験することになっている。検定試験の成績は,データベースに蓄積され,受講者本人に通知される。なお,検定試験が実施される日には,レッスンは開講されない。
 

設問1

成績管理データベースのための E-R 図を図 1 のとおり作成した。
図 1 中の【   】に入れる適切な字句を,解答群の中から選べ。

解答群
 
 ア ──── イ ───→ ウ ←──→ エ ←───
 オ 講師 カ 受講状況 キ レッスン  

設問2

 図 1 の E-R 図をもとに,図 2 の構造をもつデータベースを設計した。ここで,検定試験表の“通算回数”は検定試験の通算開催回数であり,受講者表の“開始時試験回数”と“開始時成績”は,その受講生が F スクールでのレッスンを開始するときに受験した検定試験の通算開催回数とそのときの成績である。
【    】に入れる適切な字句を,解答群の中から選べ。解答は重複して選んでもよい。
受講者表 
受講者番号 受講者氏名 開始時試験回数 開始時成績

講師表 
講師番号 講師氏名

レッスン表 
レッスンコード 実施日 時限 レッスン形態 【 e 】

検定試験表 
通算回数 試験年月日 平均点 標準偏差

レッスン受講表 
【 f 】 【 g 】

検定試験結果表 
【 h 】 【 i 】 成績

 図2 成績管理データベースの構造
解答群
 
 ア 講師氏名 イ 講師番号 ウ 実施日 エ 受講者氏名
 オ 受講者番号 カ 通算回数 キ レッスンコード  

設問3

 個人指導のための資料として,各受講者の検定試験での成績の推移とレッスン受講状況をまとめた“成績推移表”(図3)を作成することになった。
成績推移表の作成に関する次の記述中の【   】に入れる適切な字句を,解答群の中から選べ。
成績推移表 
受講者番号:J111 受講者氏名:虎ノ門太郎 
検定試験 レッスン回数
通算回数 
(実施日) 
成績  グループ  個人 
75 
(1999-04-17)
487 ---------- ----------
8 4
76 
(1999-07-17)
589
8 4
77 
(1999-10-16)
634
8 0
78 
(2000-01-22)
613
4 0
79 
(2000-04-15)
645
   
   
   
   
---------- ----------
(2000-04-20 作成) 
図3 受講者番号“J111”の受講者に関する成績推移表
すべての受講者に対して成績推移表中の“検定試験”と“レッスン回数”の欄を作成する手順は,次のとおりである。
 
 
(1) 各受講者について,(2)〜(4)を繰り返す。
(2) 当該受講者(以下,“受講者 s”という。)がレッスン開始時に受験した検定試験を第 p 回,最も最近実施された検定試験を第 q 回とする。
(3) r を p から【 j 】まで順に変化させながら,1〜5 を繰り返す。 
    1. 受講者 s の第 r 回検定試験での成績を求める。
    2. 第 r 回検定試験が実施された日付を求める。これを集計終了日と呼ぶ。
    3. 第 r+1 回検定試験が実施された日付を求める。これを集計終了日と呼ぶ。 
    4. 集計開始日の翌日から集計終了日の前日までに受講者 s が受講したグループレッスンの回数を求める。
    5. 集計開始日の翌日から集計終了日の前日までに受講者 s が受講した個人レッスンの回数を求める。
(4) 受講者 s の第【 k 】回検定試験での成績を求める。
解答群
 
 ア q − 1 イ q ウ q + 1

 


(c)斎藤末広, 2000
この資料は2000年10月15日まで,許可した方のみ閲覧可能です。もし,なんらかの手段でこの資料を読まれて,有効であると判断された場合は,ご入金をお願いします。許可無く再利用,公開を禁止します。なお,情報処理技術者試験問題(サンプル含む)はその限りではありません。

spage@yscon.co.jp
末広ページへ このコーナーの目次へ