フクの非日常

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

DB スーパータイプとサブタイプ

今年の試験は春季試験は4月18日。そろそろ1ヶ月前と近まってきました。というわけで、データベース試験勉強再開します。改めて頭から教本を読んで、気になるところを突っ込んでいきたいと思います。

まず、E-R図。このE-R図というのが曲者で、わかってるつもりだけれど、応用編になるとなんだか良く分からない。つまり苦手なんですね。E-R図というのはエンティティとリレーションの図だというのはイメージが沸くようになりました。エンティティが物事を概念化したもの。オブジェクト指向で言うクラスに似たものと解釈しました。で、エンティティの間に関連があるときにリレーションシップが現れます。リレーションシップはつまり、その間の線なわけです。

エンティティタイプの間には多重度があります。ここはよくよく考えるととても難しいです。エンティティの間に多重関係がある場合、リレーションの線が矢印になりますよ、と。また、ありなしによって○とか●が付きますね、と。理解が難しいのは、インスタンスで見た場合の多重度の関係を表しているということ。これこそ、エンティティをクラスとして考えて、このクラスはどんだけインスタンスを実装するのか、と考えた方がスッキリするかもしれません。1対多の関係にあるとき、矢印を引きます。

エンティティがますますオブジェクト指向のクラスのようである点として、スーパータイプ、サブタイプという概念があります。わからない話ではないのですが、これらの関係を考えたり、見抜いたりするのがとても難しい。午後Iとか、午後IIの問題でざっくりE-R図が書いてあって、そいつらに△矢印を引っ張りなさい、というのがかなり苦手です。クラスの概念と一緒で、特化(専化)したのがサブタイプ、汎化したのがスーパータイプという話は分からないではないです。しかし、何を括ってスーパータイプにするのが妥当なのか、その辺の感覚がいまいち掴めません。色んな事例に当たって慣れるしかないのでしょうか。

更に。スーパータイプ、サブタイプの関係を記述した概念データモデルで、包含関係を示すことがあります。ここまで来ると、ちょっとムズカシ過ぎてすぐに理解できません。よく出題される「リレーションシップを補いなさい」というやつ(そして良く撃沈するやつ)ですね。ここが理解できるかが一つのヤマのような気がします。エンティティタイプ同士を比較して、こいつはこいつに含まれるなあ、と判断して包含関係を書く。ちょっとコツが要りそうです。

コメント


管理者にだけ表示を許可する
 

 

トラックバック

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。