データを効率よく管理するデータベースの仕組み

学習の目的

  • 1. データが増えると何が起こる?

  • 2. データを効率よく管理するデータベース

  • 3. データベースの種類を知ろう

  • 4. DBMS(データベース管理システム)の役割

1. データが増えると何が起こる?

みなさんの身の回りには、たくさんのデータがあります。

  • 生徒名簿
  • 成績
  • 図書の貸出記録
  • スマートフォンの連絡先

簡単にデータを管理するには、表計算ソフト(スプレッドシート)がよく使われます。

少ないデータなら、スプレッドシートで管理しても問題ありません。

しかし、データの量が増えてくると、困ったことが起こります。

表だけで管理すると起こりやすい問題

  • 同じ情報を何度も入力する
  • 修正し忘れて内容がバラバラになる
  • 必要なデータを探すのに時間がかかる
  • 複数人で使うと上書きしてしまう

あ…Excelで名簿を直してて、 どれが正しいのか分からなくなったことあるかも。

それは、同じ情報を何度も入力していることが原因ですね。

直す場所が増えるほど、修正漏れがでてきてしまいます。

そうなんだよなー
きちんと直したつもりでも、直し忘れているところがあるんだよな。

その通りです。

こうした問題を防ぐために使われるのが、 データベースです。

2. データを効率よく管理するデータベース

表だけで管理すると起こりやすい問題を解決するために使われるのが、 データベース です。

データベースとは、関連するデータを整理してまとめたものです。

えっ?
データを集めただけじゃなくて、整理をするのか。

はい!

データベースは、後から使いやすいようにどうやってデータを整理して保存するか まで考えられています。

この「データの整理のしかた」のことを、 データモデルといいます。

データモデルってなんだろう⋯
ちょっと難しそう。

大丈夫です。

データをどんな形で整理するか を決める考え方が、データモデルです。

データベースには、いくつか代表的な データモデルがあります。

代表的なデータモデル

  • 階層型データベース
    データを親子関係(木構造)で管理する方法
  • ネットワーク型データベース
    データ同士を網の目のように結び付けて管理する方法
  • 関係データベース(リレーショナルデータベース)
    表(テーブル)を使って、IDでデータを関連付ける方法
  • NoSQL
    表にこだわらず、柔軟な形でデータを管理する方法

データのつながり方にも、いろいろな考え方があるんだね。

その通りです。

この授業では、その中でも 関係データベースを中心に学んでいきます。

3. データベースの種類を知ろう

データベースは、データを「ただ保存する」だけではありません。 どのような形で整理して保存するかまで考えられています。

このようなデータの整理のしかたを、データモデルといいます。

データモデルにはいくつかの種類があり、 目的や扱うデータの特徴によって使い分けられます。

代表的なデータベースの種類(データモデル)

種類 どんな形で整理する? イメージ図
階層型データベース 親 → 子の順に、 木(ツリー)の形で整理する
ネットワーク型データベース データ同士を 網の目のようにつないで整理する
関係データベース
(リレーショナルDB)
データを 表(テーブル)に分けて整理し、 IDでつなげる
NoSQL 表の形にこだわらず、 自由な形で整理する

NoSQLは、表形式以外の方法でデータを管理するデータモデルの総称で、SNS投稿などのデータで利用されています。

NoSQLの具体的なデータモデルには「キー・バリュー型」、「カラム指向型」、「グラフ指向型」などがあります。

現在使われている多くのデータベースは、 関係データベース(リレーショナルDB)と NoSQLです。

関係データベースは、学校の名簿や成績表だけでなく、銀行・ネットショップ・予約システムなど、正確さが求められる場面で広く使われています。

一方で、AIの学習データやSNSの投稿のように、データの形がバラバラで量が多い場合は、NoSQLが向いています。

こうした関係データベースを、 人が手作業で管理するのは大変です。

データを安全に、正しく、効率よく管理するために、専門の管理システム「DBMS(データベース管理システム)」が必要になります。

次は、この DBMSがどんな役割をしているのか を見ていきましょう。

4. DBMS(データベース管理システム)の役割

データベースを管理しているソフトウェアを、 DBMS(DataBase Management System、データベース管理システム) と呼びます。

データベースとDBMSって、違うものなんだ。

いいところに気づきました。

たとえるなら、

  • データベース:データそのもの(本)
  • DBMS:管理する仕組み(図書館の司書)

DBMSの主な役割

  • データを保存する
  • 必要なデータをすばやく探す
  • データを更新・削除する
  • 複数人が同時に使えるようにする
  • 勝手に見られないように守る

DBMSは、データを正しく・安全に・安心して使えるようにするための、いくつかの大切な性質を持っています。

DBMSに備わっている主な性質

性質 説明 学校の例
データの一貫性 同じデータは、どこから見ても同じ内容である 名簿の氏名が、どの画面でも同じ表記になっている
データの整合性 データ同士のつじつまが合っている状態を保つ クラスが1Aなのに、別の担任が混ざらない
データの独立性 データの変更が、使うプログラムに影響しない 成績の項目を追加しても、名簿の表示がそのまま使える
データの機密性 見てよい人だけが、必要なデータを見られる 生徒は自分の成績だけ、先生は全員分を見られる
データの可用性 必要なときに、いつでも使える状態を保つ 授業中にシステムが止まらず、すぐに名簿を確認できる

こうした性質があるから、 DBMSはたくさんの人が同時に使っても安心なのです。

データを間違えずに、みんなで同時に使えるように、DBMSが裏で管理してくれているのですね。

実際に使われているDBMSには、次のようなものがあります。

主なDBMS

  • Oracle Database
  • MySQL / MariaDB
  • SQLServer
  • SQLite
  • PostgreSQL
  • MongoDB

データベースやDBMSには、いろいろな考え方や仕組みがありますが、まずは実際にデータを操作してみることが大切です。

次は、スプレッドシートを使って、データを探したり、並べ替えたりしてみましょう。

情 報 こ と ば キ ー ワ ー ド

データベース

大量のデータを整理して、安全に、効率よく管理する仕組み。

データモデル

保存方法や管理方法など、データの管理方法のこと。

階層型データベース

データを「親 → 子」の順に、 木(ツリー)の形で整理するデータモデル。

ネットワーク型データベース

データ同士を 網の目のようにつないで整理するデータモデル。

関係データベース(リレーショナルDB)

データを表(テーブル)に分けて整理し、 IDでつなげるデータモデル。

NoSQL

表の形にこだわらず、 自由な形で整理するデータモデル。

DBMS

データを安全に、正しく、効率よく管理するデータベースを管理するシステムのこと。

データの一貫性

DBMSの性質で、同じデータは、どこから見ても同じ内容であること。

データの整合性

DBMSの性質で、データ同士のつじつまが合っている状態を保つこと。

データの独立性

DBMSの性質で、データの変更が、使うプログラムに影響しないこと。

データの機密性

DBMSの性質で、見てよい人だけが、必要なデータを見られること。

データの可用性

DBMSの性質で、必要なときに、いつでも使える状態を保つこと。

Well done!

次のステップに進みましょう!

次のステップに進む

← 前のステップにもどる