リレーショナル・データベース データベース論 第10回.

Slides:



Advertisements
Similar presentations
データベースの基礎知識 ACEESS の基本操作. データベースの基礎知識 データベース  特定のテーマや目的に毎のデータの集合体 データベースソフトウェア  データベースを作成、管理するソフトウェアの総 称 Oracle(Oracle) IBM(DB2) Microsoft(SQL Server)
Advertisements

情報基礎 A 第 4 週 データベースと表計算 情報基礎 A 第 4 週 データベースと表計算 1 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
コンピュータ演習 Excel 入門 岡田孝・山下雅啓 Excel の機能は膨大 その中のごく一部を紹介 表計算機能 – データの入力、表の作成、計算など グラフ機能 – 棒グラフ、円グラフなどグラフ作成 データベース機能 – 並べ替え(ソート)、検索、抽出など マクロ機能 – VBA で自動化したマクロを作成可能.
AdventNet SwisSQL データベース自動移行ツール.
実践!DB逆設計 ~レシートからER図を起こす~
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
情報理工学部 情報システム工学科 ラシキアゼミ 3年 H 井奈波 和也
第3回参考文献発表 PHP言語 岩永逸平.
Shimatterシステムの 初期モデルの正規化
MySQLに接続するデータベースプログラム
知識情報演習Ⅲ(後半第1回) 辻 慶太(水)
続 Entity Framework 入門 SQLWorld #8 サヴロウ.
伺か with なでしこ 発表者:しらたま /05/05 うかべん大阪#3.
SQL J2EE I 第3回 /
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
データベースS 第3回 クリッカー配布 2015/4/22 A~Jの箱の中から、自分の学生番号に対応するID番号のラベルが貼られたクリッカーを受け取ること。 教壇 A ~ C D ~ F G ~ J A C E G I 学生番号 ID
第6章 トランザクション管理 6.1 トランザクションの概念 6.2 同時実行制御 6.3 障害回復.
RDBMSについて 2年7組  小鹿 慎太郎.
セッション管理 J2EE I 第9回 /
セマンティクスを利用した 図書検索システム
JavaBeans とJSP データベース論 第5回.
JSFによるWebアプリケーション開発 第6回
Web上で管理・利用できる 面接予約データベースシステムの構築
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
14.テーブル定義,一対多の関係,多対多の関係, 外部キー,索引(インデックス),データベース操作
朝日大学大学院 経営学研究科 奥山 徹 データベース論 朝日大学大学院 経営学研究科 奥山 徹 2006/05/29 データベース論(7回目)
データベース設計 データベース設計 第0回 オリエンテーション 坂口利裕.
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
マイクロソフト Access を使ってみよう 第4回
Javaによる Webアプリケーション入門 第9回
Javaによる Webアプリケーション入門 第5回
15.同時実行制御,トランザクション, データベースの回復
データベース設計 第2回 データベースモデル(1)
2003年度 データベース論 安藤 友晴.
データベースシステム入門 9.従属,従属関係,第三正規形
JDBC J2EE I 第4回 /
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
第1回.リレーショナルデータベースを使ってみよう
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
JDBC データベース論 第12回.
Javaによる Webアプリケーション入門 第7回
コンピュータ概論B ー ソフトウェアを中心に ー #09 データベース (後編)
データモデリング モデルの基本作法.
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
オブジェクト指向言語論 第十四回 知能情報学部 新田直也.
JDBC J2EE I (データベース論) 第5回 /
情報システム1及び演習 第一回 データベースの概要.
3.リレーショナルデータベース,主キー, SQL
JDBC ソフトウェア特論 第3回.
14.外部キー,データ分析,データベース設計
第4章 データ構造 p.82 [誤] ハミルトニアン経路問題  [正] ハミルトン閉路問題 p.82,83 [誤] セールスパーソン問題
E-R図 井上卓也.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
データベース設計入門 初音玲.
データベース設計入門 初音玲.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
Javaによる Webアプリケーション入門 第4回
関係データベースとSQL MZ Platform講習会(上級).
リレーショナル・データベース J2EE I (データベース論) 第2回 /
磯野ー!そんなことより 正規化しようぜー!
データベース第3回目 意味ごとにテーブルを分ける
ネットワークプログラミング 05A1302 円田 優輝.
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
Microsoft Office 2010 クイックガイド ~Excel編~
SQL J2EE I (データベース論) 第3回 /
SQL データベース論 第11回.
第8章 データベースシステムの発展 8.1 オブジェクトリレーショナルデータベース 8.2 分散データベース 8.3 インターネットとデータベース.
Presentation transcript:

リレーショナル・データベース データベース論 第10回

きょうの内容 リレーショナルデータベースの概要を知る。 リレーショナルデータベースのテーブルの作り方を知る。

データベースとは何か データベース = データを蓄積したもの データモデル = データベース中のデータ整理の方法 文字情報 (商品の情報、名簿、記事など) 画像、映像 データモデル = データベース中のデータ整理の方法 リレーショナルモデル、オブジェクト指向モデルなど 「データベース管理システム」でデータベースを管理する。

データベース管理システムの役割 トランザクション 同時アクセスへの対応 高速なアクセス データの整合性の維持 いくつかの処理をひとまとめにしたもの 同時アクセスへの対応 高速なアクセス データ量が増えても速く処理できる データの整合性の維持 不都合なデータを入れないようにできる。例えば銀行の残高にアルファベットを入れないようにできる。

トランザクション (1) いくつかの処理をひとまとめにしたもの。例えば口座Aから口座Bに1万円を振り込む処理。 口座Aから1万円を引く 口座Bに1万円を足す こうした処理は、ひとまとめになっていなければならない。上の例で、1で処理が途切れると困る。

トランザクション (2) トランザクションの途中で処理が中段した場合 それまでの処理を取り消し、なかったことにする これを「ロールバック」と言う あるトランザクションを実行しているあいだ、別のトランザクションの実行を止めることができる。

データベースを利用したシステム データベース管理システムの処理内容を自分で作るのはとても面倒 トランザクション 高速なアクセス データの整合性の維持

リレーショナルデータベース (関係データベース) リレーショナルモデルを用いる 現在のデータベースの標準 多くの商用・オープンソースのシステムがある Oracle Microsoft SQL Server PostgreSQL (オープンソース) MySQL (オープンソース) HSQLDB (オープンソース)

リレーショナルデータベースの仕組み 「データベース」は、「テーブル」から構成される 「テーブル」は、「行」から構成される 「行」は、「項目」から構成される no title author publisher 42377 伽藍とバザール 山形浩生訳 光芒社 42872 Java言語で学ぶデザインパターン入門 結城浩 著 ソフトパンク

SQL リレーショナルデータベースを操作するための言語。

主キー (1) テーブルでは、重複した行を無くすようにする。つまり、1行1行がそれぞれ違っているようにする。 ということは、テーブル中の特定の1行を選び出すには、最悪でもすべての項目を指定すればよい。 特定の1行を選び出すのに必要な項目の組を「主キー」と言う。実際には、ある特定の1つの項目が主キーとなるようにする。

主キー (2) このテーブルでは、“Number” が主キーとなる(学籍番号には重複がないから) 姓や名だと、同姓同名がいると困る 項目名 意味 Number 学籍番号 Family_name 姓 Last_name 名

正規化 テーブル設計のルール 正規化によって、適切に分割された、保守しやすいテーブルを作成できる。正規化されたテーブルを「正規形」と呼ぶ。 正規化にはさまざまな段階がある。通常は第三正規形くらいまで。 第一正規形、第二正規形、第三正規形、Boyce-Codd 正規形、第四正規形、第五正規形、ドメインキー正規形

第一正規形 (1) テーブルの項目には、複数の値を入れることはできない。

第一正規形 (2) だめな例 No タイトル 著者 出版社 keyword 42872 Java言語で学ぶデザインパターン入門 結城浩 著 結城浩 著 ソフトパンク Java デザインパターン

第一正規形 (3) 第一正規化されたテーブルの例 No タイトル 著者 出版社 keyword 42872 Java言語で学ぶデザインパターン入門 結城浩 著 ソフトパンク Java デザインパターン

関数従属 このテーブルの主キーは「No」と「keyword」 タイトル 著者 出版社 keyword 42872 Java言語で学ぶデザインパターン入門 結城浩 著 ソフトパンク Java デザインパターン

第二正規形 (1) 第二正規形 = 主キーが複数あるとき、主キーの一部にだけ関数従属している項目を、別のテーブルに移す。 この例では、 「タイトル」「著者」「出版社」という項目が「No」に関数従属している。 そこで、「No」「タイトル」「著者」「出版社」からなるテーブルを別に作成する。

第二正規形 (2) 第二正規化されたテーブルの例 第二正規形 (2) 第二正規化されたテーブルの例 no タイトル 著者 出版社 42872 Java言語で学ぶデザインパターン入門 結城浩 著 ソフトパンク no keyword 42672 Java デザインパターン

外部キー no タイトル 著者 出版社 42872 Java言語で学ぶデザインパターン入門 結城浩 著 ソフトパンク 結城浩 著 ソフトパンク それぞれのテーブルには「no」という項目がある。この項目を通じて2つのテーブルを結合できる。 no keyword 42672 Java デザインパターン   ↑ この「no」が外部キー。元のテーブルを参照できる。

第三正規形 (1) このテーブルでは、「出版社の所在地」が「出版社」に関数従属している。 第三正規形 = 主キーではないキーに関数従属している項目を、別のテーブルに移す。 no タイトル 著者 出版社 出版社の 所在地 42872 Java言語で学ぶデザインパターン入門 結城浩 著 ソフトバンク 東京

第三正規形 (2) 第三正規化されたテーブルの例 第三正規形 (2) 第三正規化されたテーブルの例 no タイトル 著者 出版社 42872 Java言語で学ぶデザインパターン入門 結城浩 著 ソフトパンク 出版社 出版社の所在地 ソフトバンク 東京