データベース入門

データベース入門
Introduction of Database
大岩研究会
ウェブアプリケーション研究会
川勝名奈恵
+
CreWの先輩方
今日の流れ
• 概念編 データベースを知ろう
• 実習編 データベースを使ってみよう
概念編 -目標
• データベースとは何かを自分の言葉で説明で
きる
-DBの構成要素を説明できる
-DBとDBMSの違いを説明できる
• データベースを使う利点を説明できる
掲示板における保存データとは?
• サブゼミ疑問掲示板で保存していたデータっ
て何でしょうか?
– 投稿者、投稿日時、タイトル、内容…
データの保存方法
• それらのデータをどこに保存していました
か?
– ファイルでしたね
• ファイル以外にも保存方法があります
– 今回は…
– データベースという保存方法を利用します
データベースとは?
• データベースという言葉は聞いたことがある
けれど…
• データベースって何でしょう?
ファイルによる保存/読み込み
Servlet
ファイル入出力に関する
処理の記述
ファイルへの入出力処理
が複雑になれば
記述も複雑に
ファイル
具体的には…
Servlet
1.杉浦君が
6月19日に投稿した
内容を探す
非常に複雑
かつ
処理に時間がかかる
2.投稿内容を保存する
3.保存された内容を
新しいものに更新する
ファイル
4.保存すべき場所を探す
5.更新されたデータを
ファイルに書き込む
データベースが使えると
データの操作は
DBMSが
行ってくれる
Servlet
DBMS
「何」をするかの指示
DB
具体的には…
杉浦くんの
投稿データを
変更する操作を行う
Servlet
6月19日の杉浦くんの
投稿内容を
“JDKって何”に
変更する
DBMS
DB
データベースの構成
一般的に使われている
「データベース」の定義
正確には
「データベースシステム」
です
DBMS
管理
DB
「データベース」
構成要素の解説
• DB(データベース):データの集まり
• DBMS(データベースマネジメントシステム):
データベースを管理するもの
• データベースシステム:DB+DBMS
DBMSがDBを管理する仕組みのこと
ファイルに保存する場合の欠点
• データを取ってくるためには複雑な処理を記
述しなければいけない
• データの格納ルールが変わると処理を書き
直さなければならない
• 処理が複雑で処理速度が遅い
ファイルの代わりにDBを使った場合
の利点
• データの処理を記述する手間を省ける(指令
だけで良い)
• データを格納するルールを定め、かつ保証で
きる
• 処理速度が速い
• 実際にデータの処理をしてくれるのはDBMS
でしたね
• ではDBMSにはどのような機能があるので
しょうか
DBMSの機能
•
•
•
•
記憶管理機能
問い合わせ処理機能
アクセス制御機能
トランザクション機能
などがあります
記憶管理機能
• データの構造とルールを規定し、データベースを管理
します
id
name
gimon
1
川勝名奈恵
データベースって何ですか
2
阿部雅美
JDKのインストール方法は?
3
岸健司
web.xmlの書き方が分からない
問い合わせ処理機能
• 指令に書かれた処理(具体的にはデータの
追加、更新、削除など)を素早く行います
– SQLという言語を使って操作します(SQLについ
ては後で説明します)
• ユーザは指令をどのように実施するかを記述
する必要がなくなります
– どのデータをどう更新すると書いておけば更新方
法を書かなくても良いのです
アクセス制御機能
• データの内容によってアクセスできる人を制
御できます
– 例えば掲示板では管理者と一般ユーザによって
得られるデータを変えられます
トランザクション機能
• 操作に一貫性を持たせ、データの整合性を保
ちます
– 一連の操作が終わるまで他の操作は受け付けま
せん
様々なデータベース
• データベースが扱うことができるデータの構
造には様々な種類があります
• 扱うデータの構造によってデータベースは種
類分けされています
リレーショナルデータベース
• 表構造でデータを格納して扱うデータベースです
• よく使われているデータベースの種類です
id
name
gimon
1
川勝名奈恵
データベースって何ですか
2
阿部雅美
JDKのインストール方法は?
3
岸健司
web.xmlの書き方が分からない
• 今回はこのデータベースを使って実習をします