リレーショナル・データベース J2EE I (データベース論) 第2回 / 2004-04-21.

Slides:



Advertisements
Similar presentations
セッション管理 ソフトウェア特論 第 8 回. ここでの内容 セッション管理の基本を知る。 HttpSession の使い方を知る。
Advertisements

年度 J2EE II 稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴. 2 この講義の位置づけ 3年前期の「データベース論 (J2EE I) 」に続く講義。 「データベース論」の講義内容を理解 していることが前提。
データベースの基礎知識 ACEESS の基本操作. データベースの基礎知識 データベース  特定のテーマや目的に毎のデータの集合体 データベースソフトウェア  データベースを作成、管理するソフトウェアの総 称 Oracle(Oracle) IBM(DB2) Microsoft(SQL Server)
実践!DB逆設計 ~レシートからER図を起こす~
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
リレーショナル・データベース データベース論 第10回.
第3回参考文献発表 PHP言語 岩永逸平.
Shimatterシステムの 初期モデルの正規化
MySQLに接続するデータベースプログラム
Excel による データベース入門 Ver /9.
ファイルやフォルダを検索する ①「スタート」→「検索」→「ファイルとフォルダ」とクリックする。
知識情報演習Ⅲ(後半第1回) 辻 慶太(水)
続 Entity Framework 入門 SQLWorld #8 サヴロウ.
伺か with なでしこ 発表者:しらたま /05/05 うかべん大阪#3.
SQL J2EE I 第3回 /
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
     年  月  日 名前 太郎 1 班.
RDBMSについて 2年7組  小鹿 慎太郎.
セッション管理 J2EE I 第9回 /
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
セマンティクスを利用した 図書検索システム
タグライブラリとJSP J2EE II 第2回 2004年10月7日 (木).
JavaBeans とJSP データベース論 第5回.
Web上で管理・利用できる 面接予約データベースシステムの構築
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
14.テーブル定義,一対多の関係,多対多の関係, 外部キー,索引(インデックス),データベース操作
朝日大学大学院 経営学研究科 奥山 徹 データベース論 朝日大学大学院 経営学研究科 奥山 徹 2006/05/29 データベース論(7回目)
データベース設計 データベース設計 第0回 オリエンテーション 坂口利裕.
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
Javaによる Webアプリケーション入門 第9回
15.同時実行制御,トランザクション, データベースの回復
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
データベースシステム入門 9.従属,従属関係,第三正規形
JDBC J2EE I 第4回 /
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
第1回.リレーショナルデータベースを使ってみよう
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
JDBC データベース論 第12回.
Javaによる Webアプリケーション入門 第7回
     年  月  日 名前 太郎 1 班.
     年  月  日 名前 太郎 x 班.
P2P概説 P2P概説 第2回 /
コンピュータ概論B ー ソフトウェアを中心に ー #09 データベース (後編)
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
オブジェクト指向言語論 第十四回 知能情報学部 新田直也.
JDBC J2EE I (データベース論) 第5回 /
データベース設計 第6回 DBMSの機能と操作方法(3) フォームとレポート
3.リレーショナルデータベース,主キー, SQL
JDBC ソフトウェア特論 第3回.
14.外部キー,データ分析,データベース設計
第4章 データ構造 p.82 [誤] ハミルトニアン経路問題  [正] ハミルトン閉路問題 p.82,83 [誤] セールスパーソン問題
E-R図 井上卓也.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
データベース設計入門 初音玲.
データベース設計入門 初音玲.
情報基礎演習I(プログラミング) 6月8日 水曜5限 江草由佳
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
関係データベースとSQL MZ Platform講習会(上級).
磯野ー!そんなことより 正規化しようぜー!
データベース第3回目 意味ごとにテーブルを分ける
ネットワークプログラミング 05A1302 円田 優輝.
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
第1回.リレーショナルデータベースを使ってみよう
SQL J2EE I (データベース論) 第3回 /
プログラミング演習II 2004年11月 2日(第3回) 理学部数学科・木村巌.
SQL データベース論 第11回.
Presentation transcript:

リレーショナル・データベース J2EE I (データベース論) 第2回 / 2004-04-21

この講義について 次の2つで評価します 前期末試験は行いません。 3~4回(予定)のレポート 出席(救済措置の意味が強い) 前期末試験は行いません。 http://www.wakhok.ac.jp/~tomoharu/db2004/

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

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

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

トランザクション (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) テーブルの項目には、複数の値を入れることはできない。 だめな例 No タイトル 著者 出版社 keyword 42872 Java言語で学ぶデザインパターン入門 結城浩 著 ソフトバンク Java デザインパターン

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

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

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

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

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

参照整合性制約 「図書」テーブルに「42377」という主キーを持つ行がないとき、「キーワード」テーブルに「42377」の外部キーを持つ行を追加できない。 「キーワード」テーブルに「42377」の外部キーを持つ行があるときに、「図書」テーブルから「42377」という主キーを持つ行を削除できない。

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

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

参考文献・URL UNIXデータベース入門 http://www.wakhok.ac.jp/DB/DB.html 丸山学長によるデータベース入門。内容が古くなりつつありますが、よくまとまっている有益なテキストです。