9/18の受験

もふもふさん  
(No.1)
本日、受験してきたものです。
結果、総合では600点超えたものの、ストラテジが570点で落ちました。
また9月中に受験予定です。
ところで、ストラテジのなかの、関係データベースの表の問題についてですが、
表を結合するまではわかるのですが、そこから、何が必要でわけるのか、わかりません。
わかりやすく考えたいのですが、コツはなんでしょうか。わかる方いましたらお願いいたします。
2024.09.18 23:42
彼方さん 
(No.2)
関係データベースの正規化の問題が解けないという解釈でよろしいでしょうか?
「関係データベース 正規化」で検索して、実際の正規化の手順の解説を色々読んでみてはいかがでしょう。読んでるうちに「あ、これならわかる」というのが見つかると思います。
文面からして第2正規化で引っかかってると思いますので、その手順を特に重点的に読んでみて下さい。その前に主キーと外部キーの意味合いがわかってないと第2正規化も理解出来ないので、そこの解説を読み込むのも必要だと思います。

これに限らず、ITパスポートの出題範囲はITパスポートの教材以外でもほぼ全部学習可能です。
今まで読んだ解説でよくわからない・ピンと来ないというなら、他を探してみたらいいんです。試しに検索してみて下さい。
2024.09.19 00:15
ともちゃんさん 
(No.3)
総合で600点、ストラテジ570点?
マネジメントとテクノロジーは?
各300点以上なら合格ではないでしょうか?
2024.09.19 06:13
まーぼさん 
(No.4)
総合600点で各分野300点以上であれば合格していると思いますので、今一度結果を確認してください。

正規化については、実例をもとにやってみるといいと思います。

例として、遠足のおやつ管理をRDBで管理してみます。
コメントでは表形式で表すのが難しいのでタプル形式で表します。

生徒遠足おやつテーブル
(学年,クラス,出席番号,生徒名,おやつ1名称,おやつ1単価,おやつ1数量,おやつ1合計金額,おやつ2名称,おやつ2単価,おやつ2数量,おやつ2合計金額)
=
(3,1,2,秋山涼,チョコレート,120,1,120,フーセンガム,30,5,150),
(4,2,2,秋吉理香子,おいしい棒,20,10,200,null,null,null,null)

「3年1組2番の秋山涼さんが120円のチョコレート1つ合計120円と30円のフーセンガム5つ合計150円購入」
「4年2組2番の秋吉理香子さんが20円のおいしい棒を10個合計200円購入」
というレコードを挿入しました。

ここで、「この表無駄じゃない?」と思うところはないでしょうか。
問題点
1.おやつを1種類しか買わない生徒がおやつ2関連のカラムをnullで登録しないといけない。また、おやつを3種類以上買う生徒のおやつ購入レコードを登録できない。
2.単価と数量を掛ければ、合計金額は求まるはず。計算して求められるカラムは不要なので削除する。

以上の観点から上記の表を第一正規化すると以下のようになります。

生徒遠足おやつテーブル(第一正規形)
(学年,クラス,出席番号,生徒名,おやつ名称,おやつ単価,おやつ数量)
=
(3,1,2,秋山涼,チョコレート,120,1),
(3,1,2,秋山涼,フーセンガム,30,5),
(4,2,2,秋吉理香子,おいしい棒,20,10)
これで少しスッキリしましたね。
ですが、まだ問題があるように思いませんか?
同じ種類のおやつを複数人が買うケースもあるはずです。
4年2組10番の田中智さんが20円のおいしい棒を5個購入したとします。すると、以下のレコードが挿入されます。
生徒遠足おやつテーブル(第一正規形)
(学年,クラス,出席番号,生徒名,おやつ名称,おやつ単価,おやつ数量)
=
(4,2,10,田中智,おいしい棒,20,5)
ここでおいしい棒の単価を間違っていたことに気づき、修正しようとします。
すると、
(4,2,2,秋吉理香子,おいしい棒,20,10)と(4,2,10,田中智,おいしい棒,20,5)の2つのレコードのおやつ単価を修正しなければなりません。現状はまだ2つなのでいいですが、おいしい棒を10人が購入していれば10人分のレコードを修正しなければなりません。これは単純に骨が折れますし、人間ですので修正忘れが出て、データの不整合が発生する可能性が高いです。
ですので、おいしい棒の単価の修正でできるだけ少ないレコードの修正で済むように新しくおやつテーブルを作り分割します。

おやつテーブル
(おやつID,おやつ名称,おやつ単価)
=
(1,チョコレート,120),
(2,フーセンガム,30),
(3,おいしい棒,20)

生徒遠足おやつテーブル(第二正規形分割途中)
(学年,クラス,出席番号,生徒名,おやつID,おやつ数量)
=
(3,1,2,秋山涼,1,1),
(3,1,2,秋山涼,2,5),
(4,2,2,秋吉理香子,3,10),
(4,2,10,田中智,3,5)

これでおいしい棒の単価修正が入っても、おやつテーブルの(3,おいしい棒,20)というレコードを修正するだけで済みます。

実はまだ生徒遠足おやつテーブルは第二正規形になっていないのですが、これは割愛しますね。ヒントは、学年・クラス・出席番号が決まれば生徒名も決まるという前提があるということです。

長くなりましたが、ネット上にもっといい正規化の実例があると思いますので調べて、手を動かしてやってみると良いと思います。コツは「このテーブルの無駄なところはどこだろう?」という視点でテーブルを見ることです。
2024.09.19 08:32
もふもふさん  
(No.5)
No.2彼方さん
お早いご返信ありがとうございます。
そうですね、第二正規化以降のあたりから、よく理解できていない感があります。
アドバイスいただいたように、たしかに、ITパスポート試験、というワードにとらわれすぎていたので、他でわかりそうなものを探してみます。
ありがとうございました。
2024.09.19 09:53
もふもふさん  
(No.6)
No.3ともちゃんさん
お早い返信ありがとうございます。
あれ...、認識違っていますでしょうか?
すべての科目が、600点/1000点でなくてよいということでしょうか。
ストラテジ:710点、マネジメント:750点、テクノロジ:570点で、
総合評価点:685点でした。
2024.09.19 10:05
ともちゃんさん 
(No.7)
もふもふさん

それ、合格してますよ!
おめでとうございます!
私も先日受け、合格見込みです(笑)
2024.09.19 10:09
もふもふさん  
(No.8)
No.4まーぼさん
お早い返信ありがとうございます。
No.3の方にもご指摘されまして、合格点について、勘違いしていたかもしれません...

そして、大変ご丁寧な正規化の解説、ありがとうございます!!!
こんなにわかりやすそうな問題の作成と、解説をいただきまして、大変感謝です。
かなりの長文ですし、お時間を割いていただきまして本当に申し訳ございませんm(__)m
ただ、やはりすぐには理解できないので...、じっくり読ませていただき理解を深めたいです!
文章の上だけで表現するのも難しいくらいですが、一介の質問者に、ほんとうにご親切にありがとうございました。
2024.09.19 10:16
もふもふさん  
(No.9)
No.7ともちゃんさん

そうなんですね!まさか合格見込みとは!他の方にも指摘されていました…!!
9月中には、と焦っていたので、今朝バウチャー券を購入するところでした!!!
ともちゃんさんも合格見込みということで、おめでとうございます!
本当に、ともに良かったですね!嬉泣

こちらで追い込み勉強させていただいた、サイト管理人さんにも感謝です。
ありがとうございました。
2024.09.19 10:22

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop