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