Soumettre la recherche
Mettre en ligne
データベース09 - データベース設計
•
7 j'aime
•
6,837 vues
Kenta Oku
Suivre
立命館大学 情報理工学部 「データベース」講義スライド 第9回:データベース設計
Lire moins
Lire la suite
Formation
Signaler
Partager
Signaler
Partager
1 sur 45
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
データベース03 - SQL(CREATE, INSERT, DELETE, UPDATEなど)
データベース03 - SQL(CREATE, INSERT, DELETE, UPDATEなど)
Kenta Oku
データベース08 - 関係データモデルと関係代数
データベース08 - 関係データモデルと関係代数
Kenta Oku
データベース02 - SQL概要
データベース02 - SQL概要
Kenta Oku
データベース13 - トランザクションと障害回復
データベース13 - トランザクションと障害回復
Kenta Oku
データベース01 - データベースとは
データベース01 - データベースとは
Kenta Oku
データベース04 - SQL(SELECT:基本)
データベース04 - SQL(SELECT:基本)
Kenta Oku
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
データベース10 - 正規化
データベース10 - 正規化
Kenta Oku
Recommandé
データベース03 - SQL(CREATE, INSERT, DELETE, UPDATEなど)
データベース03 - SQL(CREATE, INSERT, DELETE, UPDATEなど)
Kenta Oku
データベース08 - 関係データモデルと関係代数
データベース08 - 関係データモデルと関係代数
Kenta Oku
データベース02 - SQL概要
データベース02 - SQL概要
Kenta Oku
データベース13 - トランザクションと障害回復
データベース13 - トランザクションと障害回復
Kenta Oku
データベース01 - データベースとは
データベース01 - データベースとは
Kenta Oku
データベース04 - SQL(SELECT:基本)
データベース04 - SQL(SELECT:基本)
Kenta Oku
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
データベース10 - 正規化
データベース10 - 正規化
Kenta Oku
データベース入門
データベース入門
拓 小林
なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?
Yoshitaka Kawashima
データベース12 - トランザクションと同時実行制御
データベース12 - トランザクションと同時実行制御
Kenta Oku
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
増田 亨
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
データモデリング・テクニック
データモデリング・テクニック
Hidekatsu Izuno
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
PostgreSQLアンチパターン
PostgreSQLアンチパターン
Soudai Sone
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
Ryoma Nagata
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
イベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
BigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用する
Google Cloud Platform - Japan
Sql基礎の基礎
Sql基礎の基礎
Satomi Tsujita
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
増田 亨
SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料
Hironori Miura
モデルベース要件定義 at BPStudy
モデルベース要件定義 at BPStudy
Zenji Kanzaki
データベースシステム論02 - データベースの歴史と今
データベースシステム論02 - データベースの歴史と今
Shohei Yokoyama
Data Visualization Japan Meetup 2018: 長く変化に対応する
Data Visualization Japan Meetup 2018: 長く変化に対応する
Keiichiro Ono
Contenu connexe
Tendances
データベース入門
データベース入門
拓 小林
なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?
Yoshitaka Kawashima
データベース12 - トランザクションと同時実行制御
データベース12 - トランザクションと同時実行制御
Kenta Oku
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
増田 亨
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
データモデリング・テクニック
データモデリング・テクニック
Hidekatsu Izuno
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
PostgreSQLアンチパターン
PostgreSQLアンチパターン
Soudai Sone
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
Ryoma Nagata
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
イベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
BigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用する
Google Cloud Platform - Japan
Sql基礎の基礎
Sql基礎の基礎
Satomi Tsujita
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
増田 亨
SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料
Hironori Miura
モデルベース要件定義 at BPStudy
モデルベース要件定義 at BPStudy
Zenji Kanzaki
Tendances
(20)
データベース入門
データベース入門
なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?
データベース12 - トランザクションと同時実行制御
データベース12 - トランザクションと同時実行制御
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
データモデリング・テクニック
データモデリング・テクニック
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
PostgreSQLアンチパターン
PostgreSQLアンチパターン
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
イベント・ソーシングを知る
イベント・ソーシングを知る
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
BigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用する
Sql基礎の基礎
Sql基礎の基礎
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料
モデルベース要件定義 at BPStudy
モデルベース要件定義 at BPStudy
Similaire à データベース09 - データベース設計
データベースシステム論02 - データベースの歴史と今
データベースシステム論02 - データベースの歴史と今
Shohei Yokoyama
Data Visualization Japan Meetup 2018: 長く変化に対応する
Data Visualization Japan Meetup 2018: 長く変化に対応する
Keiichiro Ono
地図を片手にアジャイル開発
地図を片手にアジャイル開発
Zenji Kanzaki
Synapse lakedatabase
Synapse lakedatabase
Ryoma Nagata
Usage-Driven Database Design Chapter4
Usage-Driven Database Design Chapter4
OsakiKota
TAM 新人ディレクター システムスキルアップ プログラム 第6回 「データベース」
TAM 新人ディレクター システムスキルアップ プログラム 第6回 「データベース」
(株)TAM
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
Recruit Technologies
ドメイン駆動設計入門
ドメイン駆動設計入門
増田 亨
Panel Discussion@WebDB forum 2014
Panel Discussion@WebDB forum 2014
Makoto Yui
SQL Server 入門
SQL Server 入門
Tsuyoshi Kitagawa
「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?
Keiichiro Ono
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案
Toshiyuki Shimono
[db tech showcase Tokyo 2018] #dbts2018 #D24 『異種データベース間データ連携ウラ話 ~ 新しいデータベースを試...
[db tech showcase Tokyo 2018] #dbts2018 #D24 『異種データベース間データ連携ウラ話 ~ 新しいデータベースを試...
Insight Technology, Inc.
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Preferred Networks
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
日本マイクロソフト株式会社
ソフトウェア開発活動のデータとアナリティクスの3原則
ソフトウェア開発活動のデータとアナリティクスの3原則
Shuji Morisaki
Datalake最新情報セミナー
Datalake最新情報セミナー
mtanaka0111
Oracle Data Minerハンズオンセミナー170927:②Oracle data minerハンズオン資料
Oracle Data Minerハンズオンセミナー170927:②Oracle data minerハンズオン資料
オラクルエンジニア通信
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
Shinji Takao
Find Your Ability: IA for a novice Web Creator
Find Your Ability: IA for a novice Web Creator
Nobuya Sato
Similaire à データベース09 - データベース設計
(20)
データベースシステム論02 - データベースの歴史と今
データベースシステム論02 - データベースの歴史と今
Data Visualization Japan Meetup 2018: 長く変化に対応する
Data Visualization Japan Meetup 2018: 長く変化に対応する
地図を片手にアジャイル開発
地図を片手にアジャイル開発
Synapse lakedatabase
Synapse lakedatabase
Usage-Driven Database Design Chapter4
Usage-Driven Database Design Chapter4
TAM 新人ディレクター システムスキルアップ プログラム 第6回 「データベース」
TAM 新人ディレクター システムスキルアップ プログラム 第6回 「データベース」
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
ドメイン駆動設計入門
ドメイン駆動設計入門
Panel Discussion@WebDB forum 2014
Panel Discussion@WebDB forum 2014
SQL Server 入門
SQL Server 入門
「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案
[db tech showcase Tokyo 2018] #dbts2018 #D24 『異種データベース間データ連携ウラ話 ~ 新しいデータベースを試...
[db tech showcase Tokyo 2018] #dbts2018 #D24 『異種データベース間データ連携ウラ話 ~ 新しいデータベースを試...
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
ソフトウェア開発活動のデータとアナリティクスの3原則
ソフトウェア開発活動のデータとアナリティクスの3原則
Datalake最新情報セミナー
Datalake最新情報セミナー
Oracle Data Minerハンズオンセミナー170927:②Oracle data minerハンズオン資料
Oracle Data Minerハンズオンセミナー170927:②Oracle data minerハンズオン資料
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
Find Your Ability: IA for a novice Web Creator
Find Your Ability: IA for a novice Web Creator
Dernier
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
yuitoakatsukijp
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ssusere0a682
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ssusere0a682
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
Takayuki Itoh
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
Tokyo Institute of Technology
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
Dernier
(7)
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
データベース09 - データベース設計
1.
データベース 第9回 データベース設計 1 2015年6⽉4⽇(⽊) 7・8時限 担当:奥 健太
2.
これから学習する内容 2 データベース設計について学ぶ CREATE DATABASE CREATE
TABLE データベース設計 エンドユーザ 結果 データベース 問合せ(クエリ) データベース アプリケーション 要求 応答 復習
3.
データベース設計編での学習⽬標 3 基礎となるデータモデルを理解する データベース設計の⽅法を理解する 何をデータとして表現し,データ間の関係を どう定義すべきか
どのように関係データモデルに落とし込むべ きか どのようにテーブルを設計すべきか データの冗⻑性と不整合問題の解消⽅法を理解する データベースプログラミングの⽅法を理解する
4.
データベース設計編 回 ⽇付 テーマ 8
5/28 関係データモデルと関係代数 9 6/4 データベース設計 10 6/11 正規化 11 6/18 データベースとプログラム 4
5.
本⽇の講義で学ぶこと 5 概念設計 論理設計 物理設計 3層スキーマモデル
6.
図書館データベースを設計せよ 6 ミッション
7.
データベース設計⼿順 7 現実の世界 概念データモデル 1. 概念設計 2. 論理設計 論理データモデル 3.
物理設計 物理データモデル
8.
データベース設計⼿順 8 現実の世界 1. 概念設計 2. 論理設計 論理データモデル 3.
物理設計 物理データモデル (1) 実体の抽出 (2) 実体間の関連の抽出 (3) 主キーと属性の定義 概念データモデル
9.
(1) 実体の抽出 実体 (entity) 実際にデータベースが対象とする実世界で存在するも ののうち,データベースとして表現すべき対象物 ひと,組織 場所,建物 もの 会員
図書館員 書籍 施設 9
10.
(2) 実体間の関連の抽出 10 関連 (relationship) 実体同⼠の相互関係 会員 図書館員書籍 施設 返却貸出 購⼊ 配架 N
N 1 N M M 1 N
11.
1 1 1 N M
N カーディナリティ 11 実体間の量的関係
12.
監督と球団 1対1 12 監督 球団契約 1 1 監督 番号 監督名 88
原 86 和⽥ 79 緒⽅ 球団 記号 球団名 G 読売ジャイアンツ T 阪神タイガース C 広島東洋カープ ⼀⼈の監督は⼀つの球団と契約する ⼀つの球団は⼀⼈の監督と契約する
13.
学⽣ 番号 学⽣名 19 藤浪 67 岩崎 11
⼤⾕ 学⽣と研究室 1対多,多対1 13 学⽣ 研究室所属 N 1 研究室 番号 研究室名 86 和⽥研 80 栗⼭研 ⼀⼈の学⽣は⼀つの研究室に所属する ⼀つの研究室には複数の学⽣が所属する
14.
学⽣ 番号 学⽣名 6 ⾦本 39 ⽮野 42
下柳 学⽣とサークル 多対多 14 学⽣ サークル所属 N M サークル 番号 サークル名 201 釣り 202 トレーニング 203 格闘技 ⼀⼈の学⽣は複数のサークルに参加する ⼀つのサークルには複数の学⽣が参加する
15.
⽒名 (3) 主キーと属性の定義 15 会員 図書館員書籍 施設 返却貸出 購⼊ 配架 N N 1 N M
M 1 N ⽒名会員番号 図書館員番号 資料番号 書籍名 著者 出版社 施設番号 施設名 所在地 貸出⽇ 返却⽇ 購⼊⽇ 配架⽇
16.
主キーの選定基準 16 値ができるだけ変わらないもの できるだけ桁数の少ないもの 必ず値が存在すること (NULLがあってはならない) ユニークな値を有する 複合キーでの連結が多くならない
17.
⽒名 概念データモデル 17 会員 図書館員書籍 施設 返却貸出 購⼊ 配架 N N 1 N M M 1 N ⽒名会員番号 図書館員番号 資料番号 書籍名 著者 出版社 施設番号 施設名 所在地 E-R
(Entity-Relationship) モデル 実体と関連と属性で表現する データモデルであり,ER図 で記述する 貸出⽇ 返却⽇ 購⼊⽇ 配架⽇
18.
データベース設計⼿順 18 現実の世界 1. 概念設計 2. 論理設計 論理データモデル 3.
物理設計 物理データモデル (1) 概念データモデルから 論理データモデルへの変換 (2) 正規化 概念データモデル
19.
(1) 概念データモデルから論理データモデルへの変換 19 i) 実体を関係に変換 会員(会員番号,⽒名) 図書館員(図書館員番号,⽒名) 書籍(資料番号,書籍名,著者, 出版社) 施設(施設番号,施設名,所在地)
20.
(1) 概念データモデルから論理データモデルへの変換 20 ii) 多対多の関連を処理 会員(会員番号,⽒名) 図書館員(図書館員番号,⽒名) 書籍(資料番号,書籍名,著者, 出版社) 施設(施設番号,施設名,所在地) 貸出(会員番号,資料番号,貸出⽇) 返却(会員番号,資料番号,返却⽇)
21.
(1) 概念データモデルから論理データモデルへの変換 21 iii) 1対多,多対1の関連を処理 会員(会員番号,⽒名) 図書館員(図書館員番号,⽒名) 施設(施設番号,施設名,所在地) 書籍(資料番号,書籍名,著者, 出版社,施設番号,配架⽇,購 ⼊図書館員番号,購⼊⽇) 貸出(会員番号,資料番号,貸出⽇) 返却(会員番号,資料番号,返却⽇)
22.
22 i) 実体を関係に変換 ii) 多対多の関連を処理
双⽅の実体の主キーと関連の属性を含んだ関係 を作成 iii) 1対多,多対1の関連を処理 1側の実体の主キーと関連の属性を,多側の実 体に対応した関係に追加 iv) 1対1の関連を処理 ⽚⽅の実体の主キーと関連の属性を,他⽅の実 体に対応した関係に追加 (1) 概念データモデルから論理データモデルへの変換
23.
論理データモデル 23 会員(会員番号,⽒名) 図書館員(図書館員番号,⽒名) 施設(施設番号,施設名,所在地) 書籍(資料番号,書籍名,著者,出版社,施設 番号,配架⽇,購⼊図書館員番号,購⼊⽇) 貸出(会員番号,資料番号,貸出⽇) 返却(会員番号,資料番号,返却⽇) 関係データモデルは論理データモデルの⼀つ
24.
データベース設計⼿順 24 現実の世界 1. 概念設計 2. 論理設計 論理データモデル 3.
物理設計 物理データモデル (1) 概念データモデルから 論理データモデルへの変換 (2) 正規化 概念データモデル
25.
正規化 回 ⽇付 テーマ 8
5/28 関係データモデルと関係代数 9 6/4 データベース設計 10 6/11 正規化 11 6/18 データベースとプログラム 25 第10回(次回)講義で詳しく学ぶ データの冗⻑性と不整合問題の解消⽅法を 理解する
26.
データベース設計⼿順 26 現実の世界 1. 概念設計 2. 論理設計 論理データモデル 3.
物理設計 物理データモデル (1) DBMSの選定 (2) テーブル設計 (3) インデックス設計 概念データモデル
27.
(1) DBMSの選定 27 DBMSによって機能や特⻑が異なる 機能や特⻑を踏まえ,DBMSを選定する
28.
(2) テーブル設計 28 カラム名 データ型
制約 member_id INT PRIMARY KEY, REFERENCES member(id) resource_id INT PRIMARY KEY, REFERENCES resource(id) checkout_date DATE NOT NULL CREATE TABLE checkout ( member_id INT REFERENCES member(id), resourc_id INT REFERENCES resource(id), checkout_date DATE NOT NULL, PRIMARY KEY(member_id, resource_id) ); 貸出(会員番号,資料番号,貸出⽇)
29.
回 ⽇付 テーマ 12
6/25 トランザクションと同時実⾏制御 13 7/2 トランザクションと障害回復 14 7/9 データベース構造とインデックス (3) インデックス設計 29 第14回講義で詳しく学ぶ インデックスを設計することで効率的な データアクセスを可能にする
30.
データベース設計⼿順 30 現実の世界 1. 概念設計 2. 論理設計 論理データモデル 3.
物理設計 物理データモデル 概念データモデル
31.
データとアプリケーションの接続 31 物理的な記憶領域 アプリケーション側からみると, いくつもの⾒え⽅が存在 データの構造やアクセス⽅法を変更すると, アプリケーション側も作り替える必要が発⽣ アプリケーション1 アプリケーション2
32.
データとアプリケーションの接続 32 内部スキーマ 物理的な記憶領域 概念スキーマ 外部スキーマ1 外部スキーマ2 アプリケーション1 アプリケーション2
33.
3層スキーマモデル 33 内部スキーマ 物理的な記憶領域 概念スキーマ 外部スキーマ1 外部スキーマ2 アプリケーション1 アプリケーション2
34.
3層スキーマ • 概念スキーマ – 開発者側の視点からデータベースをみたもの.デー タベース全体を表現した構造.特定のアプリケー ションに依存しない構造を定義する.論理データモ デルに対応する. •
外部スキーマ – アプリケーションやユーザ側の視点からデータベー スをみたもの.アプリケーションで必要な部分のみ の構造を定義する.ビューとよぶこともある. • 内部スキーマ – 物理的な視点からデータベースをみたもの.データ の物理的な格納表現を⽰す構造.データベース内の 構造を定義する. 34
35.
概念スキーマ = 論理データモデル 35 会員(会員番号,⽒名) 図書館員(図書館員番号,⽒名) 施設(施設番号,施設名,所在地) 書籍(資料番号,書籍名,著者,出版社,施設 番号,配架⽇,購⼊図書館員番号,購⼊⽇) 貸出(会員番号,資料番号,貸出⽇) 返却(会員番号,資料番号,返却⽇) 例;図書館データベース
36.
アプリケーションで必要な部分のみの構造を定義 アプリケーションの数だけ外部スキーマが存在 外部スキーマ CREATE
VIEW 貸出状況 AS SELECT 貸出日, 書籍名, 施設名 FROM 貸出, 書籍, 施設 WHERE 会員番号=1234 AND 書籍.資料番号=貸出.資料番号 AND 書籍.施設番号=施設.施設番号; 例;会員番号1234の貸出状況ビュー 施設 書籍 貸出 貸出状況ビュー CREATE VIEW貸出⽇ 書籍名 施設名 2015.04.10 MySQL メディアセンター ... ... ...
37.
フィールド レコード ファイル 内部スキーマ 37 会員番号 ⽒名 1 ⿃⾕ 3
関本 4 上本 1 ⿃⾕ 3 関本 4 上本 ディスク関係 データの物理的な格納表現を⽰す構造 ファイル編成法やインデックスに関連 ※ファイル編成法やインデックスの詳細ついては第14回講義で学ぶ
38.
3層スキーマモデル 38 内部スキーマ 物理的な記憶領域 概念スキーマ 外部スキーマ1 外部スキーマ2 アプリケーション1 アプリケーション2
39.
3層スキーマモデル 39 内部スキーマ 物理的な記憶領域 概念スキーマ 外部スキーマ1 外部スキーマ2 論理的データ独⽴性 概念スキーマが変更されても,アプリケーション側の データ利⽤⽅法には影響しない アプリケーション1 アプリケーション2
40.
アプリケーション1 アプリケーション2 3層スキーマモデル 40 内部スキーマ 物理的な記憶領域 概念スキーマ 外部スキーマ1 外部スキーマ2 物理的データ独⽴性 物理的なファイル編成や実装⽅式の変更があっても, その変更が概念スキーマには影響しない
41.
3層スキーマとデータモデル 41 現実の世界 論理データモデル 物理データモデル 対応 内部スキーマ 概念スキーマ 外部スキーマ 概念データモデル
42.
まとめ 42 概念設計 論理設計 物理設計 3層スキーマモデル
43.
まとめ 43 実体と関連の抽出 概念データモデルとE-R図 概念データモデルから論理データモデルへの変換 DBMSの選定,テーブル設計,インデックス設計 概念スキーマ,外部スキーマ,内部スキーマ 論理的データ独⽴性と物理的データ独⽴性 3層スキーマとデータモデル
44.
本⽇学習したキーワード 〜データベース設計編〜 44 1事実1箇所 繰返しグループ 第三正規形 3層スキーマモデル
更新不整合問題 第⼆次正規化 ER図 削除不整合 第⼆正規形 E-Rモデル 差集合演算 タプル(組) JDBC θ結合演算 直積演算 インスタンス θ⽐較可能 等結合演算 カーディナリティ 次数 導出属性 概念スキーマ ⾃然結合演算 ドメイン(定義域) 概念設計 実体 内部スキーマ 概念データモデル 射影演算 濃度 外部スキーマ 修正不整合 ⾮正規形 関係(リレーション) 商演算 物理設計 関係スキーマ 推移関数従属性 物理的データ独⽴性 関係代数 選択演算 部分関数従属性 関係データベース(RDB) 挿⼊不整合 論理設計 関係(リレーショナル) データモデル 属性(アトリビュート) 論理データモデル 関係名 属性値 論理的データ独⽴性 完全関数従属性 第⼀次正規化 和集合演算 関連 第⼀正規形 和両⽴ 共通(積)集合演算 第三次正規化
45.
これまでに学習したキーワード 〜データベース設計編〜 45 1事実1箇所 繰返しグループ 第三正規形 3層スキーマモデル
更新不整合問題 第⼆次正規化 ER図 削除不整合 第⼆正規形 E-Rモデル 差集合演算 タプル(組) JDBC θ結合演算 直積演算 インスタンス θ⽐較可能 等結合演算 カーディナリティ 次数 導出属性 概念スキーマ ⾃然結合演算 ドメイン(定義域) 概念設計 実体 内部スキーマ 概念データモデル 射影演算 濃度 外部スキーマ 修正不整合 ⾮正規形 関係(リレーション) 商演算 物理設計 関係スキーマ 推移関数従属性 物理的データ独⽴性 関係代数 選択演算 部分関数従属性 関係データベース(RDB) 挿⼊不整合 論理設計 関係(リレーショナル) データモデル 属性(アトリビュート) 論理データモデル 関係名 属性値 論理的データ独⽴性 完全関数従属性 第⼀次正規化 和集合演算 関連 第⼀正規形 和両⽴ 共通(積)集合演算 第三次正規化
Télécharger maintenant