データベースとは?バイト先のシフト表でわかる仕組みの話

メモリん

ねぇテツ、バイト先で「その情報はデータベースに入ってるから」って言われたんだけど。あたし、なんも入れた覚えないんだけど!(`Д´)ノ

ギガテツ

あー、そりゃ覚えなくて当然っしょ。おまえが入れたんじゃなくて、店の仕組みのほうが勝手に入れてんだから。

メモリん

じゃあそのデータベースって、どこにあるどんなやつなの。データの、ベース?(・_・)?

ギガテツ

まあ落ち着けって。順に言ってくわ。

データベースがわからず首をかしげるメモリんと、説明をはじめるギガテツ

データベースとは

データベースとは、あとから探したり書き換えたりしやすいように、決まった形式で整理してためたデータの集まりのことです。そのデータを実際に管理し、読み書きの窓口になるソフトウェアを DBMS(データベース管理システム)と呼びます。

なお、日常の会話では、この「データの集まり」と「管理するソフトウェア」の両方をまとめて「データベース」と呼ぶことがよくあります。文脈によってどちらを指しているかが変わるので、厳密には別のものだと知っておくと混乱しません。

データベースは「バイト先のシフト表」

ギガテツ

データベースってのはさぁ→バイト先の壁に貼ってある、あのシフト表なわけ☆彡

メモリん

紙?!あたしの想像してたやつと違いすぎるんだけど。

ギガテツ

いやマジで。あの表さ、日付のマスと名前の欄が最初から決まってて、そこに全員ぶんの勤務が入ってんだろ?で、書き換えたいときは店長に言う。勝手に消しゴムで直すのはナシ。
「決まった形でためてある」プラス「出し入れを仕切るやつがいる」。この組み合わせがデータベースなわけ。

壁に貼られたバイト先のシフト表を指さして解説するギガテツと、表を見上げるメモリん

なぜ「勝手に書き換えちゃダメ」なのか

メモリん

でもさ、自分の休みくらい自分で書き直したほうが早くない?なんでいちいち店長なの。

ギガテツ

そこな。おまえが金曜の欄を消して、同じころ別のやつも金曜の欄をいじったとするわ。二人とも「自分が直した」と思ってんのに、表に残ってんのは片方だけ。当日ガラ空きになるやつ、これ。
店長が一人で受け付けてりゃ、そういうことが起きねぇんだわ。

メモリん

たしかに…。じゃあ各自コピーとって持ち歩けばよくない?

ギガテツ

それやると全員が違うバージョンの表を見ることになんの。壁に貼ってあるあの1枚が本物、って決まってるから、誰が見ても同じ答えになるっしょ。
あと名前の欄な。「たかだ」「タカダ」「高田」でバラバラに書かれてたら、店長が「今月このコ何回入ったっけ」を数えられねぇじゃん?書き方が決まってるから、あとから数えたり探したりできるわけ。

ギガテツ

だから「金曜の夜、誰入ってる?」って聞けば、店長は表をバーッと見て一瞬で答えられる。これがデータベースに聞くってことなわけ(・∀・)

メモリん

あ゛ー!つまり、決まった書き方でみんなのぶんを1か所にまとめてあって、出し入れは全部その担当を通す、ってコトね!だからあとから「誰が」「いつ」がすぐ出てくるんだ(☆∀☆)

データベースの仕組みを理解して喜ぶメモリんと、隣で頷くギガテツ

この例えが当てはまらないところ

シフト表は人が目で見て読み取れますが、実際のデータベースは中身を直接のぞくのではなく、DBMS に「こういう条件のものを出して」という命令を出して読み書きします。その命令のための言葉が SQL です。

まとめ

  • データベースとは、あとから探したり書き換えたりしやすいように、決まった形式で整理してためたデータの集まりのことです。
  • そのデータを管理し、読み書きの窓口になるソフトウェアを DBMS(データベース管理システム)といいます。窓口を1つにまとめることで、同時に書き換えても内容が食い違わないようにしています。
  • 書き方の形式をそろえておくことで、「いつ」「誰が」といった条件での検索や集計ができるようになります。