SlideShare a Scribd company logo
1 of 26
Download to read offline
データベース技術
第2回(2015.10.6)
1
データとは何か?
•データと情報の違い
- データ
• 例:今日の天気は雨、気温25℃、湿度60%
- 情報
• 例:今日は雨だから傘が必要だ。湿度が高い。
人間の頭(脳)で解釈された“意味”のある事柄
ある事柄を伝達し易いよう表現したもの
2
データ管理の課題
•データの重複管理による不整合や管理の無駄
- データの更新情報の伝達ミス
- データの更新作業の抜け
- データの矛盾が発生
•新しい変化に対応しにくい
- 新しい部署や新しいデータへの対応
これらの課題をデータベースを使って解決する
3
データベース
•データベースとは
- 様々な目的を考慮して整理整頓されたデータの集まり
•データベースを利用するメリット
- データを一元管理し、共有できる
- データの矛盾や重複を防ぐことができる
- データを複数の人が同時に利用できる
4
データベースに必要なこと
•データの容易な追加、削除、更新、検索
•大量のデータを高速で処理できる
•データの安全性、機密性を保つ
•データの整合性を保つ
•データの障害回復機能
DBMS(Database Management System)
5
社会の中のデータベースの例
•前回の提出物から
- 図書館蔵書検索システム
- 美術館所蔵作品データベース
•e-Stat:政府統計の総合窓口
- API (Application Programming Interface)の提供
- オープンデータ
•ソーシャルデータ
- Twitter、Facebook、Google+などの
ソーシャルメディア上のデータ
- ブランドや商品の評価に関する分析に利用
6
データベースの必須機能
•データ構造が定義できること
•同時実行制御
•トランザクション機能
•障害回復機能
•対話機能・SQL
•機密保護機能
7
同時実行制御(1)
•データベース更新の際にロックをかける機能
Tシャツ500円セール!
在庫10枚
ショッピングサイト
Aさん
5枚購入
Bさん
3枚購入
Cさん
3枚購入
Dさん
2枚購入
OK OK NG OK
本人たちは9時ちょうどに購入ボタンを押した。
実際は、A,Bが少しだけ早かった。
Cは「在庫切れ」のメッセージが表示され、買えなかった。
DはCより遅かったのに、買うことができた。
8
同時実行制御(2)
•データベース更新の際にロックをかける機能
A:5枚購入
B:3枚購入
C:3枚購入
在庫:10枚
D:2枚購入
在庫:5枚
在庫:2枚
在庫:0枚
更
新
ロック
アンロック
更
新
ロック
アンロック
実際の処理
実際の処理
在庫切れ
更
新
ロック
アンロック
9
トランザクション機能(1)
•トランザクション
- データの登録や更新の1サイクルのこと
•トランザクション機能
- トランザクションを保証する機能
- データベースに下書きをし、矛盾がなければ更新する
- 処理の始めに「トランザクション開始」を宣言
- 処理の修了時に「トランザクション終了」を宣言
- トランザクション終了時にDB更新を行う
10
トランザクション機能(2)
•例:A商品が10個注文された場合
- トランザクション開始を宣言
- トランザクション終了を宣言(実際にDBを更新)
在庫数は100個 A商品 100個
在庫台帳
A商品を10個注文する A商品10個注文
売上帳
在庫数を減らす A商品 90個
在庫台帳
トランザクション
11
トランザクション機能(3)
•ロールバック
- 途中で処理を中断し、トランザクション開始時点にま
で戻る処理
- たとえば下記の場合に実行される
• トランザクション終了までにデータに矛盾が生じた
• データの書き込みに失敗した
12
障害回復機能
•障害発生時点まで、データを回復する機能
•データのバックアップとログが利用される
データ
ベース
時間の流れ
バック
アップ
ログ
ファイル
DB更新のたびに処理内容がログファイルに
書き込まれる
障害発生!
13
Work:障害回復機能
•障害発生時、バックアップとログファイルを 
使って、どうやって障害を回復しますか
•手順を考えてみましょう(5分)
データ
ベース
時間の流れ
バック
アップ
ログ
ファイル
障害発生!
14
対話機能・SQL
•SQL(Structured Query Language)
- データベースに処理内容を伝えるための言語
•例
- 「住所録から20歳の女性を探して名前を教えて」
- SQL
SELECT 名前 FROM 住所録 WHERE 年齢=20 AND 性別=’女性’
SELECT:探す、検索するという行為
FROM :∼からというデータの指定
WHERE:条件を指定する
15
機密保護機能
•データの機密性を高めるための機能
- データベースへのアクセス制限を設ける
- データごとにアクセス制限を設ける
• アクセス権限のある人物のみがデータの検索や更新が可能
- ネットワークに流れるデータを暗号化する
16
データベースの必須機能
•データ構造が定義できること
•同時実行制御
•トランザクション機能
•障害回復機能
•対話機能・SQL
•機密保護機能
17
データベースとプログラム
•プログラムとデータの独立性
- SQLでデータベース処理を行うことにより、プログラ
ムとデータを分けて考えることが可能
- 生産性の向上につながる
データ
ベース
DBMSプログラム
SQL
18
クライアントとサーバ(1)
•ネットワーク上にデータベースが存在する
- クライアント:データを要求する
- サーバ:データを提供する
•代表的な例
- Webシステム
- オンラインゲーム(ドラクエX、FFXIなど)
- スマホアプリ
19
クライアントとサーバ(2)
•クライアント・サーバ方式
データ
ベース
サーバ端末(クライアント)
プログラム
SQL
API
※API:Application Programming Interface
ネットワーク
ライブラリ
ネットワーク
ライブラリ
リスナー
20
クライアントとサーバ(3)
•Webの場合
- サーバをWebサーバとデータベースサーバに分ける
データ
ベース
データベースサーバWebサーバ
Webサービス
API
ネットワーク
ライブラリ
ネットワーク
ライブラリ
リスナーWebアプリ
21
クライアントとサーバ(4)
•メリット
- Webサーバを複数設置可能なため、アクセス数が増え
ても負荷分散ができる
- 個人情報などはWebサーバにおかなくてすむため、 
セキュリティ強化につながる
22
データベースのモデル(1)
•階層型モデル
- データを親と子の階層構造で表現する
- ファイル管理(フォルダ分け)と同じ概念
- 欠点
• 親は複数の子を持てるが、子は複数の親を持てない(1対多)
OX会社
営業部 技術部
第一営業部 第二営業部 第三営業部 設計課 技術課
23
データベースのモデル(2)
•ネットワーク型モデル
- データの関係を網目状に表現
- 欠点
• 関係の定義、変更の複雑さ(多対多)
検索語 A
図書 L
発行所 X
検索語 B 検索語 C
図書 M 図書 N 図書 O
発行所Y
24
データベースのモデル(3)
•リレーショナルモデル
- データを表形式で表す
- データの関係を表と表の関係で表す
- 関係はそれぞれの表で共通の項目(キー)でつなげる
- 利点
• データの独立性が保ちやすい
• 数学的な考え方で処理が行えるため、プログラムからの操作が容易
- 欠点
• 処理負荷が大きい → ハードウェアの進歩により解決されつつある
25
リレーショナルモデルの例
•商品管理データベース
- 商品コードでふたつの表の関係を示している
商品コード 商品名 単価
10 鉛筆 10
20 ボールペン 100
30 ノート 150
売り上げ番号 商品コード 数量
1 10 5
2 30 1
3 20 3
4 30 2
5 10 1
商品表
売上表
26

