授業用スライド_3PowerPoint

データベース
レシートを見てみよう
• コンビニやスーパーで買物をするときの
レシートを見てみよう
– 何がかいてあるだろうか?
– レジで全部打ち込んでいる?
– なぜ、打ち込まないのにレシートには商品名
や価格が出てくるの?
図書館の本を探す
図書館の検索システムを見てみよう
何を手がかりに探す?
• 書名
• 作者名
• シリーズ名
様々な手がかりで探せるのはなぜだろう?
データを蓄積する
データが蓄積されていると、
いろいろなものを探すことができる
図書館の場合
書名、作者名、シリーズ名、出版社名 等が
登録されているので、どこからでも探すこと
ができる
コンビニなどの場合
バーコードと商品名、価格などを登録してお
くと、バーコードだけで他のことがわかる
データがあると他に何ができる?
• 会員証を忘れても、
電話番号と名前で探してくれる!
• オンラインショップの場合、
以前に買ったものがわかる
• お店の人にとっては、
売れた商品を調べることができる
(よく売れる商品を仕入れることができる)
どっちが探しやすい?
• たとえば、紙に記録してある
次の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つは借りないとすれば、貸
出番号と商品番号で、レコードの区別をする
ことができる
レンタルデータの場合の主キー