MySQL のスキーマとデータベースに違いはありますか? SQL Server では、データベースはスキーマに関連する上位レベルのコンテナーです。
私はそれを読んでCreate Schema
、Create Database
基本的に MySQL で同じことを行っています。これにより、スキーマとデータベースは同じオブジェクトを表す別の言葉であると考えるようになりました。
MySQL のスキーマとデータベースに違いはありますか? SQL Server では、データベースはスキーマに関連する上位レベルのコンテナーです。
私はそれを読んでCreate Schema
、Create Database
基本的に MySQL で同じことを行っています。これにより、スキーマとデータベースは同じオブジェクトを表す別の言葉であると考えるようになりました。
MySQL Glossaryで定義されているとおり:
MySQL では、物理的に、スキーマはデータベースと同義です。
SCHEMA
MySQL SQL 構文の代わりにキーワードを置き換えることができます。DATABASE
たとえば、CREATE SCHEMA
代わりにCREATE DATABASE
.他のいくつかのデータベース製品は区別されます。たとえば、Oracle Database 製品では、スキーマはデータベースの一部 (単一のユーザーが所有するテーブルやその他のオブジェクト) のみを表します。
データベースサーバーに依存します。MySQL
気にしないで、基本的に同じことです。
Oracle
、DB2
、およびその他のエンタープライズ レベルのデータベース ソリューションは区別されます。通常、スキーマはテーブルのコレクションであり、データベースはスキーマのコレクションです。
MySqlのドキュメントを参照すると、
CREATE DATABASE は、指定された名前でデータベースを作成します。このステートメントを使用するには、データベースに対する CREATE 権限が必要です。CREATE SCHEMA は、MySQL 5.0.2 以降の CREATE DATABASE の同義語です。
はい、人々はこれらの用語を MySQL に関して同じ意味で使用しています。ただし、データベース サーバー全体をデータベースと呼ぶ不適切な発言をよく耳にします。
Mysqlについて考えたり議論したりしている場合にのみ。それから簡単な答えを出してください
「SCHEMA と DATABASE はまったく同じもので、mysql の合成糖にすぎません。」
たとえば、Microsoft SQL Server では、スキーマは 1 人のユーザーを指し、サーバー、データベース、スキーマ、テーブル、およびオブジェクトを示す順序でコンテナーの別のレベルです。
たとえば、dbo.table_a を更新しようとしていて、構文が UPDATE table.a のように完全修飾されていない場合、DBMS は目的のテーブルの使用を決定できません。基本的に、DBMS はデフォルトで myuser.table_a を利用します。