Sebenarnya, perbedaan antara Database dan Schema tidak ada di MySql.
Namun, ini tidak terjadi di mesin database lain seperti SQL Server. Di server SQL :,
Setiap tabel termasuk dalam kelompok objek dalam database yang disebut skema database . Ini adalah wadah atau namespace ( Querying Microsoft SQL Server 2012 )
Secara default, semua tabel di SQL Server termasuk dalam skema default yang disebut dbo . Saat Anda membuat kueri tabel yang belum dialokasikan ke skema tertentu, Anda bisa melakukan sesuatu seperti:
SELECT *
FROM your_table
yang setara dengan:
SELECT *
FROM dbo.your_table
Sekarang, server SQL memungkinkan pembuatan skema yang berbeda, yang memberi Anda kemungkinan untuk mengelompokkan tabel yang memiliki tujuan yang sama. Itu membantu mengatur database.
Misalnya, Anda dapat membuat skema yang disebut penjualan , dengan tabel seperti faktur , pemesan kredit (dan lainnya yang terkait dengan penjualan), dan skema lain yang disebut pencarian , dengan tabel seperti negara , mata uang , jenis langganan (dan tabel lain yang digunakan sebagai tampilan atas meja).
Tabel yang dialokasikan ke domain tertentu ditampilkan di SQL Server Studio Manager dengan nama skema diawali dengan nama tabel (persis sama dengan tabel milik skema dbo default ).
Ada skema khusus di SQL Server. Mengutip buku yang sama:
Ada beberapa skema database bawaan, dan tidak dapat dihapus atau diubah:
1) dbo , skema default.
2) tamu berisi objek yang tersedia untuk pengguna tamu ("pengguna tamu" adalah peran khusus dalam istilah SQL Server, dengan beberapa izin default dan sangat terbatas). Jarang digunakan.
3) INFORMATION_SCHEMA , digunakan oleh Tampilan Skema Informasi
4) sys , disediakan untuk penggunaan internal SQL Server secara eksklusif
Skema tidak hanya untuk pengelompokan. Sebenarnya dimungkinkan untuk memberikan izin yang berbeda untuk setiap skema kepada pengguna yang berbeda, seperti yang dijelaskan MSDN .
Dengan cara ini, pencarian skema yang disebutkan di atas dapat tersedia untuk semua pengguna standar dalam database (misalnya SELECT
hanya izin), sedangkan tabel yang disebut supplierbankaccountdetails dapat dialokasikan dalam skema berbeda yang disebut finansial , dan untuk memberikan akses hanya kepada pengguna di kelompok accounts
(hanya contoh, Anda mendapatkan ide).
Akhirnya, dan mengutip lagi buku yang sama:
Ini bukan Skema Database dan Skema Tabel yang sama . Yang pertama adalah namespace dari sebuah tabel, sedangkan yang terakhir mengacu pada definisi tabel