前のページでは、SQL は RDBMS とやりとりするんだよ、ということを学びました。
ここでは、RDBMS が内部で管理しているデータベースとテーブルについて理解を深めます。
RDBMS が内部で管理する対象は、複数のデータベースと、それらのデータベースそれぞれに内包される複数のテーブルとなります。
さきほどのページのイメージ図では、RDBMS は一つの箱として表現していましたが、
実はRDBの頭脳としてRDBMSが存在し、内部には複数のデータベースと、データベースそれぞれに複数のテーブルが入っていたのです。
こんな感じのイメージです。
ところで、データベースとテーブルというものは一体何なのでしょう。
SQL という言葉を聞くときに、一緒に"データベース"って言葉もよく耳にするのではないでしょうか。
さて、"データベース"って言葉を聞いたときに連想するものは何でしょうか。データの集まり?
かんたんに説明すると、データベースの中にはたくさんのテーブルと言われるデータを入れる表のようなものが入っており、その関係するテーブルの集まりを、一つのデータベースとして定義します。
Excelで例えると、シートそれぞれがテーブル、ブックそれぞれがデータベースに相当します。
例えば、事業Aと事業Bの2つの事業でデータを貯めたい場合、以下のようにデータベースとテーブルを定義します。
事業 A に関してのみ使用するデータと、事業 B に関してのみ使用するデータは、同じデータベースの中で管理するのではなく、事業 A に関してのみ使用するデータベースと、事業 B に関してのみ使用するデータベースのように、データベースを分けて定義します。
ツリー状で表すとこのようになります。
このように、RDBMS は複数のデータベースを持ち、データベースそれぞれが複数のテーブルを持ちます。そして、テーブルそれぞれに実際のデータが入ります。
そのため、RDBMS にアクセスする際には予めどのデータベースのデータを使用したいのかを教え、その後に SQL を発行してデータのやりとりを行う流れになります。
RDB の頭脳である RDBMS は複数のデータベースを管理することができ、データベースの中には複数のテーブルが入っている。
そして、そのテーブルの中に実際にデータが入っている。
RDBMS と SQL でやりとりをしたい場合には、予めどのデータベースのデータを使用したいのか RDBMS に教えた後、SQL を発行して任意のテーブルとのデータのやり取りを行うことになる。