So-net無料ブログ作成


勉強振り返り ブログトップ
前の3件 | -

知ったこと3 [勉強振り返り]


  [午後問題を解くとき]
  主にモデリングの問題の場合。

  まずざっと全体を見て、設問もどんな雰囲気なのか把握しておく。
   問題文に「概念データモデル及び関係スキーマの設計方針」があればなるべく把握する。

  問題文を読みながら、どんなエンティティがありそうか考える。
   未完成でもE-R図や関係スキーマがあったら、それを見ながら文章と関連付けて読んでいく。
   逆にモデル図を見ることで文章の理解が速くなる場合も多い。
   あるはずなのに図に入っていないエンティティがあれば把握しておく。
   解答用紙に描かないまでも部分的にE-R図でメモしておくと後から見やすい。
   可能なところは部分部分で考える。

  関係スキーマを完成させる。
   足りないエンティティを追加する。
   問題文や帳票の図から、属性をもれなく洗い出す。
   関係名や属性名は指示されていないか確認し、求められているものにする。
   帳票のなかに明細的(リスト的)な部分があればそのエンティティを作る。

  E-R図を完成させる。
   関係スキーマの主キーと外部キーになっている属性に注目して線を引く。
   1対1か1対多かに気をつける。
   一つ一つエンティティを確認していき、漏れがないようにする。

  確認する。
   図や帳票や表、問題文の読み飛ばしたところなどをチェックして、漏れを確認する。
   図に出てくる項目名などは基本的にすべて使用されるはずと考える。



  ごく個人的かも。他の人はどうだろう。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:資格・学び

知ったこと2 [勉強振り返り]


  [サブタイプについて]

  多対多のときはその結びつきを表すものを間に入れる。
   飼い主(飼い主ID,名前,性別,住所,生年月日,備考)
   ペット(ペットID,種別,名前,性別,年齢)
   ペット飼育(飼い主ID,ペットID,飼育開始日)

  ペットの種別によって個別の情報を入れるのにサブタイプを作る。
   ペット(ペットID,種別,名前,性別,年齢)
   ペット犬(ペットID,犬種,サイズ,ワクチン状態)
   ペット鳥(ペットID,えさ)


  排他的サブタイプと共存的サブタイプ

  例えばこのような場合、
  
   学生(学生ID,名前,住所,性別,生年月日)
   新入生(学生ID,説明会出席状況,お世話係学生ID)
   寮生(学生ID,寮部屋番号,寮費,入寮日)
   工学部学生(学生ID,実験装置使用ID)
   文学部学生(学生ID)
   法学部学生(学生ID,判例データベースID)

   [排他的]
   学部区分をスーパータイプに入れておく。
   図は以下のように分岐させて表す。

      |
    ーー△ーー
    | | |

   [共存的]
   新入生フラグと寮生フラグをスーパータイプに入れておく。
   図は以下のように別々の2本で表す。

     | |
     △ △
     | |

   学生(学生ID,名前,住所,性別,生年月日,学部区分,新入生フラグ,寮生フラグ)
   なので具体例は以下のようになる。

    学生(1234,山田,XXXX,男,1995-01-01,工学部,1,0)
    新入生(1234,未出席,3456)
    工学部学生(1234,X09876)

    学生(8765,田中,XXXX,女,1993-09-23,文学部,0,0)
    文学部学生(8765)

    学生(3456,中村,XXXX,男,1992-12-25,文学部,0,1)
    寮生(3456,F502,9600,2012-04-01)
    文学部学生(3456)


  よく知らないことを例にとったので。おかしな点は修正します。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:資格・学び

知ったこと1 [勉強振り返り]

何も知らない状態から、最初にこんなことを知っていたら理解が
進みやすかったかなということを書いてみる。ああそうか、と思ったことなど。
厳密なことは無視。


  [E-R図と関数従属性の図]
   試験に出てくるモデル図はこの2つが多い。
   混同しやすいがこの2つの図で使われる矢印は意味が異なる(むしろ逆の意味とも)

   例えば「都道府県」と「郵便番号」
     E-R図では「都道府県」から「郵便番号」に矢印を引く。
        ※1対多
     関数従属図では「郵便番号」から「都道府県」に矢印を引く。
        ※郵便番号が決まれば都道府県も決まる。



  [テーブルの用語]
   関係スキーマ テーブルと同じ形式でモデルを表したもの。
   タプル  テーブルの一行。具体的な一行。
   主キー  テーブルの一行(タプル)を特定できる属性。IDなど。
   候補キー  主キーになれる候補。
   外部キー  別のテーブルのキーを参照しているもの。



  [正規形について]

  ■非正規形
    値を複数持っていたりしてそのままDBに登録できないもの。

    例えば、
     社員(社員番号,名前,住所,郵便番号,趣味,趣味歴)
     社員(1234,加藤,津市相生町,514-0017,{釣り,ゴルフ},{5年,2年})

    このままではテーブルにならないので、
     社員(1234,加藤,津市相生町,514-0017,釣り,5年)
     社員(1234,加藤,津市相生町,514-0017,ゴルフ,2年)
    のように分割する。※これが第1正規形
    ただし社員番号だけで区別ができず、主キーは{社員番号,趣味}のようになる。

  ■第1正規形
    主キーの一部から主キー以外への関数従属があるもの。主キーそのものなら問題なし。

    例えば
     社員(1234,加藤,津市相生町,514-0017,釣り,5年)
     社員(1234,加藤,津市相生町,514-0017,ゴルフ,2年)
    なら主キー{社員番号,趣味}のうち、社員番号→{名前,住所,郵便番号}となっている。
    そのため下のように正規化を進める。
     社員(社員番号,名前,住所,郵便番号)
     社員趣味(社員番号,趣味,趣味歴)

  ■第2正規形
    主キー以外から主キー以外への関数従属があるもの。

    例えば
     社員(社員番号,名前,住所,郵便番号)
    なら主キー以外{名前,住所,郵便番号}で、住所→郵便番号となっている。
    そのため下のように正規化を進める。
     社員(社員番号,名前,住所)
     郵便番号(住所,郵便番号)

  ■第3正規形
    主キーそのもの以外から関数従属がないもの。ただし主キーの中は無視する。

    例えば上の例なら以下のようなタプルに。
     郵便番号(津市相生町,514-0017)
     社員(1234,加藤,津市相生町,釣り,5年)
     社員趣味(1234,ゴルフ,2年)
     社員趣味(1234,釣り,5年)

  ■第3正規形以上
    主キーの中での関数従属も気にする。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:資格・学び
前の3件 | - 勉強振り返り ブログトップ




この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。