データをどのように保存しているか、データベースとは何か?そんな疑問を解決していきましょう!
1. データベースとは?
データベースとは、データを扱いやすいように保存した集まりのことです。
例えば、以下の二人のデータを保存することを考えます。(あくまで例です)
仮に、これを適当に保存したとします。
この中からログインID「doremi」を探してくださいと、言われた時すぐに探せますか?探しにくいなと思ったはずです。今はデータの数が少ないから見つけられますが、これが10000個、100000個と増えた場合見つけるのは困難です。
なので、同じ意味を持つもの(ログインID、名前など)でそれぞれグループ分けをしましょう。
これならログインID「pasokon」を探してと言われても、ログインIDのグループの中から探せば簡単に見つけられます。
では、このログインIDを持っている人の名前は?と聞かれた場合、上の図から分かりますか?
ただグループ分けをしただけであって、どのデータと関連があるのかが分かりません。
そこで以下のように保存し直します。
行はある人の情報を、列はグループを表しています。ログインIDが「pasokon」の名前が知りたい場合は、1行目の3列目をみることでわかります。このような形式で保存しているデータの集合がデータベースです。ただし、必ずしもこの表みたいに保存する必要はありません。あくまでデータを扱いやすいように整理してあるデータの集まりを一般にデータベースといいます。
2. どのようにデータベースを管理するか
データベースがどのようなものなのか知ることができました。では、そのデータベースはどのように管理しているのでしょうか。
DBMS(データベース管理システム)とは、データベースを操作、制御するソフトウェアです。これを用いることで、データの保存、検索、削除などができます。そして、その指示を伝えるものが「SQL」です。DBMSには「MySQL」や「PostgreSQL」などがあります。
DBMSのおかげで、複数の利用者が様々なデータを利用する場合でも対応できるのです。
3. データベースの用語を知ろう
データベースに関する用語を押さえておきましょう。
データベースには「階層型データベース」、「ネットワーク型データベース」、「リレーショナルデータベース」があります。ここでは、現在主流となっている「リレーショナルデータベース」について解説します。
リレーショナルデータベースとは「1. データベースとは」で確認した表で管理するデータベースです。
リレーショナルデータベースは表、行、列で構成されています。まずデータを格納するための表が必要です。この表にデータを入れていくことで、データの集合を作っていきます。
データ1件分のことを行またはレコードといいます。行の数がデータの件数となります。
各値のグループのことを列またはカラムといいます。列には制約をかけることができます。
例えば、上の表にある「年齢」のカラムには何を保存したいでしょうか。年齢というカラム名であるため、5歳や20歳などを保存したいはずです。しかし、データベースに誤って、または故意に異なるデータが保存されては困ります。年齢のカラムなのに、「太郎」という明らかに年齢ではないデータが保存されている。「20歳」、「二十歳」、「20 years old」はどれも同じ意味ですが、書き方が異なっています。この場合、データを扱っていく上で不便です。
こうした問題を解決するために、列に制約をかけます。年齢の単位を「歳」にしておけば整数だけ保存していても理解できるので、「年齢」に整数しか保存できないという制約をかけます。仮に悪意のある人が年齢カラムに全く関係のないデータを保存しようとしても、制約がかけてあるため保存できません。
他にも「主キーと外部キー」、「データベースの正規化」など重要なワードがありますが、今回は割愛します。最後まで見て頂きありがとうございました。
コメント