【Rails】データベース
データベースとは、
データの蓄積・保存が容易にできるように整理された情報の集まりのことです。
データベース管理システム(Data Base Management System)とは、
データベースの機能をアプリケーションから簡単に扱えるようにしたミドルウェアです。
はい。
ミドルウェアとは、コンピュータを構成する要素の一つです。
コンピュータの構成要素は、以下のように階層上に並んでいます。
- ■アプリケーション
- ■ミドルウェア
- ■OS
- ■ハードウェア
処理を行うアプリケーションと
制御をするOSとの間に存在するソフトウェアのことを、
ミドルウェアと呼んでいます。
ミドルウェアの具体例として、
・Webサーバ
・データベース管理サーバ
があります。
データベースの種類(代表例)
データベースにはいくつかの種類に分けらます。
●関係型:データを表で管理します。
●階層型:データを階層で管理します。
●ネットワーク型:データを網状に管理します。
この中でも
関係型と呼ばれるデータベースが現在の主流となっています。
関係データベース
関係データベースは、
表の形で管理するデータベースです。
データの内容次第で複数の表を関係づけして扱うことができるため、
「関係」データベースと呼ばれています。
「関係」は英語で「リレーションシップ」であるため、
関係データベースは、リレーショナルデータベース(RDB:Relational Database)とも呼ばれます
●表を構成する各要素
データベースの設計の要点は、
「One Fact One Place」です。
「1つの事実は1つの場所のみに存在する」ということに徹底して
蓄積されたデータに矛盾や重複が発生しないよう表の最適化を行います。
これを実現化させる手法として
正規化という考えがあります。
正規化・・・
データ等々を一定のルール(規則)に従って変形させ利用しやすくすることのことをいいます。
例えば、
取引会社と氏名について書かれた以下の名簿があったとします。
この中の「ミジンコ社」が来年の春から、
会社名を「サルモネラ社」へ改名すると報告を受けたとします。
それを受け、
一つずつデータを取り出し、ミジンコ社→サルモネラ社へと
打ち直しをするのはとても労力を使います。
日が暮れてしまいますね。
ミジンコ社のデータが大量であればあるほど変更に要する労力は大きくなります。
そのときに「正規化」という考え方がとても大事になっていきます。
この場合、表をこんな感じに分けていきます。
こうすることで右の表の、
ミジンコ社のところをサルモネラ社に変更させることでデータの書き換えが一瞬で終了します。
このようにデータを必要最低限の項目で見やすいものに書き換えていくことを
正規化と呼びます。
それではまた明日ー!