ネットショップで昨日注文した商品の履歴、SNSの過去の投稿、銀行の残高——これらは、いったい「どこ」に、「どうやって」残っているのでしょう?
どれも、あなたが操作をやめた後も消えずに残っていますよね。その裏側には、必ず「データを貯めて、後から使える形にしておく仕組み」があります。それが何なのか、想像しながら読み進めてみてください。
データベースとは「データの倉庫」のこと
データベース(Database)とは、ひとことで言えばたくさんのデータを、整理して貯めておき、必要なときにすぐ取り出せるようにした仕組みのことです。
「データ」は数字や文字といった情報のかけら、「ベース(base)」は土台や倉庫のようなもの。つまりデータベースとは、「情報の倉庫」なのです。ただ倉庫に放り込むだけでなく、あとで欲しいものをすぐ見つけられるように整理して貯めておくところがポイントです。
私たちがふだん何気なく使っているアプリやサービスの裏側では、ほぼ必ずデータベースが動いています。あなたがボタンをひとつ押すたびに、その裏でデータベースへの問い合わせが行われているのです。
身の回りにあるデータベースの例
データベースは、決して特別なエンジニアだけのものではありません。すでに私たちの生活のあちこちで働いています。
- ネットショップ ― 商品の在庫数や、あなたの注文履歴
- SNS ― 投稿した文章や写真、フォローしている相手の一覧
- 銀行のアプリ ― 口座の残高や、入出金の記録
- 病院の受付システム ― 患者さんの氏名や診察の履歴
この講座で題材にする宇宙ステーション「アマテラス」も同じです。乗組員の名前や役職、日々のミッションの記録は、すべてデータベースに貯められています。次回以降、このアマテラスのデータを使ってSQLを学んでいきます。
ファイルで管理する方法との違い
「データを貯めておく」だけなら、ExcelのファイルやCSVでもできそうに思えますよね。実際、小さな規模ならそれでも困りません。しかし、データの量や利用者が増えてくると、ファイル管理には限界が見えてきます。
たとえば、同じExcelファイルを2人が同時に開いて編集しようとすると、どちらかの変更が消えてしまうことがあります。何万件ものデータから「条件に合う1件」を探そうとすると、ファイルを開くだけで時間がかかってしまいます。さらに、入力ミスで同じ人の情報が2箇所に矛盾した内容で登録されてしまう、といったことも起こりえます。
データベースは、こうした問題を解決するために作られた専用の仕組みです。多くの人が同時にアクセスしても壊れないよう設計されており、大量のデータの中から必要な情報を一瞬で探し出せます。さらに「年齢は必ず数字」「同じIDは重複させない」といったルールをデータベース自身に守らせることもできます。
データベースが、ExcelのようなただのファイルよりもSQL学習で扱う理由は何でしょう?
答えを見る
大量のデータでも高速に検索でき、複数人が同時にアクセスしても壊れにくく、データの整合性(矛盾のなさ)をデータベース自身が守ってくれるからです。
規模が大きくなるほど、この「壊れにくさ」と「速さ」がものを言います。SQLは、こうしたデータベースに「命令」を出すための言語です。
まだSQL文は一行も出てきていませんが、この講座で学ぶ内容はすべて、SQL DIVERというゲームで実際にタイプしながら体に入れていきます。次回、いよいよそのデータベースの中身——「表(テーブル)」の形について学びましょう。
はじめまして、案内役の由美です! むずかしそうに聞こえる「データベース」だけど、正体は「整理された情報の倉庫」——それだけ覚えれば大丈夫。次は、その倉庫の中身がどんな形をしているか見ていこうね。