やうたんのループ<めざせ合格ITパスポート!> -25ページ目

やうたんのループ<めざせ合格ITパスポート!>

めざせ合格ITパスポート!情報処理技術者試験ブログ!
やさしく学ぼう!やうたんと一緒に!情報処理の世界へようこそ!

はし2

データを抽出するのに、論理演算記号というのをつかう。
ネットでも「将棋 BAR」で検索をすると「将棋とBARのどちらも共通」のもの、
つまり将棋 AND BARという検索になる。

データを絞り込む・・・という話ですね!

4

それもデータベースと関連するんだ!へええええ。

今日はその論理演算についての話だ。

AND
ANDは両方の条件が満たされれば1となる。

真理値表で書くと
入力  出力
A B  S
1 1  1
0 1  0
1 0  0
0 0  0

ちなみに、入力の値と出力の値の関係性を表にしたものを
真理値表という。

そうだな・・・Aに1が書いてある場合は、AというスイッチがONに
なっている・・・逆に0の場合はOFFというイメージで構わない。

ANDの場合はAとB両方のスイッチがONになって、初めてラン
プが点灯いるイメージだな。

和菓子 AND  パフェならば・・・

抹茶ミルクパフェー!ぱふぇぱふぇぱふぇーーーー!

ああああたべたいたべたいいいいい。

・・・ふっ、わかってきたようだな。合格したらおごってやるさ。

OR

ORはどちらかの条件が満たされれば1となる。

真理値表で書くと
入力  出力
A B  S
1 1  1
0 1  1
1 0  1
0 0  0

イケメン OR ブサメン の彼氏が欲しいいいい!!!


ってことは、男子ならなんでもいいいいい!!!!ってこと?

・・・ふっ、その通りだ。どんだけ肉食なんだよって話だな。女子はOR条件
ばかりじゃなく、ANDできちんと、絞り込んだほうがいいんだぜ。

(つづきます)


第三正規形
主キー以外の項目で決定されるものや、計算できるものは分割する。
第二正規形でも十分いいような気がするが、表では、主キーではないが。
選手コードがあれば、選手名はわかってしまうのでこれを分割する。
あと、勝数は「結果」の合計をすればわかることだ。これを除外しておく。


表A
試合コード 相手コード 結果 
101   B001  勝ち
101   D001  負け
102   D001  勝ち
103   A001  勝ち
103   D001  勝ち
104   B001  負け

表B
試合コード 選手コード
101   A001
102   B001
103   C001
104   D001

表C
相手コード  相手名
A001     やうたん
B001   かなたん
D001    やまざき

表D
選手コード  選手名 
A001   やうたん
B001   かなたん
C001   はっしい
D001   やまざき

はし2

と、最終的には4つの表になる。
・・・難しい説明だったかもしれないが、
実際に手を動かしながら表を作ってみて欲しい。
そうすると、データベースはわかりやすいはずだ。
データベースのポイントは、自分で手を動かして表を作成し、それを正規化する
という作業を繰り返すことで、正規化とは何か・・・がつかめると思うのだ。

ちなみに、第4正規形とか、他の正規形もあるんですか?

ある。ボイスコッド正規形というのもある。詳しくはデータベーススペシャリスト試験
でやることになるだろう。


2

ボイスゴッド・・・声の神・・・大山のぶ代?

どうしてそうなる!僕は神山満月ちゃん!


(つづきます)
試合コードは、その日一日にやった試合をひとつのコードで管理する。
以下のような表があった場合、これを正規化するとどうなるだろう。


非正規形
正規化されていない表

試合コード 選手コード  選手名     相手コード  相手名     結果  勝数
101     A001    やうたん    B001     かなたん   勝ち  1
101                       D001      やまざき   負け  0
102     B001    かなたん    D001     やまざき   勝ち  1
103     C001    はっしい     A001        やうたん   勝ち  1
103                       D001       やまざき   勝ち  1
104     D001    やまざき    B001     かなたん   負け  0

これは確かに・・・ごちゃごちゃしてる感じですね。


2

作者の机の上みたいな感じですね。

やまかしいわ!次行くぞ。


第一正規形
繰返し項目を含まないように分割する
一つの試合コードに2つの試合が重複している。これを取り除く作業をする・・・ために
は表を分けてあげるとわかりやすい。


