SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

翔泳社 新刊紹介(AD)

データベースの基本を図解! データベースの特徴や導入するメリットは?

  • このエントリーをはてなブックマークに追加

 様々な場所・用途で利用されるデータベース。エンジニアとして身近な存在でも、そのしくみをしっかり理解できているか不安のある方もいるかもしれません。今回は基本から学びたいときに役立つ『図解まるわかり データベースのしくみ』(翔泳社)から、「第1章 データベースの基本 ~データベースの概要をつかむ~」の一部を紹介します。

  • このエントリーをはてなブックマークに追加
本記事は『図解まるわかり データベースのしくみ』から「第1章 データベースの基本 ~データベースの概要をつかむ~」の一部を抜粋したものです。掲載にあたり編集しています。

1-1 身の回りにあるデータ

データとデータベース

 身の回りにはたくさんの情報があふれかえっています。例えば、お店で売られている商品の名前や値段、住所録に載っている名前や電話番号、スケジュール帳の日付や予定など、少し周りを見渡すだけでも多くの数値やテキスト、日時に囲まれて私たちは暮らしています。この1つ1つの情報のことをデータと呼んでいます(図1-1)。

図1-1 身の回りにあるデータ
図1-1 身の回りにあるデータ

 1つ1つのデータは、ある1点の事実や資料、状態といったものを表していますが、ケースによっては大量のデータがあったり、体裁がバラバラだったり、いろんな場所に散らばっていたりしているでしょう。このような状態になっていると、データは不便で扱いづらいものになってしまいます。しかし、データをどこか1カ所に整理して集めておけば、いつでも素早く見たい情報を取り出せたり、複数の事実から分析を行って、新たな情報を得られるようになったりします。このように複数のデータを集めて有効に活用できるようにしたものがデータベースです(図1-2)。

図1-2 データベースの役割
図1-2 データベースの役割

データやデータベースの例

 ケーキ屋さんを例に考えてみましょう。商品1つ1つの名前や値段がデータです。これらは商品を購入するお客さんに伝えたり、売上を計算したりするときに使う資料となります。もし経営している立場であれば、これらのデータはバラバラに使うわけではなく、表などで1カ所にまとめてあることでしょう。このように活用しやすいようにデータベースにしておくことで、後からどの商品がいくらなのかを素早く確認できます。

 また、それとは別に売れた商品や個数を記録するために、レジに通した商品の情報を1カ所にまとめてデータベース化しておくことで、後から今日の売上を計算したり、来店人数を集計したりすることができるようになります。

1-2 データベースの特徴

データベースの特徴

 データベースには、おおまかに登録・整理・検索ができるという特徴があります(図1-3)。

図1-3 データベースは登録・整理・検索ができる
図1-3 データベースは登録・整理・検索ができる

 データベースには大量のデータを登録することができ、例えば随時商品データを追加するといったことができます。そしてデータは整理してそれぞれ同じ形式で保存しておくことができます。ケーキで例えるなら「値段」といったデータを持っていますが、これらを100、100円、¥100のようにバラバラのフォーマットではなく、100、100、100のように整頓された形でデータベースに格納されます。これらは必要に応じて編集・削除を行うこともできます。

 このように整理しておくことで、登録したデータの中から必要なデータを検索してすぐに取り出すことができるようになります。例えば商品ごとの値段をデータベースに登録しておけば、後から200円以上の商品だけを取得できますし、売れた商品と日時を保存しておけば、今日の売上を取得することが可能です。このように格納されているデータをもとにした条件を加えて、欲しい情報を抽出することができます。

ショッピングサイトでのデータベースの活用例

 ショッピングサイトの商品管理には、データベースが使われています。管理者が商品ごとに商品名、価格、販売開始日、商品画像URL、紹介文などの情報をデータベースに登録しています。ショッピングサイト上では、このデータベースから商品情報を取り出して内容を表示しています。購入者は、たくさんの商品の中から商品名で検索できたり、価格で絞り込めたりすることができますね(図1-4)。これはデータベースの検索機能によって、実現されています。

図1-4 ショッピングサイトでのデータベース活用例
図1-4 ショッピングサイトでのデータベース活用例

1-3 データベースを動かすシステム

データベース管理システム(DBMS)と役割

 データベースを扱うには、データベースを管理するデータベース管理システムを用います。DataBase Management System の頭文字を取ってDBMSと呼ばれることもあります。データベース管理システムは、データの登録・整理・検索の機能の他、登録するデータに対する制限(数値や日付しか登録できない、空欄が登録できないなど)や、データに矛盾がないように整合性を保つしくみなどが兼ね備えられています。他にも不正アクセスの対策としてデータの暗号化やデータを扱えるユーザーの管理などのセキュリティ面に関わる機能や、障害が起きたときにデータを復旧するしくみが備わっているものもあります(図1-5)。

図1-5 データベース管理システムの役割
図1-5 データベース管理システムの役割

 データを管理するにはさまざまな要件が求められます。このようなシステムを自作しようとすると、大変な時間と労力が必要です。しかし、データベース管理システムを導入すれば、大量のデータを扱うための必要な機能が網羅されているため、データ管理について自身で考える労力が減り、データを登録・整理・検索するという本来の目的に専念することができるようになります(図1-6)。

