Saya benar-benar bingung dengan istilah basis data, pengguna, dan skema. Adakah yang bisa menjelaskan bagaimana mereka berbeda satu sama lain (jika mereka)?
Jika keduanya sama, apa persamaan di antara mereka? Bagaimana kita menggunakannya? Dan bagaimana kita membuatnya?
Jawaban:
Di Oracle, pengguna dan skema pada dasarnya adalah hal yang sama. Anda dapat mempertimbangkan bahwa pengguna adalah akun yang Anda gunakan untuk terhubung ke database, dan skema adalah sekumpulan objek (tabel, tampilan, dll.) Yang termasuk dalam akun itu.
Lihat posting ini di Stack Overflow: perbedaan antara Pengguna dan Skema di Oracle? untuk detail lebih lanjut dan tautan tambahan.
Anda membuat pengguna dengan
create user
pernyataan itu. Ini juga "membuat" skema (awalnya kosong) - Anda tidak dapat membuat skema karena itu, terikat dengan pengguna. Setelah pengguna dibuat, administrator dapat memberikan hak istimewa kepada pengguna, yang akan memungkinkannya untuk membuat tabel, mengeksekusiselect
kueriinsert
,, dan yang lainnya.Basis data adalah hal yang berisi semua pengguna yang Anda buat, dan datanya (dan sekelompok pengguna sistem, tabel, tampilan, dll. Yang membuat semuanya berfungsi). Anda harus melihat dokumentasi Arsitektur Database Oracle di Panduan Konsep (sebenarnya, seluruh halaman itu layak dibaca - ada bagian tentang pengguna dan skema yang lebih tinggi di halaman itu) untuk mendapatkan pengantar apa itu database, dan apa contoh database adalah - dua konsep penting.
Anda dapat membuat database dengan
create database
pernyataan, setelah Anda menginstal tumpukan perangkat lunak Oracle. Tetapi menggunakandbca
(asisten pembuatan basis data) lebih mudah untuk memulai.sumber
Menurut cara terminologi kadang - kadang digunakan , a
USER
dan aSCHEMA
agak mirip. Tetapi ada juga perbedaan besar. AUSER
dapat disebut aSCHEMA
jika "USER
" memiliki objek apa pun, jika tidak maka hanya akan tetap "USER
". SetelahUSER
memiliki setidaknya satu objek maka berdasarkan semua definisi Anda di atas ...USER
sekarang dapat disebut aSCHEMA
.sumber
Untuk mulai memahami perbedaannya, saya pikir kita harus mulai mengatakan bahwa nomenklatur ini adalah kesalahan dari Oracle.
Saya berasumsi bahwa jika Anda memiliki ERP yang disebut TRITON Anda ingin database Anda dinamai TRITON, atau jika perusahaan saya disebut JENNY EXPORT, saya dapat memutuskan database saya disebut JENNYEXP atau sesuatu seperti itu, tidak perlu untuk pengguna dengan nama yang sama .
Di Oracle, Anda perlu membuat USER sebelum membuat tabel dan cukup aneh koleksi TABLES ini disebut SCHEMA.
Kemudian Anda dapat membuat pengguna yang sebenarnya dan memberikan izin yang tepat untuk bekerja dengan database seperti TRITON sesuai contoh ini, jika Anda terhubung melalui SQL DEVELOPER Anda harus NAMA A CONNECTION.
Saya tahu saya terdengar agak frustrasi tetapi lebih masuk akal bagi saya konvensi penamaan MS SQL SERVER dan saya bisa menambahkan bahwa saya bekerja dengan Oracle lebih awal dari SQL SERVER.
sumber
Basis Data.
Basis data adalah kumpulan data, di mana sebenarnya data disimpan. Komponen Memori fisik yang Terhubung ke Komputer yang Diinstal dengan Perangkat Lunak DBMS untuk memanipulasi data dalam komponen Memori itu, komputer yang dipasang dengan perangkat lunak dbms disebut Server atau Database Server. Baik Server (Komputer) dan Database (komponen memori) berbeda tetapi Sebagian besar kali disebut sebagai Sama berdasarkan situasi.
PENGGUNA dan SKEMA
Kedua kata, pengguna dan skema, dapat dipertukarkan, itulah sebabnya kebanyakan orang bingung akan kata-kata ini.
Pengguna
Pengguna adalah akun untuk menghubungkan basis data (Server). kita dapat membuat pengguna dengan menggunakan CREATE USER IDENTIFIED BY BY.
Skema
Sebenarnya Oracle Database mengandung struktur logis dan fisik untuk memproses data. Skema Juga Struktur Logis untuk memproses data dalam Database (Komponen Memori). Itu dibuat secara otomatis oleh Oracle ketika pengguna dibuat. Ini berisi semua objek yang dibuat oleh pengguna yang terkait dengan skema itu. Misalnya, jika saya membuat pengguna dengan nama
santhosh
maka oracle membuat skema yang disebutsanthosh
, Oracle menyimpan semua objek yang dibuat oleh penggunasanthosh
dalamsanthosh
skema.Kita dapat membuat skema dengan menggunakan
CREATE SCHEMA
pernyataan, tetapi Oracle secara otomatis membuat pengguna untuk skema itu.Kita bisa menjatuhkan skema dengan menggunakan
DROP SCHEMA <name> RESTRICT
pernyataan, tetapi tidak bisa menghapus skema yang berisi objek, jadi untuk menjatuhkan skema, itu harus kosong. di sini kata membatasi memaksa Anda untuk menentukan skema tanpa objek.Jika kami mencoba menjatuhkan pengguna yang berisi objek dalam skemanya, kami harus menentukan
CASCADE
kata karena Oracle tidak memungkinkan Anda untuk menghapus pengguna yang berisi objek.DROP USER <name> CASCADE
jadi Oracle menghapus objek dalam skema dan kemudian menjatuhkan pengguna secara otomatis, Objek merujuk ke objek skema ini dari skema lain seperti tampilan dan sinonim pribadi pergi ke keadaan tidak valid.
sumber
Saya ingin menambahkan bahwa pernyataan di atas berlaku untuk implementasi Oracle tetapi database lain termasuk SQL Server dan PostgreSQL menggunakan skema hanya sebagai namespace, yaitu cara untuk mengelompokkan objek. Misalnya, skema Pementasan dapat mengelompokkan semua objek yang digunakan dalam pementasan data, skema Akuntansi dapat mengelompokkan semua objek yang terkait dengan Akuntansi.
sumber
Pengguna! = Skema, Pengguna dan Skema tidak sama tetapi mereka digunakan secara bergantian
sumber
Saya memberitahu Anda sesuai dengan konsep yang tidak didasarkan pada semua jenis sistem manajemen basis data yang Anda gunakan.
Secara Konseptual: Basis Data: adalah tumpukan data, sebagian besar data yang terkait atau tidak dikelola .
Skema: Skema mengacu pada penataan formal terkait / tidak terkait data sehingga dapat dikelola oleh beberapa sistem manajemen yang memahami definisi formal yang disediakan oleh skema. Skema pada dasarnya adalah skema untuk memberikan gambaran umum. Misalnya Anda memiliki XSD yang mendefinisikan skema untuk membuat XML. Anda memiliki RDBMS yang mendefinisikan skema sendiri yang didasarkan pada Aturan Codd yang pada dasarnya mendefinisikan skema untuk membuat RDBMS.
Sekarang jika Anda ingin tahu lebih banyak tentang rujukan Tautan ini .
Pengguna menggunakan bahasa formal yang ditentukan oleh skema untuk mengakses Database
sumber