表A
試合コード 相手コード  相手名      結果  勝数
101     B001    かなたん   勝ち   1
101     D001     やまざき   負け   0
102     D001    やまざき   勝ち   1
103     A001      やうたん   勝ち   1
103     D001      やまざき   勝ち   1
104     B001    かなたん   負け   0

表B
試合コード 選手コード  選手名
101     A001   やうたん
102     B001   かなたん
103     C001   はっしい
104     D001   やまざき

お、すっきり。

朝の情報番組!すっきり!


しかし、これでいいわけではないのだよ。



第二正規形
主キーと、それ以外の項目で決定されるものを分割する。
上の表でもいいんだが、試合コードと相手コードさえあれば相手の名前はわかってしまう。
これを主キーとそれ以外の項目で決定されるもの・・・という。これを分割すると。


表A
試合コード 相手コード 結果  勝数
101   B001  勝ち  1
101   D001  負け  0
102   D001  勝ち  1
103   A001  勝ち  1
103   D001  勝ち  1
104   B001  負け  0

表B
試合コード 選手コード  選手名 
101   A001   やうたん
102   B001   かなたん
103   C001   はっしい
104   D001   やまざき

表C
相手コード  相手名
A001     やうたん
B001   かなたん
D001    やまざき

・・・もう終わりでもいいような・・・。

さて解散解散。寝ましょうよ、あーあ。

ちょ!まてよ! 第3正規形でこれがかなりすっきりするんだぜ。
(つづきます)

はし3
今日は正規化!だ!正規化はデータベース分野で苦手な人も多い内容
だが!俺が、俺が、俺が、わかりやすく教えてやるぜエエエ。

4

・・・俺が3回言う意味がわかりません。帰っていいですか?


・・・・先生の熱い魂を感じる・・・ウルトラソウル・・・ぜひお願いします!



うむっ。正規化とはデータベースの表(テーブル)について、表の重複や
矛盾をなくす作業を言う。


重複や矛盾があると、データを取り扱うのに手間がかかる。
し、おかしなことになったら困るんだ!

正規化には様々な種類があるんだが、ITパスポートにおいては第1正規
化から第3正規化までを覚えておればよろしいっ!

えーほかのもおしえてくださいよう(棒

・・・それ以外は出ないってことですね。


うむっ。ITパスポートのみならず、応用情報技術者試験においても第3正
規化以上の出題は稀であるっ。データベーススペシャリスト試験では、そ
りゃ第5正規化までの条件を丸暗記するべきだが。

以下の表を見ながら正規化の作業を進めていくから、予習しておけよ!

試合コード 選手コード  選手名     相手コード  相手名     結果  勝数
101   A001      やうたん    B001     かなたん   勝ち  1
101                       D001      やまざき   負け  0
102   B001      かなたん    D001     やまざき   勝ち  1
103   C001      はっしい      A001       やうたん   勝ち  1
103                       D001       やまざき   勝ち  1
104   D001      やまざき    B001     かなたん   負け  0


ず、ずいぶんはっしい先生に有利な表ですね・・・・


ふっ。

(つづきます)

はし4
今日はインデックスだ!

いんでえええええくっす!

1

反対語はあうとでっくっっっっすうう??


・・・それは違うと思うぞ。インデックスはデータベースを快適にする
ための仕様なんだ。

そもそも、インデックスって・・・よく使うんだが日本語に直せるか?


ずばり、「目次」のことでしょう!

正解!よって、働きも似たようなものだ。目的のページを探すのに
目次があると、すぐにたどり着けるのと同じように。データベースの
中にもどのデータがどこにあるのかを、あらかじめ目次にしておくと
検索結果が早く出るのだ。


目的はデータベース検索の高速化。ってことですね。

そう!やうたん、その通りだ。そのキーワード、実はデータベースの
問題でよく使われるから覚えておくように。



・・・次はなんですか・・・。

次はない。次回に続かせてもらう。昨日は飲み過ぎたのだ・・・ううう。


私も飲み過ぎたのだ・・・クリスマスだからね・・・シャンメリーを・・・。


・・・二人とも寝ててください。

(つづきます)