数学やプログラミングや映画など

新米SEがwebと数学と映画についてつらつら書きたいブログです。

新人SEがデータベースとは何かについて解説する話

過去記事の続きになります。

新米SEがデータベーススペシャリストを目指す上での学習メモになります。

ちなみにSE(正確にはインフラエンジニア)になりました。 

math-it.hatenablog.com

 

 

 

データベースとは

データベース(DataBase)とは、その名の通りデータの基地を表します。

 

昔のシステム開発においては、一つのシステムに対してデータの集まりが一つありました。

 

この状態でシステムを管理すると、複数のシステムで重複するデータなどが存在することになり、更新の際やデータと受け渡しなどにおいて非常に非効率であるという問題がありました。

 

そこで考案されたものがデータベースになります。

 

データを保持しておく場所を一か所に定めることによりデータを独立させ、各システムはそこにデータを取りに行くという仕組みをとることにより上記の問題点を解消します。

 

この仕組みは現在まで利用されており、システム開発においてデータベースの構築は欠かせないものとなっています。

 

 

 

データモデル

データを保存しておく形式などの、データに対する決まり事を定めたデータモデルは複数存在します。よく知られているものとしては以下のものです。

 

  • 階層型データモデル
  • ネットワークデータモデル
  • 関係データモデル
  • オブジェクト指向データモデル

 

現在、最も多くのシステムで利用されているデータモデルは関係データモデル(リレーショナルデータモデル)になります。

 

リレーショナルデータモデルが正常に動作する(正常の定義についてはいつか別記事で。)根拠として数学の関係理論がベースとなっており、また直感的な理解が容易である点から世に浸透したモデルになります。

 

データベースを関係(リレーショナル)の集まりであるという考え方が根底にあります。

 

データを行と列で構成された表で表現することが可能であり、直感的な理解が可能です。

 

 

 

リレーショナルデータモデル

 

 リレーショナルデータモデルにおいて、データの集まりは関係を持っているという前提を置きます。

 

そしてデータは属性を持つとします。

 

例えば、80点というテストの点数が保持すべきデータであるとすれば、80という得点にはテストの点数という属性を持つことになります。

 

さらに、このテストの点数を取ったのは太郎君であるとします。この場合は太郎というデータは名前という属性を持ち、さらに80という得点の属性を持ったデータと関係(リレーション)を持ちます。

 

(太郎, 80)

 

また、花子さんのテストの点数は70点であったとしましょう。太郎君と同様に次のように表します。

 

(花子, 70)

 

これらを表に表したものが以下のものになります。

 

点数表

|  名前  |  点数  |

|  太郎  |  80  |

|  花子  |  70  |

 

このとき、この点数表をリレーションと呼び、各行のことをタプル、各列のことをカラムと呼びます。

 

また、この呼称は実際の運用の場では異なる場合があり、リレーションはテーブルタプルはレコード、カラムはフィールドと呼ばれます。

 

 

 

まとめ

  • データを独立するという考えによりデータベースが考案された
  • データモデルには複数種類があるが現在は関係データモデルが主流
  • リレーションにはタプルカラムがある

 

 

おすすめの参考書です。

amazonで立ち読みでもどうぞ。