More Related Content

More from Yuka Obu

データベース技術 12(Database 12)
データベース技術 12(Database 12)データベース技術 12(Database 12)
データベース技術 12(Database 12)Yuka Obu
 
データベース技術 10(Database 10)
データベース技術 10(Database 10)データベース技術 10(Database 10)
データベース技術 10(Database 10)Yuka Obu
 
データベース技術 9(Database 9)
データベース技術 9(Database 9)データベース技術 9(Database 9)
データベース技術 9(Database 9)Yuka Obu
 
データベース技術 7(Database 7)
データベース技術 7(Database 7)データベース技術 7(Database 7)
データベース技術 7(Database 7)Yuka Obu
 
データベース技術 6(Database_6)
データベース技術 6(Database_6)データベース技術 6(Database_6)
データベース技術 6(Database_6)Yuka Obu
 
データベース技術 5(Database_5)
データベース技術 5(Database_5)データベース技術 5(Database_5)
データベース技術 5(Database_5)Yuka Obu
 
ソーシャルメディアワークショップ1
ソーシャルメディアワークショップ1ソーシャルメディアワークショップ1
ソーシャルメディアワークショップ1Yuka Obu
 
企業によるソーシャルアカウント運用のために
企業によるソーシャルアカウント運用のために企業によるソーシャルアカウント運用のために
企業によるソーシャルアカウント運用のためにYuka Obu
 
