345

MySQL のスキーマとデータベースに違いはありますか? SQL Server では、データベースはスキーマに関連する上位レベルのコンテナーです。

私はそれを読んでCreate SchemaCreate Database基本的に MySQL で同じことを行っています。これにより、スキーマとデータベースは同じオブジェクトを表す別の言葉であると考えるようになりました。

4

10 に答える 10

402

MySQL Glossaryで定義されているとおり:

MySQL では、物理的に、スキーマはデータベースと同義です。SCHEMAMySQL SQL 構文の代わりにキーワードを置き換えることができます。DATABASEたとえば、CREATE SCHEMA代わりにCREATE DATABASE.

他のいくつかのデータベース製品は区別されます。たとえば、Oracle Database 製品では、スキーマはデータベースの一部 (単一のユーザーが所有するテーブルやその他のオブジェクト) のみを表します。

于 2012-07-23T18:32:06.667 に答える
82

データベースサーバーに依存します。MySQL気にしないで、基本的に同じことです。

OracleDB2、およびその他のエンタープライズ レベルのデータベース ソリューションは区別されます。通常、スキーマはテーブルのコレクションであり、データベースはスキーマのコレクションです。

于 2013-10-08T20:32:45.577 に答える
20

MySqlのドキュメントを参照すると、

CREATE DATABASE は、指定された名前でデータベースを作成します。このステートメントを使用するには、データベースに対する CREATE 権限が必要です。CREATE SCHEMA は、MySQL 5.0.2 以降の CREATE DATABASE の同義語です。

于 2012-07-23T18:34:02.780 に答える
4

はい、人々はこれらの用語を MySQL に関して同じ意味で使用しています。ただし、データベース サーバー全体をデータベースと呼ぶ不適切な発言をよく耳にします。

于 2012-07-23T18:28:43.317 に答える
2

Mysqlについて考えたり議論したりしている場合にのみ。それから簡単な答えを出してください

SCHEMA と DATABASE はまったく同じもので、mysql の合成糖にすぎません。」

于 2021-05-24T06:15:29.653 に答える
0

たとえば、Microsoft SQL Server では、スキーマは 1 人のユーザーを指し、サーバー、データベース、スキーマ、テーブル、およびオブジェクトを示す順序でコンテナーの別のレベルです。

たとえば、dbo.table_a を更新しようとしていて、構文が UPDATE table.a のように完全修飾されていない場合、DBMS は目的のテーブルの使用を決定できません。基本的に、DBMS はデフォルトで myuser.table_a を利用します。

于 2014-04-01T19:27:34.387 に答える