スキーマってデータベース(DB)のことじゃないの?その違いについて。

スキーマは、テーブルといったオブジェクトをグループ化したもの。

MySQLの場合、データベースを作成した後、その中に複数のテーブルを格納するのでスキーマはデータベースということになる。

しかし、PostgreSQLやOracleの場合、データベースの中に複数のスキーマを作成される、そしてさらにそのスキーマの中に複数のテーブルを格納することとなる。

共通して言えることはスキーマの中にテーブルがあり、テーブルへ実際のデータが格納されているということ。

単に「データベース」って呼んでしまうと、PostgreSQLやOracleでいう複数のスキーマたちを指しているのかもしれないし、MySQLといったソフトウェア自体のことを指しているのかもしれない。

なので、みんなで仕事をする時に、呼び分けるために「スキーマ」と呼ぶ。

コメント