2016/4/30 DATA BASEとは データベースのモデル 米軍の基地A 情報の基地 (代表的な3つのモデル) 米軍の基地B 基地Aの情報 基地Bの情報 基地Cの情報 米軍の基地C 福森 俊一郎 テキスト No.2 第2章 DATA BASE とは 情報の集約(効率化) マルチアクセス 障害対策 機密保持 第二次大 戦後 ファイルとプログラム 住所変更 名前変更 家族変更 所属変更 職位変更 勤務地変更 etc 人事管理 プログラム 労務管理 プログラム 給与計算 プログラム 人事管理用 従業員ファイル 労務管理用 従業員ファイル 給与計算用 従業員ファイル データの重複 = 一貫性の問題 社員コード、社員名、住所、電話番号、年齢、入社年、所属、勤務地、勤務状況 銀行口座、家族、残業時間 データベースとプログラム 人事管理 プログラム データベースの役割 労務管理 プログラム 給与計算 プログラム 1.データのプログラムからの独立性 プログラムの変更がデータに影響を及ぼさない データの変更がプログラムに影響を及ぼさない 2.データの非重複 統合インターフェース(論理表現) ビュー ビュー ビュー 労務データ 複数ユーザからのアクセス、 更新を伴う場合、一貫性の確保 共有データ 人事データ 3.データの共有 = 同時アクセス 給与データ 4.機密保持 5.データの安全性 データベース 1 2016/4/30 データベースシステムの構成 データの論理表現と物理表現 アプリケーション (応用プログラム) データ モデル Data Base System 検索言語(クエリ)、データ操作言語 データの物理表現 データの論理表現 論理的 DBMS データベース管理システム (DBMS) プログラム アプリケーション (例)販売システム 検索言語(クエリ) Data Base 媒体操作手順 物理的 (実際のデータ) データベース DBMS:Data Base Management System データベース管理システム DBMS : DataBase Management System テキスト P38 (テキスト P244) データの論理表現 業務に必要な 項目だけ データベースの起源 型 社員データベース ○ 氏名、生年月日、性別、連絡先 × 性格、趣味、好みの食べ物 年 1950年代 1963 3.関係モデル(RDB) DMS-100(ユニシス) ADMS(NEC) IDMS(カリネーン社) E-DMS(三菱) IDS/2(ハネウェル社) IDS(GE社) CODASYL発足 取込み 1968 マギー氏論文発表 2.ネットワークモデル TOTAL (シンコム システムズ社) DBTG発足 1959 1.階層モデル 1970年代 1968 1967 ネットワーク(網) 型 (CODASYL型) 現実の世界 モデル化 (抽象化) 1960年代 MARK Ⅳ (インフォマティックス社) 1959 APM(日立製作所) 1968 階層型 MUMPS(MGH) IMS(IBM社) 1969 SYSTEM2000 (MRIシステムズ社) データベース 1970 関連(RDB)型 コッド氏リレーショナルの論文発表 テキスト P246 3層スキーマ モデル化(抽象化) データベースが管理するデータの枠組み 人事管理 プログラム 労務管理 プログラム 給与計算 プログラム 例 社員データ 個々のプログラムとのインターフェース 枠組み(仕様)・・・・・・・スキーマ (テキスト P246) データベースの構造を定義したもの 社員番号、氏名、住所 論理表現 現実世界の抽象化 統合インターフェース(論理表現) 概念スキーマ 共有データ 内部スキーマ データの格納形態 データが格納されたもの・・・・・・・インスタンス (テキスト P315) 12345 山田太郎 大阪市 外部スキーマ (ビュー) 人事データ 労務データ 給与データ データベース スキーマ:データベースの構造を定義したもの(仕様) 2 2016/4/30 テキスト P246 3層モデルアーキテクチャ テキスト P246 標準スキーマ ANSI(American National Standards Institude : アメリカ規格協会) 外部スキーマ1 (利用目的向け) 外部スキーマn (利用目的向け) 外部レベル (ビュー) 3層スキーマ ANSI/X3/SPARC 外部スキーマ:論理的なデータ構造の一部を表したもの 概念スキーマ:論理的なデータ構造を表す(狭義でのスキーマ) 内部スキーマ:物理的環境に依存するデータ構造を定義したもの 概念スキーマ (データの論理表現) 概念レベル 目的 内部レベル 内部スキーマ (物理的な格納形式の規定) スキーマ:Schema 論理データの独立性: 論理的データ構造の変更が、他のスキーマに影響を及ぼさない 物理データの独立性: 物理的データ構造の変更が、他のスキーマに影響を及ぼさない データベースの構造を定義したもの テキスト P254 階層モデル モデル化 ルートノード(根) 階層型、ネットワーク型、関連型 別に見る ノード(節) リーフ(葉) 最初 階層型 木構造(ツリー構造) テキスト P254 階層モデルでは、レコードの親子関係を階層として表しているが、 子レコードから見て親レコードは必ず1つであるという点が特徴である 現実世界の制約 1人学生は1つの学部・学科 1:n 木構造 階層モデル 例:ある大学の学部学科構成と学生の関係 学部 工学部 階層モデル 木構造ではない n:m 任意加入のサークル 理学部 医学部 野球 サッカー 空手 親ノード サークル 学部レコードタイプ 学科 機械工学 電気工学 情報工学 学科レコードタイプ 舟木 学生 階層型データモデルによるスキーマ表現 花岡 花岡 /1 岸田 /1/2 舟木 /1 山崎 /2 宮崎 /1/2 子ノード 学生/活動年数 岸田 学生レコードタイプ 親が2つ 階層型データモデルの例 (インスタンス) 3 2016/4/30 階層モデル 階層モデル 強引に木構造にする n:m 任意加入のサークル 工学部 理学部 機械工学 野球 サッカー 岸田 /1 岸田 /2 舟木 /1 山崎 /2 宮崎 /2 子ノード 学生/活動年数 この場合、岸田と宮崎は冗長(むだが多くて長い)になる。 階層モデル 学部レコード 学科レコード 情報工学 親ノード サークル 空手 宮崎 /1 医学部 電気工学 舟木 花岡 /1 赤の破線はポインター 花岡 /1 花岡 岸田 /1 岸田 /2 野球 岸田 舟木 /1 山崎 宮崎 /1 学生レコード 宮崎 山崎 /2 サッカー 宮崎 /2 学生/活動年 レコード サークルレコード 空手 論理的親子関係を含めた階層スキーマ 学部 学科 サークル ネットワーク型 テキスト P256 学生 論理親 学生/活動年 論理子 ネットワークモデル (階層モデルの拡張) 階層モデルとの違い ネットワークモデル レコード集合 学部 構成 1. 子レコードは任意数の親レコードを持つことができる サークル 学科 2. データベースは通常のレコード集合と、レコード間のリンク(繋が り)をより明示的に扱ったリンク集合とからなる 所属 リンク集合 学生 活動年 ネットワークモデルに基づくスキーマ(バックマンダイアグラム) 4 2016/4/30 ネットワークモデル 学生レコード 機械工学 工学部 電気工学 活動年レコード 花岡 1 岸田 1 サークルレコード 野球 1.階層モデル 利点 単純で分かり易い 定型処理のアクセス高速化が可能 欠点 親を一つしか定義できないので現実の世界を表現しきれない 2 理学部 階層モデルとネットワークモデルの利点と欠点 情報工学 舟木 1 宮崎 1 サッカー 利点 親を複数定義できる(階層モデルの改善) 空手 2 医学部 山崎 この欠点を克服しようとするとモデルが冗長になる 2.ネットワークモデル 欠点 網の目のような構造のため、アクセス処理が複雑で低速になる どちらも複雑な構造が定義された場合、操作手続が複雑になる点が欠点 2 ネットワークモデルのインスタンス例 関連モデル(RDB) 学科 関連(RDB)型 学科ID 学科名 所属学部 d001 機械 工学部 d002 電気 工学部 d003 情報 工学部 数学 理学部 学生 学生ID 学生名 学科ID 001 花岡 d002 002 舟木 d002 003 岸田 d002 004 山崎 d003 005 宮崎 d003 住所 生年月日 ・・・ ・・・ d012 サークル活動 ・・・ テキスト P258 サークル 学生ID サークルID 活動年数 001 s01 1 002 s02 1 003 s01 1 サークルID サークル名 部員数 003 s02 2 s01 野球 21 004 s03 2 s02 サッカー 16 005 s02 1 s03 空手 8 005 s03 2 ・・・ ・・・ 関連モデル:リレーション(関係、2次元の表)によってデータ構造を表すモデル 関連モデル おさらい 関連モデルは、リレーション(関係、2次元の表)によってデータ構造を表すモデルである 属性(アトリビュート) 支店表 組(タプル) 支社コード 支店コード 支店名 B1 S1 金沢支店 B1 S2 富山支店 B1 S3 福井支店 リレーションの組と属性 5 2016/4/30 業務に必要な 項目だけ データの論理表現 社員データベース ○ 氏名、生年月日、性別、連絡先 × 性格、趣味、好みの食べ物 現実の世界 スキーマとインスタンス スキーマー:データベースの構造を定義したもの(仕様) データベースが管理するデータの枠組み 例:従業員番号、名前、住所、年齢・・・・・ 1.階層モデル モデル化 (抽象化) 2.ネットワークモデル 3.関係モデル(RDB) インスタンス:スキーマーに基づいて格納された個々のデータ 例:12345、山田太郎、大阪市北区・・・、45歳 データベース 3層モデルアーキテクチャ 標準スキーマ ANSI(American National Standards Institude : アメリカ規格協会) 外部スキーマ1 (利用目的向け) 3層スキーマ ANSI/X3/SPARC 外部スキーマ:論理的なデータ構造の一部を表したもの 外部スキーマn (利用目的向け) 外部レベル (ビュー) 概念スキーマ:論理的なデータ構造を表す(狭義でのスキーマ) 内部スキーマ:物理的環境に依存するデータ構造を定義したもの 概念スキーマ (データの論理表現) 概念レベル 目的 内部スキーマ (物理的な格納形式の規定) 論理データの独立性: 論理的データ構造の変更が、他のスキーマに影響を及ぼさない 物理データの独立性: 物理的データ構造の変更が、他のスキーマに影響を及ぼさない スキーマ:Schema 内部レベル データベースの構造を定義したもの 3層スキーマ 人事管理 プログラム 労務管理 プログラム 給与計算 プログラム プログラムとのインターフェース 論理表現 外部スキーマ 統合インターフェース(論理表現) データの格納形態 人事データ 内部スキーマ 共有データ 労務データ 概念スキーマ 給与データ データベース スキーマ:データベースの構造を定義したもの(仕様) 6
© Copyright 2024 ExpyDoc