So-net無料ブログ作成


データモデリング ブログトップ
前の3件 | -

モデル図の矢印の向きについて [データモデリング]

試験に出てくる図の矢印について、今さらながら
下のように理解した(間違っていたらごめんなさい)。


 ○概念データモデル(E-R図):
     1対多、外部キー参照先から外部キー参照元へ矢印。
 ○関数従属性の図:決定項から非決定項に矢印

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


ついでに、関係スキーマ ≒ テーブル の意味。


【勉強時間】
矢印の向き 0.5時間


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

テーブル設計に関する問題への対応(1章の内容) [データモデリング]

解き方のポイントが書かれていて最も役に立ちそうと思ったが、
確かに着眼ポイントとか書いてあるけど、ここまできたら実際の問題を
こなして身につけていくより他にないという感じ。


■候補キーをすべて列挙させる問題
 関数従属図にある属性を分類し、その属性が候補キーの一部か判断する。
 1.各属性の矢印の始点のものだけチェックする
 2.その属性(及び属性集合)から始まる矢印がすべての属性に
   行き届いているか(残りすべての属性から逆向きにたどれるか)
   を確認する。推移的関数従属性も含めて。
 3.ある属性から候補キーに両方向の矢印があれば置き換えたものも候補キーとなる。

 上記より少し理論的な解き方??
 属性は、
  「常に非決定項」、「決定項かつ非決定項」、「常に決定項」、「関係従属性なし」
 の4つに分類される。
 すべての従属の集合から「常に非決定項」の属性を除外して、それを新たな集合
 とし、再帰的に繰り返す。そうしてしぼった中から候補キーを見つけだす。

■新たなテーブルを追加する問題
 追加の必要性を問題文から読み取れれば解答できる。(問題文、図、表)
 例をたくさんこなすしかない??

■テーブル構造を完成させる問題
 本文中の「問題点」の記述や設問の中で指摘された事から、変更すべき問題点を把握。
 問題文、画面や帳票などの図から関係する記述部分を探す。
 それらの記述から必要な列とテーブルを探しだす。

 導出項目の追加
   パフォーマンスの向上のため。値が変更されにくく頻繁に参照される場合。
 時間変化への対応
   従業員の単価が変わるような時も以前の給与支払額を算出する必要がある。
   (方法1 履歴管理)変更日の列を追加して変更されたときは行を増やしていく。
   (方法2 逆正規化)データ発生当時の値を保持するための列を追加する。
 組合せ
   グループ構成で、グループIDとメンバーIDの列を主キーとしてテーブルを設計。
 横持ち構造
   本来複数行で表されている情報を列に並べたもの。
    四半期別売上(年度、四半期、売上高) →
    四半期別売上(年度、第1四半期売上高、第2-、第3-、第4-)

■主キーや外部キーを示す問題
 テーブル構造から主キーを見つける。○○コードや○○IDの名称に注目。
 問題文中の記述から関係従属性を読み取って候補キーを見つけ、主キーを選ぶ。
 外部キーを見つける。マスターテーブルの主キー項目の名称を手掛かりに。


【勉強時間】
1.8節の勉強 1.5時間


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

関係型データモデルの基礎理論(1章の内容) [データモデリング]

関係代数とか習ったことがあったけど、忘れているのとDBへの応用は知らなかったので
整理できてよかった。だいたい理解できたつもり。
だけど、問題として出たら解けるか分からない。図がないと分かりにくい。


 ドメイン(定義域)=属性の値の集合
 リレーション(関係)=2つのドメインの直積集合の部分集合
 タプル    =リレーションの要素
 スーパーキー =タプルを一意に識別する属性集合
 候補キー   =スーパーキーの中で極小(最もシンプル)なもの
 非キー属性  =どの候補キーにも含まれない属性
 主キー    =主に使用する一つの候補キー。NULLはとらないこと
 外部キー   =他のリレーションの候補キーを参照する項目。外部のタプルを特定。

 概念データモデルから関係型データモデルへ
  →エンティティはリレーションに、関連は外部キーに対応づけられる。

  関連が1対多のとき
    関係A(1側)の主キーを関係B(多側)に外部キーとして組み入れる。
  関連が多対多のとき
    連関エンティティを設けてそれぞれの主キーを外部キーとしてそこに組み入れる。

■関係代数
 和
  RとSのOR演算で、SQLのUNIONに相当。
 積
  RとSのAND演算で、SQLのINTERSECTに相当。
 差
  RからSにも含まれる要素を除外する。SQLのEXCEPTに相当。
 直積
  RのタプルとSのタプルのすべての組み合わせを作る。
 射影
  Rから必要な属性のみをピックアップする。
  SELECT文でSELECT句に列を指定してDISTINCTで重複を取り除くのに相当。
 選択
  条件を満たすタプルをRから取り出す演算。
  SELECT文でWHERE句に条件指定するのと同じ。
 結合
  RとSの直積の中から条件を満たすタプルを取り出すこと。
   等結合はある属性が等しいタプルを取り出す結合。このとき属性の重複が起こる。
   自然結合は等結合から重複を取り除いたもの。
  SELECT句に列リスト、FROM句に直積を行うテーブルを列挙し、WHERE句に条件を指定。
 商
  直積の逆演算。S×T=Rが成立するとき、R÷S=Tが成立する。
  このような関係にない余分なタプルが余りとなる。


【勉強時間】
1.7節の勉強 1.5時間


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:資格・学び
前の3件 | - データモデリング ブログトップ




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

×

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