瀬戸先生のデータベース本のリレーション(関係)の説明を読んで思ったこと(2)
前回の続き。
前回は,瀬戸先生のデータベース本の理論部分はわかりにくく不正確では?という話をした。
今回はその対処法。基本的には,
- 元となっている増永本を読む
- わかりやすい本を使ってから読む
といった対処で良いと思う。
1. 数式に抵抗がない人は増永先生の本と併用すると良い
この本の理論部分は,増永先生の本の構成を相当に意識している。
よって,数式を少し読める人はまずは増永先生の本で理解すると良い。増永先生の本を読みつつ,その例の一つとしてこの本を併読する感じで読むと良い。
論理記号(全称記号)はそういうものだと割り切っても読める
増永先生の本は論理記号(特に全称記号)を多用している。このため,人によっては読むハードルが高いと思う。しかし,この記号になじみがなくても内容の理解には支障はない。
まず,論理記号の操作ができないと理解できない箇所はほとんどない。よって,論理記号の操作に習熟していなくても普通に読める。
また,論理記号が使われている部分のほとんどは,囲み枠の定義・定理である。その中で正確にそれらを記述するために使われている。仮にそれが正確に読めなかったとしても,それ以外の説明や例でそれなりに得られるものはある。
意外な事実ではあるが,この本は初心者に優しい部分もある。例えば直積集合の話は,ちゃんとイメージ図を付きで説明がされている。全般的に例とか図はわかりやすい。
以上をふまえて,この本のおどろおどろしさに惑わされず,読めるとこを読む,というスタンスでいれば良いと思う。
2つの本を比較するのもある意味で良い勉強
増永先生と瀬戸先生の本と比べたら,瀬戸先生の本について,その部分を文脈無視でいきなり切り取ったの?とか,数式を入れられない大人の事情はわかるとはいえ,この切り方は無理筋では?が何か所か見つかると思う。皮肉なことに,そうやって2つの本を比べることが内容の理解につながったりもする(自分はそうだった)。
2. わかりやすい本を先に読む
最初は完全でないけどわかりやすい本を読むというのもある。例えばミック氏の書いた設計本とか。
ミック本は正規化とER図の章だけ読めばとりあえずは十分。正規化もBCNF以降はいらない。
なお,ミック本は候補キーという概念をあえて捨象して書いてるので,ここだけは注意。ミック本は試験対策本でないのでこれで良いのだけど。 (ただ,試験対策のはずのiTECの応用情報午前本で主キーと候補キーを区別してないのをこの前見たのはびびったけど。)
自分の経験
自分はミック本で正規化を最初は理解した。翔泳社の本は何を書いているかわからなかったし,増永先生の本は正確すぎて全体像がつかめないし,で手が止まってた。そういうときにミック本を読んで,とりあえずの理解を作った。
あとは当時の午後1で実践(当時は正規化理論で1題出題)。その中で疑問があったら,増永先生の本を調べる感じ。
瀬戸先生の本は理論の説明の微妙さ以外は良い本
瀬戸先生の本は,理論の説明の微妙さをコストをかけて対処したとしても読む価値のある本だとは思う。
理論は増永先生の本・SQLは他の本(今何が良いか探してる)で補うということを前提にすると,非常に良い本。読めば読むほどそう思う。
この2つを取ったら何が残るのかという話だけどまあ。。。。
構成・例は問題の選択は絶妙だが説明は下手
この本,テキストの構成(章立てや見出しの配列)・取り上げられている例は良い。これだけで持っておく価値はある。
単語レベルの基礎知識から過去問の橋渡しのために作られている部分(例)は本当に良い。その後のセットの演習問題のセレクトも含めて。
しかし,初学者が読み込むのには使えないといった感じ。とにかく,個々の概念そのものの説明はどうなの?と感じることが多いので。初学者がこの説明だけでわかるの?と思ったところは何か所もある。
そして,わかってる人が説明を読みやすいかというと,それも微妙なところはある。例えば,正確とも不正確ともどちらに寄せたのかわかりにくい微妙な記述に惑わされるところが何か所かあったりするので。
色々なところに配慮してどっちつかずで迷走している感じ。数式を使わない・ページ数の制約という著者責任でないところもあるのだろうけど。
今のとこ考えられる使い方
- この本で押さえておくべき概念の一覧を把握する
- 他の本で概念を理解する + それをベースにしてこの本の例を眺める
- (最後に)この本で知識を整理する + 演習をする
という使い方が良いとは思ってる。
自分で読み込む予定なので,そのうち良いと思われる読み方は詳細に書く。
雑記
増永先生の本を参考文献として書くのは筋では?
瀬戸先生の本は,かなり増永先生の本から構成や記法をかなり取っている。よって,参考文献として明示しておくべきだと思う。筋としてもそうだし,読者に対する便宜としてもそう。
基礎が大事・数学が大事と主張するなら,増永先生の本を参考文献としてあげて,この本をより厳密にしたのが増永先生の本なので,抵抗のない人は読むと良い,と導くのは読者に対する便宜としても必要だと思う。
抽象的な定義を理解するのに例の力を借りる
この本も増永先生の本も,数学志向が少し入ってるので,定義の記述が暗黙の文脈を排除して抽象的に書かれたものとなっている。
自分は,初学者のときはこのスタイルは無理だった。例が頭に入ってない状態で増永先生の本を読んだときは,何が言いたいのかさっぱりわからないと。数式はそこそこ読めるので,議論を一つずつ追えと言えば追える。わからないことを調べたいときも普通にわかりやすい。ただ,全体としてどういうことなの?が見えずに読み切れていなかったところがある。
しかし,例が頭に入った今の目で読むと,書き手の意図もわかるし細部までわかりやすく読める,といった感じ。よって,例をまずは演習で体感して,その力を借りて増永先生の本(やこの本)を読む,というのが良いと思う。
増永先生の本は,わからないことを部分的に調べるのにも向いている(正確だから)。そういう使い方もしながら本に少しずつなじんでいくと良いと思う。
増永先生の本は理論の本なのにSQLの部分が意外と良い
5章のSQLが,シンプルな例でコンパクトなページ数でほぼ初心者の段階で必要なことをカバーしている。
3章の結合演算のところもきちんと書かれててわかりやすい。
ここの2つの章は,そんなに高級な数学を使ってないので,万人に読みやすい。
他,意外なこの本の良さはそのうちエントリを起こす。
適当に理解しても受かるのは受かる
自分はかなりひどい用語の理解で試験は通った。リレーションという用語の定義を書けと言われたら,ん?となる感じの理解。
ただ,きちんと理解できる人はちゃんと最初に理解しておいた方が良いに決まっているけど。
当分お休み
自分が少しデータベースを勉強しないといけなくなった関係で,ここのとこAPのデータベースの問題とDBの問題を色々検討している。その関係で,参考書を読んだり色々な本を読んでいる。特にSQL関連。
その成果をまとめようと思ったのだが,3週間ぐらい集中して取り組むべき案件ができたので,この話もいったんお休み。
瀬戸先生の本と他の本を突き合わせて,読む順番とかセクションごとにこういう本でここは補えば良い,みたいなことを自分の勉強を兼ねて書く予定だったのだがそれも当分先。
次は支援士の合格発表前後かな。。。通っていて欲しいが。