4章 データベースの設計 p.59-78 1組+(2組) 051019 1 第4章データベースの設計 P59ー61 H102008 池上 直隆 H102403 花岡 智史 2 4章 データベースの設計(1) • 関係データベースを構築する →リレーションスキーマの記述が必要 • 現実世界のデータモデリングは – 外部レベル – 概念レベル – 内部レベル の3つで捉えられる 3 データベースの設計(2) • 正規化 • データベースの設計 – 概念設計 – 論理設計 – 物理設計 • 開発方法論 4 リレーションスキーマの課題 • リレーションスキーマ は複数の属性から構 成 • 設計者によって属性 の グループ化が異なり、 不整合が生じる • E.F.Coddは リレーションの正規 化(normalization)の 理論を提案 5 リレーションの正規化 • 最適なリレーションは – 更新してもタプルの値に不整合がおきない – リレーションスキーマを変更しても影響が少ない 6 P 62 – 64 学 籍 番 号 H102054 H102145 名 佐々木 吉池 前 大輔 傑 担当ページ (P62-63) (P63-65) 7 問 3 主キーはナル値であってはならない! 「社員」無しなら、リレーションタプルの 「社員番号」が、ナル値になる 主キー(primary key)の定義 リレーションスキーマ ∴「なにわ」のタプルは追加できない 主キー 支 店 支 店 名 社 員 社 員 番 号 <P62> 8 リレーションの正規化(normalization) 9 4・2 正規化の方法 • 正規形(normal form):データベース設計での最適な基準のリレーション • E.F.Codd : 第1正規形、第2正規形、第3正規形 の提案 • 第3正規形→ボイス-コッド(Boyce and Codd)正規形 10 <P63> 第一正規形 • 関係モデルの定義域・・・原子値(atomic value)の集合 • 原子値(atomic value)・・・これ以上細分化できない単純な値 例 ・定義域「日付」の場合 要素“1997-04-01”は原子値 ・定義域「年」「月」「日」の場合 要素 “1997” “04” “01” は原子値 11 第一正規形 定義域やリレーションの構成要素である属 性の値は原子値でなければならない ↓ この定義域から構成されるリレーション ↓ 第一正規形(first normal form) <P64> 12 図4・3(a)の例(複数の値を持つタプル) 支店に複数の課がある場合 ↓ あるタプルは属性「課」に複数の値をもち、原子値をもつ属性になっていない ↓ 第一正規形ではない 13 図4・3(b)の例 (構造を持つ属性) • 属性「入社日」が構造を持った属性から構成されている ↓ • 「年」「月」「日」の直積した三つの定義域からなる「日付」を用いて属性「入社 日」を定義していることと同じ ↓ (属性は単純でなければならないという制約) 第一正規形ではない 入れ子型リレーション(nested relation) *関係モデルでは、このような入れ子型リレーションは対象としない 14 図4・4 (図4・3を第一正規化) 第一正規形 *このリレーションは第一正規形にはなっているが、不整合が生じる 15 不整合 • “みなと”支店の所在地の“横浜”を変更するとき →二つのタプルにその値がありますので、すべてを変更しないと不整合が生じ ます。 • “はかた”支店の“第一課”は、別の支店の課と統合することになり、“はか た”支店は新たに組織を変更する →新たな組織が決まるまでに、このタプルを削除すると、“はかた”支店が“福 岡”にあるというデータは削除されるが、課をナル値にできないので、この データを残すことはできない。(主キーの制約) • 新たに“なには”支店を設けることになり、このタプルを追加したいが、まだ 課が決まっていません。 →課をナル値にしたタプルを追加することはできない。(主キーの制約) <P65> 16 図4・4のリレーション ・図4・4のリレーション「支店」の場合 第一正規形だけでは、最適なリレーションが得られない ↓ 高次の正規化を行う必要がある ・図4・4のリレーション「社員」の場合 入社日は、単純な定義域から構成されており、安定したリレーションになって いる。 17 第二正規形 P65~P67 H102002 安島澄人 H102005 有坂秀則 18 第一正規形 • 更新を行うと不整合が 生じる。 • タプルにデータの冗長 がある。 19 関数従属性(1) • {支店名,課} ↓ {所在地,代表電話番号, 課長社員番号} 20 関数従属性(2) • {所在地}or{代表電話 番号}は{支店名}だけで 決定可能 • {課長社員番号}は{支 店名,課}によって決定 ↓ 部分従属 21 リレーションスキーマの正規化 • 支店: 支店名 ↓ {所在地,代表電話番号} • 課: {支店名,課} ↓ {課長社員番号} 22 第二正規形リレーション • 図4・5のリレーションに比べデータに冗長がない • 更新による不整合も生じない。 23 第二正規形 • リレーションの候補キー(主キーを含む)に部 分従属する非キー属性をリレーションから除 き、すべての非キー属性は候補キーに完全 従属するようなリレーションにすること 24 第三正規形 pp.68~70 作成者 河合慎太郎 小林弘晃 25 第二正規形は安定しているか?(1) • 図4-9は、属性が主キーに完全従属しているから第 二正規形である 26 第二正規形は安定しているか?(2) • 情報更新した場合の不具合 – 属性の内容変更 → – タプルの消去 → 全てを変更しなければならない 重要なデータの損失 27 不具合の原因 図4・9 • 属性は主キーに完全従属している、しかし他に関数 従属性が発生している • 図4・9のように推移されて導出された関係従属性を 推移従属性 28 不具合への対処 • 推移従属性を取り除く – 属性は候補キーに完全従属させる – 全ての属性に推移従属が存在しないように分解する 29 第三正規形 • 属性が候補キーに全て完全従属し、かつ推移従属 性が存在しないリレーションを第三正規形という 30 BCNF・第四正規形 P.70 作成者 河合慎太郎 小林弘晃 31 第三正規形の安定性 • 第三正規形でもまだ完全とは言えない • 不整合が生じるケース – 以下3つの属性からなるリレーション「R」 A:社員名 B:Aが担当する製品名 C:製品の担当責任の課長 32 各属性の条件 A 社員名はそれぞれ独立したもの B 一人の社員が複数の製品を担当 C 同一製品は複数の課長が責任をもつこと がある 一人の課長は複数の製品の責任をもつこ とはない 33 リレーション「R」の性質 図1 リレーション「R」のイメージ • AによりBとCが定まる • CによりBが定まる 34 (ボイス・コッド正規形)BCNF R 図2 第三正規形をBCNFに正規化 • 図2のように正規化することをBCNFとよぶ 35 BCNFも完全ではない • 一つのリレーション中の属性間に多値従属性 が存在すると不整合が生じる • 多値従属性を除いたものを第四正規形 36 4章データベースの設計 4・3データベース設計の段階 P71~73 作成者 H102039 小池泰晴 H102077 塚田駿 37 データベース設計の段階 • 現実世界のデータ抽 象化は、概念レベル、 内部レベル、外部レ ベルの三つからとらえ ることができる • データベースの設計 は、概念設計、論理 設計、物理設計の三 段階から行う 38 概念設計 • 概念設計:概念スキーマを作成すること • 概念スキーマ:企業や組織体が興味を持つ現実世 界のデータを記述したもの(特定の業務処理や応用 処理に依存しないデータの構成、意味、関連) • 概念スキーマは、データベースを直接実現するた めに使用するのではなく、データベースを実現する 特定のDBMSから独立したデータモデルで記述する 39 論理設計 • 論理設計:概念スキーマをもとに、特定のDBMS が提供するデータモデルに依存した内部スキー マと外部スキーマを作成すること • 実装依存よりDBMSのデータモデルに依存した 論理的な設計を行う • 実装のためのデータベース全体のデータ構成 (内部スキーマ)と、特定の業務処理や応用処理 のためのデータ構成(外部スキーマ)を設計する 40 物理設計 • 物理設計:特定のDBMSが提供する物理的な実装レ ベルの構成を記述した内部スキーマを設計すること • 物理設計は、実装の記憶構造を記述する • 記憶構造は、データへのアクセスを効率よく行うため の索引(インデックス)付けや、データの格納方法や配 置法などの記述が含まれる これらの機能と指定の仕方はDBMSに依存する 41 データベースの物理特性(P73) 作成者 H102039 小池泰晴 H102077 塚田 駿 42 データベースの物理特性(1) データベースは、二次記憶装置である磁気ディスク装置 に格納される DBMSは、アプリケーションからのデータベースアクセス 要求に対し、磁気ディスク装置からデータを主記憶装置 に読み出し処理を行う アプリケーション ア ク セ ス 要 求 二次記憶装置 データベース デ ー タ 読 み 出 し 処 理 主記憶装置 43 データベースの物理特性(2) • 半導体メモリで構成されている主記憶装置のアクセス速度 はナノ秒の単位で、回転機構をもつ磁気ディスク(二次記憶 装置)はミリ秒の単位である • 主記憶装置は、処理速度は望ましいが電源を切ると内容が 失われてしまう(揮発性)ことや、容量とコストの問題があるた め、電源を切っても内容が残り(不揮発性)、大容量な構成が 可能な磁気ディスク装置にデータベースを格納している 記憶媒体 アクセス速度 性質 半導体メモリ ナノ秒 揮発性 二次記憶装置 磁気ディスク ミリ秒 不揮発性 主記憶装置 44 データベースの物理特性(3) • 必要なデータだけに直接アクセスすれば、入出力 回数を最小にすることができる 方法:DBMSのデータへの索引(インデックス)付け • 一度読み込んだデータが再び必要になったとき、 データが主記憶に保持されていれば処理効率を 向上することができる そのためにDBMSは領域(バッファ)を用意し、入出 力の管理を行う 45 P74-76 本田清大 宮原智弘 46 4.4 データベースシステム開発方法論 47 48 開発ステージの特徴 • データベース管理プラットフォーム構築とアプ リケーションプラットフォーム構築は独立ある いは並行する • すべての開発ステージを通して、データ分析と 設計は先行する • すべての開発ステージを通して、設計情報は リポジトリに蓄積する • 企業活動の成長、拡大、変革とともに繰り返し 実行できる 49 4章 データベースの設計 4・4 データベースシステム開発方法論 発表者 H102036 北原 良一 H102084 東条 健志 P76-78 発表日11月5日 50 概念データモデリングステージ • 概念データモデリングステージは、データ ベースシステム開発方法論の中核となるもの で、成果物はエンタプライズ概念スキーマで ある • 企業内のエンタプライズ概念スキーマは、企 業活動において使用するすべての実体型と その関連を記述したものである 51 概念データモデリングステージ • データ分析フェーズ データベース化に必要なデータの分析を行う エンタプライズ概念スキーマにより、すでに実体 型があるかどうかを分析する 実体型がなければ概念データ設計フェーズを実 施する 既存の外部スキーマの中に必要な外部データ があるかを分析する 外部データがなければアプリケーションプラット ホーム構築ステージに移り、外部データ設計を 52 実施する 概念データモデリングステージ • 概念データ設計フェーズ データベースの概念設計を実施し、その結果 はエンタプライズ概念スキーマである 概念設計では正規化した実体型と関連を設 計する 53 概念データモデリングステージ • ネーミング設計フェーズ・コード設計フェーズ データ名称の命名基準と名前、コードの付与 基準と値の設計を実施する 企業標準 54 データベース管理 プラットフォーム構築ステージ • データベース管理プラットホーム構築ステー ジは、データベース管理プラットホームの実 装設計・構築を行う • 実装設計・構築は、システムコスト、性能条件、 運用条件を考慮して行う 55 データベース管理 プラットフォーム構築ステージ • 分散設計フェーズ データの分散配置の戦略に基づく分散設計を 実施する エンタプライズ概念スキーマは、複数のローカ ル概念スキーマを統合・複数のローカル概念 スキーマに分割するための概念レベルのデー タビューを表現する エンタプライズ概念スキーマはグローバル概 念スキーマの位置付けでもあり、ローカル概 念スキーマに関連した分散配置情報の記述を 56 含む データベース管理 プラットフォーム構築ステージ • ローカル概念データ設計フェーズ データベース管理プラットフォームに実際に 配置するデータベースの概念設計を行う 結果 ローカル概念スキーマ 57 データベース管理 プラットフォーム構築ステージ • ローカル内部データ設計フェーズ データベースの論理・物理設計を実施する 結果 ローカル内部スキーマ ローカル内部スキーマは特定のDBMSのデー タモデルで表される 58 データベース管理 プラットフォーム構築ステージ • 構築フェーズ データベース管理プラットフォームの生成と試 験を行う 59 アプリケーション プラットフォーム構築ステージ • アプリケーションプラットフォーム構築ステージは、 アプリケーションプラットフォームの実装設計・構築 を行う • 外部データフェーズ アプリケーションに依存するデータベースの外部設 計を実施する 結 外部スキー マ 果 60 アプリケーション プラットフォーム構築ステージ • 画面・帳票設計フェーズ 画面・帳票の設計を実施する • トランザクション設計フェーズ データベースへの操作においてデータの一貫 性を保障するためのトランザクションの設計を 実施する • 構築フェーズ アプリケーションプログラムの生成・データ ベース管理プラットフォームとの接続試験を 61 実施する
© Copyright 2024 ExpyDoc