3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

データベースの勉強

Last updated at Posted at 2015-01-26

データベース

顧客に関するデータや商品の在庫数などさまざまなデータを共有利用するために1つにまとめたデータの集合体が「データベース」
「社員データ」「顧客データ」など業務上さまざまなデータを支店ごとに管理することができる。

データベースとDBMSは異なる

データベースはデータの集合体。
そのため、 同一データに対して同じタイミングで複数ユーザーから利用要望がでる可能性がある

もしこの要望を無秩序に実行させてしまうと、データ変更処理に矛盾が発生する可能性がある。そのようなことがないように、データを使用する順序を制御し、「データ保護」を行う必要があります。
また、全ユーザーが全データにアクセスできてしまうと、個人情報など機密情報についても自由に参照、変更を行えてしまうので、 ユーザーごとにアクセス制御 を行う必要がある。
また、データの復旧の仕組みも必要になる。

このようなデータベースを適切に使用するための管理を行ってくれるソフトウェアが 「データベース管理システム」(Database Management System: DBMS) です。
ユーザーからのデータベースに対する要望は、必ずDBMSを介して行われます。
そのため、データを処理する前に、DBMSがユーザーのデータ利用の順番制御や権限確認を行ってくれる。

特徴
① アクセス権限の有無をチェックする
② アクセス権限がある場合: データベースにアクセス
③ アクセス権限がない場合: アクセス不可

リレーショナルデーターベース

データベースには大きく分けて「階層型」「ネットワーク型」「リレーショナル型」がある。
(現在、主に使われているのはリレーショナル型)
リレーショナルデータベースを管理しているDBMSは 「リレーショナルデータベース管理システム」(RDBMS) とよばれる

[特徴]
①データは2次元の表形式で表現される
②リレーションが可能

リレーショナルデータベースでは、すべてのデータを表形式で表現します。表は列と行で構成され、列は必ず1つの意味を保ちます。

リレーショナルデータベース内にあるデータの参照または変更は「SQL」(Structured Query Language)というデータベース言語によって行います。

複数の表を組み合わせる

リレーショナルデータベースのもう1つの大きな特徴は 複数の表を結合(リレーション)を利用できることです
このような場合に、リレーショナルデータベースでは共通の情報を持つ列を使用して表を一時的に結合(リレーション)することができる。複数の表のリレーションもSQLによって行うことができる。

複数の表にする理由

ディスク領域の無駄や更新の手間という問題が発生を抑える。 => 正規化

トランザクションの仕組みと利点

トランザクションとは、データベースにおいて 「作業を完了するための一連の作業単位」 のこと

トランザクションは、ユーザーが明示的にSQLのCOMMITコマンドを実行することで終了すると、そのトランザクションで行った変更内容が完全にデータベースに確定される。
COMMIT前ならROLLBACKコマンドで変更を取り消すことができる。

なぜトランザクション単位で確定しなければならないのか。

COMMITコマンド実行前にデータベースに障害が発生した場合などを考慮した安全策です。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?