Twitter in Hitachiohta 3
Twitter in Hitachiohta 3Twitter in Hitachiohta 3
Twitter in Hitachiohta 3Yuka Obu
 
Twitter in Hitachiohta 2
Twitter in Hitachiohta 2Twitter in Hitachiohta 2
Twitter in Hitachiohta 2Yuka Obu
 
Twitter in Hitachiohta 1
Twitter in Hitachiohta 1Twitter in Hitachiohta 1
Twitter in Hitachiohta 1Yuka Obu
 

More from Yuka Obu (12)

データベース技術 12(Database 12)
データベース技術 12(Database 12)データベース技術 12(Database 12)
データベース技術 12(Database 12)
 
データベース技術 10(Database 10)
データベース技術 10(Database 10)データベース技術 10(Database 10)
データベース技術 10(Database 10)
 
データベース技術 9(Database 9)
データベース技術 9(Database 9)データベース技術 9(Database 9)
データベース技術 9(Database 9)
 
データベース技術 7(Database 7)
データベース技術 7(Database 7)データベース技術 7(Database 7)
データベース技術 7(Database 7)
 
データベース技術 6(Database_6)
データベース技術 6(Database_6)データベース技術 6(Database_6)
データベース技術 6(Database_6)
 
データベース技術 5(Database_5)
データベース技術 5(Database_5)データベース技術 5(Database_5)
データベース技術 5(Database_5)
 
ソーシャルメディアワークショップ1
ソーシャルメディアワークショップ1ソーシャルメディアワークショップ1
ソーシャルメディアワークショップ1
 
企業によるソーシャルアカウント運用のために
企業によるソーシャルアカウント運用のために企業によるソーシャルアカウント運用のために
企業によるソーシャルアカウント運用のために
 
Sns 2
Sns 2Sns 2
Sns 2
 
Twitter in Hitachiohta 3
Twitter in Hitachiohta 3Twitter in Hitachiohta 3
Twitter in Hitachiohta 3
 
Twitter in Hitachiohta 2
Twitter in Hitachiohta 2Twitter in Hitachiohta 2
Twitter in Hitachiohta 2
 
Twitter in Hitachiohta 1
Twitter in Hitachiohta 1Twitter in Hitachiohta 1
Twitter in Hitachiohta 1
 

Recently uploaded

レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...yutakashikano1984
 
Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...oganekyokoi
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdfoganekyokoi
 
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイントshu1108hina1020
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfoganekyokoi
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfoganekyokoi
 
International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1Toru Oga
 
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrKARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrRodolfFernandez1
 

Recently uploaded (8)

レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
 
Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdf
 
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdf
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdf
 
International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1
 
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrKARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
 

データベース技術 2(Database_2)