Powered by SmartDoc

7 (5/26):データモデル

7.1 はじめに

7.1.1 グループ発表

今回はなし.

7.1.2 復習

7.1.3 今回の学習目標

・3層スキーマ(概念スキーマ,外部スキーマ,内部スキーマ)

・データモデル(論理モデルと物理モデル)

・E-R(実体-関係)図

・論理データモデル;階層型,ネットワーク型,リレーショナル型

・データベースと表計算の違い

7.2 本題

5/27

教科書にあわせて以下の内容を少し書き換えました.

7.2.1 3層スキーマ(教科書6-1章 p.210)

・概念スキーマ;実世界の写絵.リレーショナルデータモデルの(Viewではない)実表が一例.

・外部スキーマ;概念スキーマで表現されたデータベースを利用する際のスキーマ.この授業の実習で使用しているWebアプリケーションも外部スキーマの一例.Viewというリレーショナルデータベースの機能も一例.(Viewは,時間があればこの授業でも少し取り扱う.)

・内部スキーマ;概念スキーマをコンピュータに実装するための物理的なスキーマ.ハードディスクの上にどのようにデータを配置するかなどを含む.この授業では取り扱わない.

7.2.2 データモデル(教科書1-5章,6-1章 p213)

・実世界にあるデータ(データ自身,データ間の関連,データ構造など)を概念化して「論理データモデル」を作る(「概念モデル」ともいう).E-R(実体-関連)モデルは,論理データモデルの一例.

・論理データモデルを,データベース管理システムで管理可能な形に表現したものが「物理データモデル」(「論理モデル」ともいう).具体的な物理データモデルには,階層型,ネットワーク型,リレーショナル型がある.

7.2.3 E-R(実体-関係)図(6-1章)

・実世界は,「実体(Entity)」と,実体間の「関連(Relationship)」で成り立っているとする.

・実体は,実世界の様々なものを個々の実体として認識するのではなく,共通の性質をとらえた抽象的な事物である.例えば,「学生」という実体は,学生番号とか氏名とかの共通の性質(属性)を持った実体.「識別子(primary key)」で区別できる.

・関連は,実体間の関連を示す.例えば,「学生」という実体と「科目」という実体の間には,「履修」という関連がある.関連には,1対1,1対多,多対多の対応関係(cardinarity)がある.

・実体は「属性(Attribute)」を持つ.属性の一つ(以上)が識別子になる.

・論理データモデルとしてのE-R図を,物理データモデルとしてのリレーショナルデータベース(スキーマ)に変換することができる.

・見方によって,E-R図の作り方が変わりうる.

・E-R図の例;図書の貸し出し,教官と担当科目,注文

7.2.4 物理データモデル(1-5章)

・階層型データモデル;実世界をレコード間の階層構造(親子関係)として表現.一つの子は一つの親しか持つことが出来ない.

・ネットワーク型データモデル;実世界をレコード同士が網の目のようにつながったものとして表現.子は複数の親を持つことができる.

・リレーショナル型データモデル;実世界をリレーション(関係)の集まりとして表現.E-R図の実体が表,関連が表同士の関連で表現できる.現在の主流.

・オブジェクト指向データモデル;最近出てきたモデル

7.2.5 データベースと表計算の違い

リレーショナルデータベースは「表」で表すことができるので,表計算と同じと誤解する人がいるが,まったく違う.

7.3 おわりに

7.3.1 課題

G発表の〆切を延長しました.日曜日夜までに提出してください.(居室不在の際は,ドアの状差しに入れて置いてください.)

  1. 〆切は木曜夜;実体「学生」と実体「科目」の間に生じる関係「履修」のE-R図を提出.
  2. 〆切は日曜夜:G発表;今日学習したことをまとめる

毎週グループ単位で交代で,授業のはじめに,前回の学習内容のポイント(用語・概念・プログラミングのパターンの説明)を発表してもらいます.グループの誰が発表するかは当日指名するので,グループ構成員全員が良く理解しておくことが大切です.この発表もグループの成績として評価し,グループ構成員の成績に加味します.この発表をするためには,1週間の間にグループでよく打ち合わせをして,何を学んだのかをまとめておく必要があります.

発表の方法としては,パワーポイント,Webページ,黒板,資料配布などが考えられます.

発表するためには良く調べることが大事です.授業で聞いたことを話すだけでは不足です.インターネット,図書館,本屋さん,友人,先生(私),などいろいろなリソースを使って調べてください.

7.3.2 次回の学習目標

・(2章)データベース管理システムの機能;データの一貫性のチェック,機密保護,トランザクション,同時実行制御,障害対策

・(4章)リレーショナルデータベースマネージメントシステム

7.3.3 予習範囲