ゼロからのリレーショナルデータベース入門(1)
そもそもリレーショナルデータベースって何?
株式会社アシスト
支援統括部 教育部
三住 友李香
2008/07/16
データベースを基礎から勉強し理解を深めていくことは簡単なことではありません。本連載では、データベースに対する敷居を少しでも低くするために、初心者の方に必要なデータベースの基本から、障害対策やチューニングといった実践に即した内容までを幅広く解説していきます。 1回目である今回は、データベースの役割とそれを管理するソフトウェアであるDBMSの基本機能について解説します。
「データベース」ってどんなもの?
企業には、顧客に関するデータや商品の在庫数などさまざまなデータが存在します。このような数多くのデータを共有利用するために1つにまとめたデータの集合体が「データベース」です。
もう少し具体的な例でデータベースの必要性について解説します。ある企業は「社員データ」「顧客データ」など、業務上必要なさまざまなデータを支店ごとに個別に管理しています。
ここでは、社員データはどの支店でも必要であるため、各支店で重複して保持しています。しかし、これではデータ保持のために無駄なディスク領域が必要となってしまいます。また、新入社員が入社し、社員データにその情報を反映する際、各支店で別々にデータ登録をする必要があり、ある支店だけ入力を忘れてしまうような、更新漏れが発生する可能性が高くなります(図1)。
●図1 社員データを更新する
社員データ変更は各支店で別々に行うため、データ更新漏れが発生しやすい
このような問題は、共通して必要となるデータを別々に管理していることに原因があるので、それを1つにまとめてみんなで共有利用ができるようにすれば解決できます。そのようにして集められたデータの集合体がデータベースです。支店ごとではなく、全社で共有できる形にしてしまえば、無駄に領域を使用することはなくなり、かつ同一データに対するデータ変更で矛盾が発生する心配もありません。
データベースとDBMSは別の概念
データベースは、前述したように共有利用を前提としてまとめたデータの集合体です。そのため、同一データに対して同じタイミングで複数ユーザーから利用要望が出るかもしれません。
もし、この要望を無秩序に実行させてしまうと、データ変更処理に矛盾が発生する可能性があります。そのようなことがないように、データを使用する順序を制御し、「データ保護」を行う必要があります。また、全ユーザーが全データにアクセスできてしまうと、個人情報など機密情報についても自由に参照、変更を行えてしまうため、ユーザーごとにデータへの「アクセス制御」を行う必要があります。また、ディスク障害などが発生した場合には、失われたデータを復旧するための「障害復旧」の仕組みも必要になります。
このようなデータベースを適切に使用するための管理を行ってくれるソフトウェアが、「データベース管理システム」(Database Management System:DBMS)です。ユーザーからのデータベースに対する要望は、必ずDBMSを介して行われます。そのため、データを処理する前に、DBMSがユーザーのデータ利用の順番制御や権限確認を行ってくれます(図2)。
●図2 DBMSのイメージ
1 アクセス権限の有無をチェックする
2 アクセス権限がある場合:データベースにアクセス
3 アクセス権限がない場合:アクセス不可
| 1/3 |
| Index | |
| ゼロからのリレーショナルデータベース入門(1) そもそもリレーショナルデータベースって何? |
|
| Page 1 ・「データベース」ってどんなもの? データベースとDBMSは別の概念 |
|
| Page 2 ・「リレーショナル」なデータベース 複数の表を組みあわせる 複数の表にする理由 |
|
| Page 3 SQL=Structured Query Language トランザクションの仕組みと利点 同時実行制御でデータの信頼性を確保 |
|
| Databaseフォーラム全記事インデックス |
TechTargetジャパン
- やはりSELECT文は永遠のテーマです (2012/2/7)
Database Expertフォーラムの2012年1月のアクセスランキングをお届けします。定番の記事を一気に追い抜いてあの記事が…… - SELECT文で取り出したデータを加工して表示する (2012/1/25)
SELECT文で取り出したデータを対象に四則演算する方法など、データを見やすくする方法を解説します - 2012年は私たちが勉強会を盛り上げる! (2012/1/23)
2011年12月、データベース業界初の女子会が発足しました。そこで、女子会を盛り上げていってくれそうな2人にお話を伺いました - 複数の条件を指定してSELECT文を実行する (2012/1/13)
複数の条件を指定してSELECT文を実行する方法と、条件指定に必要な論理演算子、比較演算子の役割を解説します
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
