3PowerPoint(v.2用)

データベース
レシートを見てみよう
• コンビニやスーパーで買物をするときのレ
シートを見てみよう
– 何がかいてあるだろうか?
– レジで全部打ち込んでいる?
– なぜ、打ち込まないのにレシートには商品名や価
格が出てくるの?
図書館の本を探す
図書館の検索システムを見てみよう
何を手がかりに探す?
書名
作者名
シリーズ名
様々な手がかりで探せるのはなぜだろう?
データを蓄積する
• データが蓄積されていると、いろいろなものを
探すことができる。
• 図書館の場合
– 書名、作者名、シリーズ名、出版社名 等が登録
されているので、どこからでも探すことができる
• コンビニなどの場合
– バーコードと商品名、価格などを登録しておくと、
バーコードだけで他のことがわかる
データがあると他に何ができる?
• 会員証を忘れても、電話番号と名前で探して
くれる
• オンラインショップの場合、以前に買ったもの
がわかる
• お店の人にとっては、売れた商品を調べるこ
とができる←よく売れる商品を仕入れることが
できる
どっちが探しやすい?
• たとえば、紙に記録してある次の2つを考え
てみよう
• 1つめの記録の束
– 学年、クラス、名前、性別、クラブが順番に書か
れていて書く場所も決まっている
– 学年、クラス、名前、性別、クラブが書かれている
が、場所は決まっていない
データの残し方
• データをためておけば、いろいろなところに利
用できる
• でも、何も考えずにためておいても、利用しに
くい
– 目的のものを探しにくい
– 計算したりしにくい
データベース
• データを蓄積して利用するためには、効率の
いい方法で、管理しておく必要がある。
• この管理のためにデータベースが使われる
– 特に今は、関係データベースという方法がつかわ
れている
関係データベース
• 表のようにして、データを管理する
レコード
フィールド
フィールドってなに?
• たとえば、Aさんには
– 1年1組
– △△高校
– バスケット部
– ××市にすんでいる
• といったいろいろな特徴がある。
フィールドってなに?
• Bさんにも同じような特徴がある。
– 1年2組
– △△高校
– ハンドボール部
– ◯◯市
フィールドって何?
• これらをグループにしてみよう?
– 1年1組とハンドボール部はグループになる?
– ハンドボール部とバスケット部はグループにな
る?
フィールドって何?
• グループになるもの同士を結びつけて、タイト
ルを付けてみよう
– 1年1組と1年2組
• クラス
•組
– バスケット部とハンドボール部
• クラブ
• 部活動
フィールドとは
• こんなふうに、それぞれがもっている特徴を
グループにして、タイトルをつけることができ
る。
• これをフィールド(属性)という
レコードとは
• AさんやBさんは、フィールドに対して、それぞ
れの答えを持っている
• Aさんのクラブの属性はバスケット部
• Aさんのクラスは1年1組
• というように、AさんやBさんについてだけ属性
の内容を集めたものをレコードという。
関係データベースでは
• 表のかたちにして、
• 縦にフィールド
• 横にレコードを書く
一枚の表で大丈夫?
• なんでもかんでも1枚の表にしておいて大丈
夫?
一枚の表で大丈夫
• これは、1回の貸出のレシート
貸出番号
R0102365
貸出日
2009008
北畠香織(女)
月額 A 会員
1月2日
商品一覧
1
T2011
DVD
めざせ天下統一くにとりものがたり
2
C4967
DVD
ガチガチ山さん
一枚にするとどうなるか
・1回に借りる数が多いとどこまでも横に伸びていく
・どこまで伸びるかわからない
・短い人もいる
管理しにくい
複数の表で管理する
• データを全部1枚にすると管理しにくくなる
複数の表で管理する事が多い
• 複数の表の分け方を正規化という
テーブルのデータの区別
• 名前で区別
• 同姓同名は?
• 住所で区別
• 家族は同じ住所
主キー
• テーブルにあるレコードを区別するための
フィールド
• 顧客のデータであれば、名前や住所ではなく、
顧客番号をつけて管理する
• 生徒も名前やクラスではなく、生徒番号をつ
ける
複数の主キー
• 貸出データのような場合、1回の貸出を貸出
番号にするが、1度に複数借りる場合がある
• 顧客番号や商品番号だけでも難しい
– 同じ顧客が何度も借りる
– 同じ商品も何度も貸し出される
– 1人の顧客が、同じ物を再び借りる
• 同じ物を一度に2つは借りないとすれば、貸
出番号と商品番号で、レコードの区別をする
ことができる
レンタルデータの場合の主キー