1-1 身の回りにあるデータ
データとデータベース
身の回りにはたくさんの情報があふれかえっています。例えば、お店で売られている商品の名前や値段、住所録に載っている名前や電話番号、スケジュール帳の日付や予定など、少し周りを見渡すだけでも多くの数値やテキスト、日時に囲まれて私たちは暮らしています。この1つ1つの情報のことをデータと呼んでいます(図1-1)。
1つ1つのデータは、ある1点の事実や資料、状態といったものを表していますが、ケースによっては大量のデータがあったり、体裁がバラバラだったり、いろんな場所に散らばっていたりしているでしょう。このような状態になっていると、データは不便で扱いづらいものになってしまいます。しかし、データをどこか1カ所に整理して集めておけば、いつでも素早く見たい情報を取り出せたり、複数の事実から分析を行って、新たな情報を得られるようになったりします。このように複数のデータを集めて有効に活用できるようにしたものがデータベースです(図1-2)。
データやデータベースの例
ケーキ屋さんを例に考えてみましょう。商品1つ1つの名前や値段がデータです。これらは商品を購入するお客さんに伝えたり、売上を計算したりするときに使う資料となります。もし経営している立場であれば、これらのデータはバラバラに使うわけではなく、表などで1カ所にまとめてあることでしょう。このように活用しやすいようにデータベースにしておくことで、後からどの商品がいくらなのかを素早く確認できます。
また、それとは別に売れた商品や個数を記録するために、レジに通した商品の情報を1カ所にまとめてデータベース化しておくことで、後から今日の売上を計算したり、来店人数を集計したりすることができるようになります。
1-2 データベースの特徴
データベースの特徴
データベースには、おおまかに登録・整理・検索ができるという特徴があります(図1-3)。
データベースには大量のデータを登録することができ、例えば随時商品データを追加するといったことができます。そしてデータは整理してそれぞれ同じ形式で保存しておくことができます。ケーキで例えるなら「値段」といったデータを持っていますが、これらを100、100円、¥100のようにバラバラのフォーマットではなく、100、100、100のように整頓された形でデータベースに格納されます。これらは必要に応じて編集・削除を行うこともできます。
このように整理しておくことで、登録したデータの中から必要なデータを検索してすぐに取り出すことができるようになります。例えば商品ごとの値段をデータベースに登録しておけば、後から200円以上の商品だけを取得できますし、売れた商品と日時を保存しておけば、今日の売上を取得することが可能です。このように格納されているデータをもとにした条件を加えて、欲しい情報を抽出することができます。
ショッピングサイトでのデータベースの活用例
ショッピングサイトの商品管理には、データベースが使われています。管理者が商品ごとに商品名、価格、販売開始日、商品画像URL、紹介文などの情報をデータベースに登録しています。ショッピングサイト上では、このデータベースから商品情報を取り出して内容を表示しています。購入者は、たくさんの商品の中から商品名で検索できたり、価格で絞り込めたりすることができますね(図1-4)。これはデータベースの検索機能によって、実現されています。
1-3 データベースを動かすシステム
データベース管理システム(DBMS)と役割
データベースを扱うには、データベースを管理するデータベース管理システムを用います。DataBase Management System の頭文字を取ってDBMSと呼ばれることもあります。データベース管理システムは、データの登録・整理・検索の機能の他、登録するデータに対する制限(数値や日付しか登録できない、空欄が登録できないなど)や、データに矛盾がないように整合性を保つしくみなどが兼ね備えられています。他にも不正アクセスの対策としてデータの暗号化やデータを扱えるユーザーの管理などのセキュリティ面に関わる機能や、障害が起きたときにデータを復旧するしくみが備わっているものもあります(図1-5)。
データを管理するにはさまざまな要件が求められます。このようなシステムを自作しようとすると、大変な時間と労力が必要です。しかし、データベース管理システムを導入すれば、大量のデータを扱うための必要な機能が網羅されているため、データ管理について自身で考える労力が減り、データを登録・整理・検索するという本来の目的に専念することができるようになります(図1-6)。
データベース管理システムとデータベースの関係
データベース管理システムはデータベースの司令塔であり、ここに指示を送ることでデータベースを操作することができます。例えば、データベースにデータを追加したいときは、まずデータベース管理システムに「データを追加したい」という指示を送りその指示に従ってデータベースにデータを登録します(図1-7)。命令を間違えて不正なデータを登録しようとすると、データベース管理システムが登録を中止し、エラーを返します。
このようにデータベース管理システムが、ユーザーとデータベースの間に入って仲介する役割を果たしてくれることで、データベースをより便利に安全に使えるようになっています。
1-4 データベースを導入する理由
データベース管理システムの機能
データベース管理システムには、データの登録・更新・削除といった基本的な機能の他、以下のような機能が備えられています(図1-8)。
-
データの並べ替えや検索ができる
登録されているデータを数値の大小で並べ替えたり、特定の文字列を含むデータを検索したりして、目的のデータをすぐに呼び出すことができます。 -
登録するデータの形式や制限を決めておける
数値や文字列、日付といった保存するデータの形式や、デフォルトで保存しておきたい値、他のデータと値がかぶらないようにするといった制限を指定することができます。 -
データの矛盾が起こらないようにする
複数のユーザーが同時に同じデータを編集しようとした場合などに、不整合なデータが発生しないように制御します。 -
不正なアクセスを防止する
ユーザーのアクセス権限の設定やデータの暗号化を行って、機密データを安全に保管します。 -
障害時にデータを復旧する
システム障害によってデータの破損や消失が起きた場合に備えて、データを復旧するしくみがあります。
データベース管理システムを導入すれば、このようなあらかじめ用意されたデータ管理に必要な機能が使えるようになります。
1-5 データベース管理システムの種類
商用とオープンソース
データベース管理システムには、商用とオープンソースのものがあります。
商用のデータベース管理システムは、多くの場合企業や個人が開発・販売しており、有料で提供されています。
オープンソースはソースコードが公開され誰でも自由に使えるようになっているソフトウェアのことで、無料で使えるものが多いです。
それぞれの特徴について以下でさらに詳しく解説していきます。
商用のデータベース管理システムの特徴
基本的に有料ですが、さまざまな用途に導入可能にするため拡張できるようになっていたり、機能が豊富であったり、サポートが充実しています。ただし高額な費用がかかることもあるので、コストに見合った恩恵が受けられるか慎重に検討する必要があるでしょう。
大企業や大規模なシステムに導入されている実績のある製品が多いので、高い信頼性が求められるデータベース管理システムにおいては、商用のものが採用されているケースが多いです。
代表的な製品として、図1-9のものが挙げられます。
オープンソースのデータベース管理システムの特徴
無料で使えるものが多いため、機能面や安全性、パフォーマンスが劣っていると思われることがありますが、日々改良が加えられてきており、実用的な場面でも問題なく稼働している事例が数多くあります。ただしサポートはないことが多いので、専門知識がない場合は取り扱いが難しいというデメリットもあります。
代表的なものとして、図1-10のものが挙げられます。