Sistem manajemen basis data yang berbeda mendefinisikan skema dengan cara mereka sendiri. Hal ini dapat mempersulit developer database untuk mengetahui apa sebenarnya skema itu – terutama saat beralih di antara DBMS yang berbeda.
Artikel ini memberikan definisi yang digunakan oleh tiga sistem database terkemuka.
MySQL
Dokumentasi MySQL mendefinisikan skema dari sudut pandang konseptual dan fisik.
Konseptual
Secara konseptual, skema adalah sekumpulan objek database yang saling terkait, seperti tabel, kolom tabel, tipe data kolom, indeks, kunci asing, dan sebagainya. Objek-objek ini terhubung melalui sintaks SQL, karena kolom membentuk tabel, kunci asing merujuk ke tabel dan kolom, dan seterusnya. Idealnya, mereka juga terhubung secara logis, bekerja bersama sebagai bagian dari aplikasi terpadu atau kerangka kerja yang fleksibel. Misalnya, information_schema dan kinerja_skema database menggunakan "skema" dalam namanya untuk menekankan hubungan erat antara tabel dan kolom yang dikandungnya.
Fisik
Kemudian ditunjukkan bahwa, dari sudut pandang fisik, tidak ada perbedaan antara skema dan database:
Di MySQL, secara fisik, sebuah skema identik dengan database . Anda dapat mengganti kata kunci
SCHEMA
bukannyaDATABASE
dalam sintaks SQL MySQL, misalnya menggunakanCREATE SCHEMA
alih-alihCREATE DATABASE
.
Sumber: “Glosarium MySQL”. Panduan Referensi MySQL 5.7. MySQL. Diakses pada 6 Juni 2016.
SQL Server
Glosarium
Skema Basis Data
Nama tabel, field, tipe data, dan kunci utama dan asing dari database.
Sumber: “Glosarium”. Dokumentasi Teknis SQL Server 2016. Jaringan Pengembang Microsoft. Diakses pada 6 Juni 2016.
Artikel Teknis SQL Server
Artikel tentang skema objek database ini, secara eksplisit menggambarkan perbedaan antara pengguna database dan skema (ini berbeda dengan cara Oracle mendefinisikan skema – di bawah).
Skema adalah namespace yang berbeda untuk memfasilitasi pemisahan, pengelolaan, dan kepemilikan objek database.
dan
Objek yang dimiliki oleh pengguna database tidak lagi terikat dengan pengguna tersebut. Objek sekarang menjadi milik skema – wadah yang dapat menampung banyak objek basis data.
dan
Pemisahan ini berarti objek dan skema dapat dibuat sebelum pengguna ditambahkan ke database. Ini juga berarti pengguna dapat dijatuhkan tanpa secara khusus menjatuhkan objek yang dimiliki oleh pengguna tersebut.
Sumber: “Praktik Terbaik SQL Server – Implementasi Skema Objek Database”. Artikel Microsoft TechNet. Diterbitkan:November 2008. Diakses tanggal 6 Juni 2016.
Database Oracle
Sistem skema Oracle Database sangat berbeda dengan sistem lainnya. Skema Oracle sangat terkait dengan pengguna database.
Skema adalah kumpulan struktur logis data, atau objek skema. Skema dimiliki oleh pengguna database dan memiliki nama yang sama dengan pengguna tersebut. Setiap pengguna memiliki satu skema.
Oracle membedakan antara objek skema dan objek nonskema . Jadi dengan kata lain, beberapa objek database tidak dapat dimasukkan dalam skema.
Objek Skema
Di Oracle Database, objek skema meliputi:
- Cluster
- Kendala
- Tautan basis data
- Pemicu basis data
- Dimensi
- Library prosedur eksternal
- Tabel yang disusun berdasarkan indeks
- Indeks
- Tipe indeks
- Kelas Java, sumber daya Java, sumber Java
- Tampilan material
- Log tampilan material
- Model penambangan
- Tabel objek
- Jenis objek
- Tampilan objek
- Operator
- Paket
- Urutan
- Fungsi tersimpan, prosedur tersimpan
- Sinonim
- Tabel
- Tampilan
Objek Nonskema
Di Oracle Database, objek berikut adalah objek nonskema :
- Konteks
- Direktori
- Edisi
- Kembalikan poin
- Peran
- Kembalikan segmen
- Ruang meja
- Pengguna
Sumber: “Objek Database”. Oracle Database Online Documentation 12c Rilis 1 (12.1). Pusat Bantuan Oracle. Diakses pada 6 Juni 2016.