データを蓄積し再利用できる

IT化が進んでいる現在 最も活用されているといえるものがデータベースです。

データベース database は、データの基礎・土台、データの基地という意味です。

  • データが蓄積され、再利用できるようになっている

一般的にデータベースというときは、追加したり編集したりすることができるという点で、デジタルデータであるといえます。

このページでは、データベースの例、データベースに関連する用語などについて解説しています。

電話帳

非常に身近な例でいいますと、携帯電話やスマートフォンに入っている電話帳は データベースです。

名前や電話番号、メールアドレスなどが登録されています。

データが蓄積されており、再利用できます。

必要に応じて データを削除したり編集したりすることもできます。

ExcelとAccess

MicrosoftのExcelで作成した名簿やリストもデータベースです。

データを追加したり、条件を付けて 特定のデータだけを表示させることができます。

また MicrosoftのAccessは データベース専用ともいえるソフトウェアです。

データを蓄積し再利用・加工できるように最適化されています。事業所などでは Accessで顧客名簿や商品リスト、請求書・納品書の作成などで使われています。

データベースの例

IT用語でデータベースというときは、商用的に使われているもの・規模の大きなものを指すことが多いです。

そして、慣習的にこのような円柱の図で表わされます。

データベース

あるサービスを利用している会社に電話するとします。カスタマーセンターの方から 会員番号や氏名、電話番号を聞かれます。

そして確認のため生年月日も教えてくださいと言われることもあります。

これは、その会社のカスタマーセンターで端末から、社内のデータベースにアクセスして 情報を確認しているということになります。

社内データベース

また図書館に行ったとしましょう。

本を検索することができるコンピュータがあります。本の名前や著者や出版社の名前から その本がどこにあるか?調べることができます。

図書館データベース

これもデータベース以外の何ものでもありません。

インターネットでのログイン時やネットショッピングなどでも もちろんデータベースは使われています。

例えばネットショップにログインするとしましょう。ログイン時にIDとパスワードを入力し データベースの情報と照らしあわせて 合致したらログインします。

会員情報

データベースから自分用のページが表示されたり、データベースの商品リストにある在庫数などが ページに表示されたりします。データベースと連動しているということです。

買い物かごに入れて決済すれば、データベースが更新され 在庫数は減ります。

このようにインターネット上でのログイン時、ネットショップ、列車や飛行機の予約、検索エンジンなど いたるところにデータベースは活用されています。

フィールドとレコード

データベースそのものは、テーブルというもので構成されています。Excelの表を思い浮かべると分かりやすいです。

横の項目・列をフィールド、カラム、縦の項目・行を レコードといいます。

先程のカスタマーセンターの例でいいますと、会員番号や名前、住所、電話番号、生年月日、性別、入会日などがフィールドで入力されているテーブルがあります。

会員番号や名前を伝えると、テーブルからレコードが抽出されて表示されています。

主キーと外部キー

テーブルでは、行が重複しないように 一意の数字が割り当てられています。

これを、主キー、プライマリキーといいます。例えば、会員番号も重複しないので 主キーになることが多いといえます。

主キーは空の値、NULL ヌル(あるいはナル)になることはありません。

また、テーブルが複数あるときは、外部キーで他のテーブルと結びつけていることもあります。外部キーで他のテーブルを参照することができます。

主キーと外部キー

データベースは、複数のテーブルを関連付けて使用するのが一般的であり、これをリレーショナルデータベースといいます。

入力規則・制約

データを一元的に管理することがきるのが データベースです。

そのため、入力の誤りがないようにするというのが データベースの入力時の約束事のようになっています。

例えば 半角と全角を統一するなどです。先程の会員番号の数字を半角のところを全角で入力したり、空白であったりすると 検索・抽出時に出てこないということもあるからです。

こういうことを避けるために データベースでは値を入力するときに、半角や数値でしか入力できないなど設定することができます。

これを入力規則制約といいます。

並べ替え・ソート

データベースの特徴的な機能が、並べ替えです。

値の大小関係をみて、即時に並べ替えが行われます。昇順・降順がよく使われます。

Excelで 並べ替えの機能を使ったことがある人も多いのではないでしょうか。また通販サイトなどで、評価の高い順・低い順、価格の高い順・低い順、レビューの新しい順・古い順など行うこともあります。見えないところにデータベースがあり、並び替えが行われ 画面に表示されています。

並べ替えは、整列ソートともいいます。

排他制御

あるレコードに対して 複数の端末からアクセスがあり、もし編集しようとするとデータに不整合が生じることがあります。

これを防ぐのが 排他制御といわれるものです。

処理中や編集中のデータがあれば、他からのアクセスを制限します。これをロックといいます。

ロックには、共有ロックと占有ロックがあります。

共有ロック

データの参照・読み取りはできます。書き込みや編集はできません。

共有されているデータやファイルなどで すでに誰かがアクセスしている場合は、他の人がアクセスすると読み取り専用になります。

