Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

千葉大学情報検索演習2018 データベースとは何か(事前学習教材)

48 visualizaciones

Publicado el

千葉大学で開講された情報検索演習2018で用いられた事前楽手教材のスライドです

Publicado en: Educación
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

千葉大学情報検索演習2018 データベースとは何か(事前学習教材)

  1. 1. データベースとは何か 千葉大学アカデミック・リンク・センター 池田光雪, 常川真央 情報検索演習 事前学習教材
  2. 2. ● データベースの概要とその意義 ● RDBMSの概要 ● SQLによるデータベース操作 ● 授業で行うこと 本動画の構成 2 23
  3. 3. データベースの概要とその意義 3 23
  4. 4. ● コンピュータを用いるあらゆるシステムは 必ず何かしらのデータを扱っている – 教務システム  学籍,科目,成績等のデータ – 図書館システム  資料,貸出記録,利用者等のデータ ● システム上で扱うデータを整合的に保持し, いつでも利用可能な状態にしておくための 仕組みがデータべース(database) – データベースという用語が定着したのは1970年代 データベースとは 4 23
  5. 5. ● 同じデータが複数個所に分散して存在し, データの不整合が起こる – ある学生の連絡先や所属,学年等が ファイルAとファイルBによって異なる  ⇔キー制約や参照性制約による整合性の維持 ● 一貫性や耐障害性が保証されない – 同じ銀行口座から複数人が同時に引き出そうすると 残高が取引額より余分に増える/減ることがある  ⇔DBMSにより一貫性,耐障害性を担保 ● データが膨大になることに比例して 検索に非常に時間がかかる  ⇔インデクスにより高速な検索を可能に もしもデータベースが存在しなかったら 5 23
  6. 6. ● データ(data)とは, ある形式に整えられた事実のこと ● 受け手の持っている知識(knowledge)を 増加させるデータが情報(information) ● データを情報にするためには,何らかの文脈や 観点に従い集約・加工する必要がある ● 例) – データ:個々の試験での獲得点 – 情報:試験の獲得点から算出した評定 データと情報 6 23
  7. 7. ● 特定の目的のために集められた データの集合である – データは共有かつ統合されている ● コンピュータでアクセス可能である ● 特別な構造により体系的に整備されている ● 専用の管理システム(database management system: DBMS)によって高度に管理される – データが格納されたデータベースと, それを管理するDBMSをまとめて データベースシステムという データベースの特徴 7 23
  8. 8. ● コンピュータにおいて,データはファイルとして プログラム毎に組織化されている ● データベースシステムはプログラムと 独立して管理運用される 「データは共有かつ統合されている」とは 8 23 データベース DBMS プログラム プログラム プログラム プログラムプログラム ファイル プログラム ファイル データベースシステム ファイルファイルファイル ファイルファイルファイル ファイル
  9. 9. ● データベースとして一元的にデータを管理する ことによりデータの重複を避ける – ファイルでは同じデータが複数のファイルに 存在することにより不整合が生じうる  例えば,複数のファイルに存在するデータを 部分的に更新してしまうと全体として 一貫性が損なわれる ● 複数ユーザが同時に利用するための仕組みも 提供される – 同じデータを同時に更新しようとしても 問題を生じさせないような仕組み 「データは共有かつ統合されている」とは 9 23
  10. 10. ● データベースを関係(relation)の集まりとして 管理する – 関係は表(table)の形式で表現することができる  ただし,順序関係の有無など厳密には 表と関係は異なる 関係データベース(relational database: RDB) 10 23 教務データ 時間調査 学籍番号 授業 サークル 15A298 5 1 15B961 5 0 … … … 学籍番号 所属 評定 15A298 文学部 4 15B961 理学部 4 … … … データベース 関係名 関係
  11. 11. ● 関係は属性(attribute)の集合からなる – 属性は属性名と,その属性が取りうる値を規定する 定義域(domain)からなる  文字列,整数など – 定義域に適合する何らかの値を属性値という 関係データベース|属性と属性値 11 23 属性 属性値 学籍番号 所属 評定 15A298 文学部 4 15B961 理学部 4 … … … 教務データ 属性名
  12. 12. ● 属性の集合とその属性値からなるデータ構造を 組(tuple)という – 組において属性間に順序は存在しない 関係データベース|組 12 23 組 学籍番号 所属 評定 15A298 文学部 4 15B961 理学部 4 … … … 教務データ
  13. 13. ● ここまでで述べた属性,組は関係モデルの 用語だが,別概念による呼称が存在する – 関係データベース管理システム(relational database management system: RDBMS)の 問合せ言語であるSQLでは列,行と呼ぶ – ファイルシステムではフィールド,レコードと呼ぶ  英語での読みも含めると5組の呼称があるが, 概ね同じものを指していると考えてよい 属性,組の様々な呼称 13 23 関係モデル SQL ファイルシステム 属性(attribute) 列(column) フィールド(field) 組(tuple) 行(row) レコード(record)
  14. 14. RDBMSの概要 14 23
  15. 15. ● 表の作成,修正,削除 – どのような列を設定するか – 各列はどのような属性を持つのか ● 表へのデータの追加,修正,削除 – 射影  必要な列のみを抽出 – 選択  条件に応じて必要な行を抽出 – 結合  複数の表に共通して存在する列を元に, 複数の表を組み合わせる RDBMSの機能 15 23
  16. 16. 必要な列のみを抽出する 射影 16 23 図書ID 書名 著者名 発行年 出版者 a0001 データベース入門 新田福太郎 2020 尾等入社 a0002 図書館概論 金丸敏宏 2041 慎重社 a0004 図書館情報技術論 川上康子 2033 慎重社 a0005 情報検索演習 田端奈保美 2041 尾等入社 書名 著者名 発行年 データベース入門 新田福太郎 2020 図書館概論 金丸敏宏 2041 図書館情報技術論 川上康子 2033 情報検索演習 田端奈保美 2041 射影 (書名, 著者名, 発行年のみ)
  17. 17. 条件に応じ必要な行のみを抽出する 選択 17 23 図書ID 書名 著者名 発行年 出版者 a0001 データベース入門 新田福太郎 2020 尾等入社 a0002 図書館概論 金丸敏宏 2041 慎重社 a0004 図書館情報技術論 川上康子 2033 慎重社 a0005 情報検索演習 田端奈保美 2041 尾等入社 選択 (発行年が2041であるもののみ) 図書ID 書名 著者名 発行年 出版者 a0002 図書館概論 金丸敏宏 2041 慎重社 a0005 情報検索演習 田端奈保美 2041 尾等入社
  18. 18. 複数の表に共通して存在する列を元に,複数の表を 組み合わせる 結合 18 23 図書ID 書名 出版者ID a0001 データベース入門 P001 a0002 図書館概論 P002 a0004 図書館情報技術論 P002 a0005 情報検索演習 P001 結合(出版者IDで結合) 出版者ID 出版者名 所在地 P001 尾等入社 東京都 P002 慎重社 京都府 P003 丸谷学術出版 愛知県 図書ID 書名 出版者ID 出版者名 所在地 a0001 データベース入門 P001 尾等入社 東京都 a0002 図書館概論 P002 慎重社 京都府 a0004 図書館情報技術論 P002 慎重社 京都府 a0005 情報検索演習 P001 尾等入社 東京都
  19. 19. SQLによるデータベース操作 19 23
  20. 20. ● 標準化されたRDBMSの操作命令言語 – E.F.コッドによって考案された関係代数に基づいている ● 1970年代にIBMが開発したSEQUEL(Structured English Query Language)が元となった ● 各種ベンダにより様々な拡張が行われているが, ANSIやISOにより標準化が行われている ● 対象の性質を記述する宣言型言語である – 身近なプログラム言語の多くは手続き型言語であり, 操作をするにあたって処理方法を 詳細に記載する必要がある SQL 20 23
  21. 21. ● 例:「名前」と「所属」という2つの列を持つ 「学生」という表に行を追加する – INSERT INTO 学生(名前, 所属) VALUES ('石動戯作’, '文学部');  宣言的に表や列,追加する行の情報を指定するだけ でよく,どのように追加するかといった 手続きの記述は必要ない SQLにおけるデータ挿入 21 23
  22. 22. ● 例:「GPA」が3以上の学生の「学籍番号」と「所 属」を表「学生簿」からGPA順で抜き出す – SELECT 学籍番号, 所属, GPA FROM 学籍簿 WHERE GPA >= 3 ORDER BY GPA;  選択にはSELECTという命令を用いる  FROM:対象となる表を指定する  WHERE:選択の条件を指定する  SELECT命令の後には表示する列名を指定する SQLにおける選択 22 23
  23. 23. ● 既に存在するデータベースに対し, SQLによる様々な操作を行う – SELECTによる問合せを中心とする – 表が複数に分割されているときの 結合も行う  なぜ表を分割する(正規化する)必要が あるかについて学ぶ ● データベースの構築についてもその概要を学ぶ 授業で行うこと 23 23

×