データベース(1) ①デ-タベース方式 ②データベースの設計(正規化) 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 1 ①データベース方式 (p228~) 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 2 (1)DBの特徴-DBとは(例を用いて) みなさんの「成績」 個人別にどうなっているか 教員にとっては 科目別、・・・ 大学運営の立場からは 教員別、・・・・ 履修テーブル 学学科科科単教教成 生生目目目位員員績 番名番名区 番名 号 号 分 号 データはいろいろな角度から見たい データは1個所にまとめておきたい 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 3 (2)DBのモデル-DB構造の種類 ①階層(Tree)型DB 1対多の親子関係 階層型 もはや使われない ②ネットワーク(網)型DB N対M 高速 銀行オンラインなど DBMS例:IMS ネットワーク型 ③関係型DB(次のスライド) 表で管理する DBMS例:DB2、Oracle、Access、 Microsoft SQL Server データベース 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 4 関係型DB(Relational DataBase) 列 表の集合(p236) ①行 Record ②列 Field ③表 Table 行 商品名 単価 PV60 123,000 BPR720 56,800 MO230 98,500 主キー(PrimaryKey) 別の行と区別できる「識別列」 (一意、同じ値がない) 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 5 キー(p236) ★他の表の主キーを参照している列 主キー 外部キー 社員番号 社員名 部署番号 年齢 34567 吉田太郎 330 45 34234 山野晶子 120 19 32456 後藤士郎 349 32 :リレーション) これで「山野晶子」が 「営業課」であることがわかる もう1つ 外部キー があります 部署番号 120 330 349 主キー 『データベース』 部署名 部署長社員番号 営業課 23456 人事課 34567 総務課 32345 行 列 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 6 (3)データベース管理システム(DBMS 、p229) データを蓄積するための枠組みと 検索の仕組みを 提供するソフトウェア 多くの人が 同時に (直接)操作言語 プログラム (操作言語) データベース管理システム (DBMS) データベース (大量) 挿入、更新、削除 検索 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 7 DBMSの機能(p229) データベース定義(⑤データ構造の変更機能) 利用権限 データ操作(③データの取出し機能) 操作言語 トランザクション管理 詳細説明は 後で(次回も含めて) (①同時実行制御機能、②データの一貫性保証機能) リカバリ処理(④障害復旧機能) 運用管理 インデックスなど再編成 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 8 ②データベースの設計 (ここでは「RDBの正規化」を中心に) 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 9 (1)データベース設計の流れ ①データ分析(p231) データの洗い出し/データの整理 画面設計(第12回で) ここは「流れ」を理解 ②データ設計(p233) E-R図(後期第5回で) ③表の設計(p239) ・・・データ間の関係を明確に ・・・データを「関係表」で表す 正規化(この後) 制約/ビュー/インデックス/アクセス権(次回) 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 10 (2)データベース設計ー正規化(p239) データの重複、矛盾が起こらないように 適正に表を分割する 履修テーブル まずデータを “長い”「表」(テーブル) で表現する → 「表」 を正規化(分割)する 学 学 科 科 科 単 教 教 成 生 生 目 目 目 位 員 員 績 番 名 番 名 区 番 名 号 号 分 号 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 11 正規化の手順(1、履修テーブルを例にして) 成績は ← 学生番号、科目番号 キー 学 生 番 号 科 成 目 績 番 号 データ「成績」 を決めるキーは? 残りは 学 科 科 単 教 教 生 目 目 位 員 員 名 名 区 番 名 分 号 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 12 正規化の手順(2) 学 科 科 単 教 教 生 目 目 位 員 員 名 名 区 番 名 分 号 (残りのデータを対象に) 学生名は ← 学生番号 残りは 『データベース』 科 科 単 教 教 目 目 位 員 員 名 区 番 名 分 号 キ ー 学 学 生 生 番 名 号 データ「学生名」 を決めるキーは? (C)Copyright, Toshiomi KOBAYASHI,2009-2015 13 正規化の手順(3) 科 科 単 教 教 目 目 位 員 員 名 区 番 名 分 号 (さらに残ったデータを対象に) キー「科目番号」 で決まるデータは? 科目番号で → 科目名、科目区分、単位、教員番号 キ ー 科 科 科 単 教 目 目 目 位 員 番 名 区 番 号 分 号 残りは 『データベース』 教 員 名 データ「教員名」は キー「教員番号」で決まる (C)Copyright, Toshiomi KOBAYASHI,2009-2015 14 正規化の結果 主キー 学 生 番 号 科 成 目 績 番 号 「主キーだけ」で 決まる「列」ごとに テーブル分割する テーブル間の関係を 「外部キー」で表す 外 部 学 学 生 生 番 名 号 主キー 『データベース』 外部 科 科 科 単 教 目 目 目 位 員 番 名 区 番 号 分 号 主キー (C)Copyright, Toshiomi KOBAYASHI,2009-2015 教 教 員 員 番 名 号 主キー 15 正規化された実際のデータ(例) 学生番号 科目番号 成績 915110023 134 92 915110023 155 88 915110023 165 65 915310056 135 77 915310059 135 54 教員の担当変更があっても 1行のみの変更で =「データの整合性維持」 (p240) 外 部 科目番号 科目名 科目区分 単位 教員番号 134 情報処理論 基幹A 2 201 →255 135 情報処理論 基幹A 2 255 155 応用情報処理論 基幹B 2 201 165 情報システム論 専門 2 201 外 部 学生番号 915110023 915110056 915110059 『データベース』 学生名 阿部 井上 岡部 外 部 正規化されていないと 科目番号134履修者の 全データ変更が必要 教員番号 教員名 201 小林 255 福永 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 16 正規化の練習:次のテーブルを正規化しなさい 売上テーブル 年 得 得 得 月 意 意 意 日 先 先 先 コ 名 支 ー 店 ド コ ー ド 得 意 先 支 店 名 商 商 数 単 品 品 量 価 コ 名 ー ド (1)商品は得意先支店に売る。 (2)商品が決まれば単価も決まる。 (3)得意先支店が決まれば得意先は決まる。 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 17 売上テーブル 商品マスタ 年 得 商 数 月 意 品 量 日 先 コ 支 ー 店 ド コ ー ド 商 商 単 品 品 価 コ 名 ー ド (2)商品が決まれば 単価も決まる (1)商品は得意先支 店に売る 『データベース』 (3)支店が決まれば 得意先も決まる (4)コードが決まれば 名称も決まる 支店マスタ (一般ルール) 得 意 先 支 店 コ ー ド 得 意 先 支 店 名 得 意 先 コ ー ド 得 意 先 名 支店マスタ 得意先マスタ 得 意 先 支 店 コ ー ド 得 意 先 コ ー ド 得 意 先 支 店 名 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 得 意 先 コ ー ド 得 意 先 名 18 End 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 19 データベース(2) ③データ操作(RDB前提) ④トランザクション処理 ⑤データウェアハウス(DWH) 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 20 ③データ操作 データ抽出などの操作方法 (RDBを前提として) 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 21 (1)関係型DBの操作言語(SQL/DML) Structured Query Language SELECT(p243) 選択 射影 結合 DBMSの機能(前回) ③データの取出し機能 INSERT UPDATE DELETE 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 22 関係演算(select、p244) 商品名 売上月 数量 PV60 1月 13 BPR720 1月 18 MO230 1月 3 PV60 2月 15 BPR720 2月 20 MO230 2月 5 商品名 単価 PV60 123,000 BPR720 56,800 MO230 98,500 結合 Select * from 売上表 where 売上月 = “1月” 売上高 商品名 売上月 数量 単価 13 123,000 1,599,000 1月 PV60 18 56,800 1,022,400 BPR720 1月 3 98,500 295,500 MO230 1月 15 123,000 1,845,000 2月 PV60 20 56,800 1,136,000 BPR720 2月 5 98,500 492,500 MO230 2月 選択 商品名 売上月 数量 単価 売上高 PV60 1月 13 123,000 1,599,000 BPR720 1月 18 56,800 1,022,400 MO230 1月 3 98,500 295,500 Select 商品名 from 売上表 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 射 影 商品名 PV60 BPR720 MO230 23 集合演算(教科書にない) 積演算(AND) 和演算(OR) 商品名 PV60 BPR720 MO230 単価 123,000 56,800 98,500 『データベース』 商品名 BPR990 BPR720 MO230 PV60-N 単価 80,000 56,800 98,500 100,000 商品名 BPR720 MO230 単価 56,800 98,500 商品名 単価 PV60 123,000 BPR720 56,800 MO230 98,500 PV60-N 100,000 BPR990 80,000 こういう操作も ときには必要 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 24 (2)関係型DBの定義言語(SQL/DDL) DBMSの機能(前回) ⑤データ構造の変更機能 CREATE(p243) Table、View(p238)、Index(p238) Fieldを定義(型、長さ、・・・) キーには制約(p237) 非NULL制約 一意性制約(主キー) 参照制約(外部キー) 学生番号 915110023 915110056 915110059 学生名 阿部 井上 岡部 DBMSの機能(前回) ②データの一貫性保証機能 GRANT アクセス権(p238、第5回) 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 25 ④トランザクション処理 (p250~) 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 26 (1)トランザクション(Transaction、p250) 依頼元(端末のプログラム)から 処理機構(サーバのプログラム)に 要求する1連の(途切れない) 処理単位 Bさんの残高を読み込む 3万円の入金処理を行う 処理が途中で中断されてしまうと 正しい処理が行われなくなる Bさんの信用を更新する Bさんの残高を書き出す 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 27 (2)排他制御(トランザクションを混線させない、p251) Aさん Aさん Bさん Bさん Aさん Bさん 一瞬遅い 使いたい Lock 使いたい 使いたい 使いたい Unlock Lock 一瞬遅い 使いたい Aと同時 待たせて に処理し てよいか 待たす 処理終わり 自動的に始まる 処理を重ねない Bさん口座:+3万円 処理終わり Unlock Bさん口座:-5万円 Bさん口座:+3万円 Bさん口座:-5万円 DBMSの機能(前回) ①同時実行制御機能 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 28 占有ロック(exclusiveロック) Lockにも2種類ある データの参照も許さない 共有ロック(shareロック) データの更新(削除)だけをロックする 効率は良いが・・・ 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 29 (3)障害発生に備えたバックアップ バックアップの考え方:第5回 データベース特有の障害対応 ログファイル(p252) ログファイル 更新処理 (ジャーナルファイル) ●更新前情報 ●更新後情報 をDBMSが保存 ※回復に利用する 『データベース』 定期的に データベース バックアップ ファイル (C)Copyright, Toshiomi KOBAYASHI,2009-2015 (p202) 30 (4)リカバリ処理 ロールバック(動的回復、p252) DBMSの機能(前回) ④障害復旧機能 トランザクション開始前の状態に回復する DBMSが自動的に行う – ログファイルを使って ロールフォワード(静的回復、p252) 障害直前の状態に回復する 手動で行う – バックアップデータと ログファイルを使って 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 31 ⑤データウェアハウス (p72) 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 32 DWH(Data Warehouse、p72) 経営管理の意思決定を支援するデータ の集合 顧客別、商品別、・・・ 売上、コスト、・・・ 特徴 目的別のデータマート 基幹DB データマート (売上) データマート (経費) ホスト・コンピュータ 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 33 DWHのイメージ 目的別に=> DataMart 操作例 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 34 データマイニング(p72) 種々の統計解析手法を用いて 大量のデータから 隠れた関係性や意味を見つけ出す手法 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 35 End 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 36 Link先 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 37 参照制約のデータ(例) 学生番号 科目番号 成績 915110023 134 92 915110023 155 88 915110023 165 65 915310056 135 77 915310059 135 54 (戻る) 教員333は存在しない (参照制約指定があれば) 「応用情報処理論」行は 挿入できない 外 部 科目番号 科目名 科目区分 単位 教員番号 134 情報処理論 基幹A 2 201 135 情報処理論 基幹A 2 255 155 応用情報処理論 基幹B 2 333 165 情報システム論 専門 2 201 外 部 学生番号 915110023 915110056 915110059 『データベース』 学生名 阿部 井上 岡部 外 部 教員番号 教員名 201 小林 255 福永 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 38 DWHでの分析(Slice) 期間 (すべて) 合計 : 売上高 製品 ステレオ テレビ ビデオ 総計 地区 東部 南部 1980 1380 1680 5040 北部 1890 1290 1590 4770 1800 1300 1500 4600 総計 5670 3970 4770 14410 地域別・製品別の売上げ 期間 1月 合計 : 売上高 地区 東部 南部 北部 総計 製品 ステレオ テレビ ビデオ 総計 360 160 260 780 330 130 230 690 300 200 200 700 990 490 690 2170 1月の地域別・製品別の売上げ 『データベース』 期間 2月 合計 : 売上高 地区 東部 南部 北部 総計 製品 ステレオ テレビ ビデオ 総計 660 460 560 1680 630 430 530 1590 600 400 500 1500 1890 1290 1590 4770 2月の地域別・製品別の売上げ (C)Copyright, Toshiomi KOBAYASHI,2009-2015 39 Dice 製品 (すべて) 合計 : 売上高 地区 東部 南部 北部 総計 期間 1月 2月 3月 780 690 700 2170 1680 1590 1500 4770 2580 2490 2400 7470 総計 5040 4770 4600 14410 (すべて) 合計 : 売上高 製品 ステレオ テレビ ビデオ 総計 期間 1月 2月 990 490 690 2170 3月 1890 1290 1590 4770 (すべて) 合計 : 売上高 製品 ステレオ テレビ ビデオ 総計 地区 東部 南部 1980 1380 1680 5040 北部 1890 1290 1590 4770 1800 1300 1500 4600 総計 5670 3970 4770 14410 地域別・製品別の売上げ 地域別・期間別の売上げ 地区 期間 2790 2190 2490 7470 総計 5670 3970 4770 14410 期間別・製品別の売上げ 『データベース』 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 40 DrillDown (戻る) 発注日と販売店の集計表 95年で関東地区の詳細内容 多層化した データを 掘下げて分析の 視点を追求する 『データベース』 関東地区で95年第4四半期の詳細内容 (C)Copyright, Toshiomi KOBAYASHI,2009-2015 41
© Copyright 2024 ExpyDoc