占有ロック

読み取りも書き込みもできません。ロックが解除されたら アクセスすることができます。

また設計の欠陥などで、デッドロックが起きることがあります。デッドロックとは、複数のデータにそれぞれロックがかかり、アクセスしているユーザーが他のデータのロック解除待ちになっている状態です。

システムが作られる際は デッドロックを防ぐ設計や処理が必要になります。

トランザクション

一連の処理をまとめて、ひとつの処理とすることをトランザクションといいます。

例えば、銀行の振込処理です。

ある口座からある口座へ振込をする場合、振込元の口座からまず残高を減らし、振込先の口座の残高を増やすという2つの処理が行われます。

どちらか一方だけということはありません。

このため、最後の処理が行われたときに 一連の処理が確定されます。これをコミットといいます。

また途中 何らかのトラブルで 処理が中断したりエラーになったときは、すべての処理を取り消して元に戻るロールバックが行われます。

トランザクションは、原子性、一貫性、隔離性、持続性を満たす必要があり、この4つの特性を ACID特性といいます。トランザクションはACID特性を備える必要があります。


データベース管理システム

データベースは、レコードとフィールドからなるテーブルがあります。実体としては見えませんがファイルです。

データベースは規模が大きくなると 複数の端末・ソフトウェアからアクセスすることにもなりますし、トラブルもないようにしなければなりません。読み書き速度が速く、排他制御やトランザクション管理ができるソフトウェアを使う必要があります。

それが データベース管理システムです。

データベースを管理するソフトウェアなので、DBMS、データベース管理システムといいます。

社内のデータベース、Webのデータベースなど 端末上でデータベースへ直接アクセスしているように感じるのですが、実際はデータベース管理システムが間に入って、データベースの読み書きを行っています。

データベース管理システム

データベースを操作・管理するソフトウェアには MySQL、Oracle Database、Microsoft SQL Server、PostgreSQLなどがあります。つまり SQLと名のつくものは、データベースを管理するものであるということです。

DBMSはデータベースの制御・管理を担当するソフトウェアで、ミドルウェアともいいます。

データベース、あるいはデータベースサーバーという時は、データベースとDBMSを両方含んだものをいいます。

SQL言語

データベースは、データを蓄積し再利用するものです。

そのため、データを追加したり更新できることが必要になります。このデータベースに備わっている最も基本的な機能を、頭文字を取り CRUD クラッドといいます。

  • Creat・・生成
  • Read・・読み取り
  • Update・・更新
  • Delete・・削除

そして、これらの機能を実現するためにSQL言語が用いられます。

  • INSERT・・挿入
  • SELECT・・抽出、選択
  • UPDATE・・更新
  • DELETE・・削除

データベース管理システムでは、SQL言語で レコードを追加したり、値を入力したりなど読み書きを行います。データベースを扱う上での共通の言語となっています。

データベースに問い合わせすることを、クエリ(命令)の実行、何らかの操作をするときには、SQL文の発行といったりします。

また以下のような言葉も使われます。関係演算といいます。

  • 選択・・・1つのテーブルから必要な行を抽出
  • 射影・・・1つのテーブルから必要な列を抽出
  • 結合・・・テーブルとテーブルをつなげる

2つのテーブルを使い操作します。集合演算といいます。

  • 和・・・2つのテーブルの行を合わせ、同じ行は1つにする
  • 積・・・2つのテーブルの同じ行を取り出す
  • 差・・・1つのテーブルから もう一方のテーブルの同じ行を除く

Microsoft Access

MicrosoftのAccessは、リレーショナルデータベースソフトです。

このソフトは、上記のアプリケーション、DBMS、データベースをまとめて 比較的簡単に使えるようなっています。

アプリケーション、DBMS、データベースがセットになっているので、あまり難しいこと考えなくても データベースを構築・使用することができます。

主に、中小企業、小規模事業者、SOHOなどで使われています。

表向きは全く気付かないのですが、内部的には 何か操作するたびに SQL文が発行されて動作しています。

MySQL

レンタルサーバーにMySQL、という項目があるということは、データベースを操作できる、データベースを使えるという意味です。

管理画面でデータベースを作成し、ホームページをデータベースと結びつけて活用できます。使い方次第でデータベースを活用したWebシステムを構築できるということになります。

phpMyAdminというアプリケーションが使われることがあります。専門的なSQL言語を知らなくても、ブラウザ上でデータベースを扱うことができます。

phpMyadmin

近年、ブログシステムとしてスタンダードとなりつつある Wordpressもデータベースによるものです。

記事のひとつひとつがデータベースとしてサーバーに蓄積されており、ユーザーからページにアクセスがあれば、データベースにある内容をページ上に表示しています。

このようにデータベースというのは、データを集約・整理するために主にテーブルが使われており、DBMSやSQL言語などで管理され使われています。