図1-6 データベース管理システム導入のメリット
図1-6 データベース管理システム導入のメリット

データベース管理システムとデータベースの関係

 データベース管理システムはデータベースの司令塔であり、ここに指示を送ることでデータベースを操作することができます。例えば、データベースにデータを追加したいときは、まずデータベース管理システムに「データを追加したい」という指示を送りその指示に従ってデータベースにデータを登録します(図1-7)。命令を間違えて不正なデータを登録しようとすると、データベース管理システムが登録を中止し、エラーを返します。

図1-7 データベースを操作する流れ
図1-7 データベースを操作する流れ

 このようにデータベース管理システムが、ユーザーとデータベースの間に入って仲介する役割を果たしてくれることで、データベースをより便利に安全に使えるようになっています。

1-4 データベースを導入する理由

データベース管理システムの機能

 データベース管理システムには、データの登録・更新・削除といった基本的な機能の他、以下のような機能が備えられています(図1-8)。

  1. データの並べ替えや検索ができる
     登録されているデータを数値の大小で並べ替えたり、特定の文字列を含むデータを検索したりして、目的のデータをすぐに呼び出すことができます。
  2. 登録するデータの形式や制限を決めておける
     数値や文字列、日付といった保存するデータの形式や、デフォルトで保存しておきたい値、他のデータと値がかぶらないようにするといった制限を指定することができます。
  3. データの矛盾が起こらないようにする
     複数のユーザーが同時に同じデータを編集しようとした場合などに、不整合なデータが発生しないように制御します。
  4. 不正なアクセスを防止する
     ユーザーのアクセス権限の設定やデータの暗号化を行って、機密データを安全に保管します。
  5. 障害時にデータを復旧する
     システム障害によってデータの破損や消失が起きた場合に備えて、データを復旧するしくみがあります。

 データベース管理システムを導入すれば、このようなあらかじめ用意されたデータ管理に必要な機能が使えるようになります。

図1-8 データベース管理システムの機能
図1-8 データベース管理システムの機能

1-5 データベース管理システムの種類

商用とオープンソース

 データベース管理システムには、商用とオープンソースのものがあります。

 商用のデータベース管理システムは、多くの場合企業や個人が開発・販売しており、有料で提供されています。

 オープンソースはソースコードが公開され誰でも自由に使えるようになっているソフトウェアのことで、無料で使えるものが多いです。

 それぞれの特徴について以下でさらに詳しく解説していきます。

商用のデータベース管理システムの特徴

 基本的に有料ですが、さまざまな用途に導入可能にするため拡張できるようになっていたり、機能が豊富であったり、サポートが充実しています。ただし高額な費用がかかることもあるので、コストに見合った恩恵が受けられるか慎重に検討する必要があるでしょう。

 大企業や大規模なシステムに導入されている実績のある製品が多いので、高い信頼性が求められるデータベース管理システムにおいては、商用のものが採用されているケースが多いです。

 代表的な製品として、図1-9のものが挙げられます。

図1-9 代表的な商用のデータベース管理システム
図1-9 代表的な商用のデータベース管理システム

オープンソースのデータベース管理システムの特徴

 無料で使えるものが多いため、機能面や安全性、パフォーマンスが劣っていると思われることがありますが、日々改良が加えられてきており、実用的な場面でも問題なく稼働している事例が数多くあります。ただしサポートはないことが多いので、専門知識がない場合は取り扱いが難しいというデメリットもあります。

 代表的なものとして、図1-10のものが挙げられます。

図1-10 代表的なオープンソースのデータベース管理システム
図1-10 代表的なオープンソースのデータベース管理システム
図解まるわかり データベースのしくみ

Amazon SEshop その他


図解まるわかり データベースのしくみ

著者:坂上幸大
発売日:2021年1月27日(水)
定価:1,680円+税

本書について

データの扱いやシステムを支えるためにデータベースの理解は必須ですが、学ぶべきことは操作の方法から導入・運用時の注意点、アプリケーションとの関連性まで多岐に渡ります。そこで、本書では見開きで1つのテーマを取り上げ、図解を交えて解説しています。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
翔泳社 新刊紹介連載記事一覧

もっと読む

この記事の著者

坂上 幸大(サカガミ コウダイ)

プログラミング入門サイト「プロメモ」の作者 / Webエンジニア。「プロメモ」を通してこれからエンジニアを目指す方向けに、Webアプリケーション開発の基礎知識を発信している。同時にバックエンドを中心とした開発案件への参画や、自らWebサービスの開発・運営も行っている。過去には大手SIerにてインフラ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

渡部 拓也(ワタナベ タクヤ)

 翔泳社マーケティング課。MarkeZine、CodeZine、EnterpriseZine、Biz/Zine、ほかにて翔泳社の本の紹介記事や著者インタビュー、たまにそれ以外も執筆しています。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/13504 2021/01/27 07:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング