MySQL Tampilan: Cara Membuat Tampilan dari Tabel

โšก Ringkasan Cerdas

MySQL View adalah tabel virtual yang tidak menyimpan data sendiri dan sebagai gantinya menyajikan hasil dari kueri SELECT yang tersimpan. Sumber daya ini menjelaskan cara membuat, mengkueri, menggabungkan, dan menghapus view, dengan contoh yang dapat dijalankan dari basis data myflixdb.

  • ๐Ÿงฑ Definisi Inti: View adalah pernyataan SELECT bernama yang berperilaku seperti tabel tetapi tidak menyimpan data apa pun.
  • ๐Ÿ” Manfaat Keamanan: Tampilan hanya memperlihatkan kolom yang diizinkan dan menyembunyikan kolom sensitif dari pengguna.
  • โ™ป๏ธ Manfaat Dapat Digunakan Kembali: Sebuah perintah JOIN multi-tabel yang kompleks ditulis sekali dan digunakan kembali sebagai perintah SELECT satu baris.
  • ๏ธ Sintaks Pembuatan: Pernyataan CREATE VIEW `view_name` AS SELECT mendefinisikan tampilan di dalam basis data.
  • ๏ธ Perintah Siklus Hidup: SHOW CREATE VIEW akan menampilkan query yang tersimpan, dan DROP VIEW akan menghapusnya tanpa menyentuh tabel dasar.

MySQL views

Apa yang dimaksud dengan Tampilan di MySQL?

PANDANGAN adalah tabel virtual yang tidak menyimpan datanya sendiri tetapi menampilkan data yang disimpan di tabel lain. Dengan kata lain, VIEWS tidak lain hanyalah SQL Query. Tampilan dapat berisi semua atau beberapa baris dari tabel. A MySQL view dapat menampilkan data dari satu tabel atau banyak tabel.

MySQL Tampilan sintaksis

Sekarang mari kita lihat sintaks dasar yang digunakan untuk membuat tampilan MySQL.

CREATE VIEW `view_name` AS SELECT statement;

MANA

  • โ€œBUAT LIHAT `nama_tampilan`โ€ mengatakan MySQL server untuk membuat objek tampilan di database bernama `nama_tampilan`
  • โ€œPernyataan SEBAGAI PILIHโ€ adalah pernyataan SQL yang akan dikemas dalam MySQL Tampilan. Pernyataan SELECT dapat berisi data dari satu tabel atau beberapa tabel.

Mengapa menggunakan tampilan?

Sebelum membangunnya, ada baiknya mengetahui apa sebenarnya yang Anda dapatkan dari pemandangan tersebut.

Anda mungkin ingin menggunakan tampilan terutama karena 3 alasan berikut

  • Pada akhirnya, Anda akan menggunakan milik Anda SQL Pengetahuan ini diperlukan untuk membuat aplikasi yang akan menggunakan basis data untuk kebutuhan data. Disarankan untuk menggunakan VIEW dari struktur tabel asli dalam aplikasi Anda, alih-alih menggunakan tabel itu sendiri. Ini memastikan bahwa ketika Anda melakukan refactoring basis data, kode lama Anda akan melihat skema asli melalui view tanpa merusak aplikasi.
  • VIEWS meningkatkan penggunaan ulang. Anda tidak perlu membuat kueri rumit yang melibatkan penggabungan berulang kali. Semua kerumitan diubah menjadi satu baris kueri menggunakan VIEWS. Kode yang dipadatkan seperti itu akan lebih mudah diintegrasikan ke dalam aplikasi Anda. Ini akan menghilangkan kemungkinan kesalahan ketik dan kode Anda akan lebih mudah dibaca.
  • VIEWS membantu dalam keamanan data. Anda dapat menggunakan tampilan untuk hanya menampilkan informasi resmi kepada pengguna dan menyembunyikan data sensitif seperti nomor kartu kredit.

Cara Membuat Tampilan di MySQL

Setelah sintaks dan manfaatnya ditetapkan, langkah-langkah di bawah ini membangun tampilan kerja dari awal hingga akhir.

Berikut ini adalah proses langkah demi langkah untuk membuat tampilan di MySQL:

Langkah 1) Buat tampilan pertama kita menggunakan "myflixdb"

Sekarang mari kita buat tampilan pertama kita menggunakan โ€œmyflixdbโ€ kita akan membuat tampilan sederhana yang membatasi kolom yang terlihat di tabel anggota.

Misalkan persyaratan otorisasi menyatakan bahwa departemen akuntansi hanya dapat melihat nomor anggota, nama, dan jenis kelamin dari tabel anggota. Untuk mencapai hal ini, Anda dapat membuat VIEW โ€“

CREATE VIEW `accounts_v_members` AS SELECT `membership_number`,`full_names`,`gender` FROM `members`;

Langkah 2) Memperluas node tampilan

Menjalankan skrip di atas dalam MySQL workbench terhadap myflixdb dan memperluas simpul tampilan di penjelajah basis data memberi kita hasil berikut.

Buat Tampilan di MySQL

Perhatikan objek account_v_members sekarang terlihat di objek tampilan database.

Langkah 3) Jalankan pernyataan SELECT

Sekarang mari kita jalankan a PILIH pernyataan yang memilih semua bidang dari tampilan seperti yang ditunjukkan di bawah ini MySQL membuat contoh tampilan.

SELECT * FROM `accounts_v_members`;

Langkah 4) Jalankan skrip

Menjalankan skrip di atas dalam MySQL workbench terhadap myflixdb memberi kita hasil seperti yang ditunjukkan di bawah ini.

membership_number full_names gender
1 Janet Jones Female
2 Janet Smith Jones Female
3 Robert Phil Male
4 Gloria Williams Female
5 Leonard Hofstadter Male
6 Sheldon Cooper Male
7 Rajesh Koothrappali Male
8 Leslie Winkle Male
9 Howard Wolowitz Male

Hanya kolom yang diotorisasi untuk departemen akuntansi yang ditampilkan. Detail lain yang terdapat dalam tabel anggota telah disembunyikan.

Jika kita ingin melihat pernyataan SQL yang membentuk tampilan tertentu, kita dapat menggunakan skrip di bawah ini untuk melakukannya.

SHOW CREATE VIEW `accounts_v_members`;

Mengeksekusi skrip di atas memberi Anda nama tampilan dan pernyataan SQL SELECT yang digunakan untuk membuat tampilan.

Bergabung dan Melihat di MySQL

Tampilan tabel tunggal adalah kasus paling sederhana. Tampilan menjadi jauh lebih berharga ketika membungkus kueri multi-tabel.

Sekarang mari kita lihat contoh yang cukup rumit yang melibatkan beberapa tabel dan penggunaan bergabung.

Kami akan mengemas GABUNG yang dibuat yang mendapat informasi dari tiga (3) tabel yaitu anggota, film dan persewaan film. Di bawah ini adalah skrip yang membantu kami mencapainya.

CREATE VIEW `general_v_movie_rentals` AS SELECT mb.`membership_number`,mb.`full_names`,mo.`title`,mr.`transaction_date`,mr.`return_date`
FROM `movierentals` AS mr
INNER JOIN `members` AS mb ON mr.`membership_number` = mb.`membership_number`
INNER JOIN `movies` AS mo ON mr.`movie_id` = mo.`movie_id`;

Mengeksekusi skrip di atas akan membuat tampilan bernama general_v_movie_rentals di myflixdb kami

Sekarang mari kita pilih semua bidang dari tabel bernama general_v_movie_rentals.

SELECT * FROM `general_v_movie_rentals`;

Menjalankan skrip di atas dalam MySQL meja kerja terhadap myflixdb memberi kita hasil yang ditunjukkan di bawah ini.

membership_number full_names title transaction_date return_date
1 Janet Jones Pirates of the Caribean 4 20-06-2012 28-06-2012
1 Janet Jones Forgetting Sarah Marshal 22-06-2012 25-06-2012
3 Robert Phil Forgetting Sarah Marshal 22-06-2012 25-06-2012
2 Janet Smith Jones Forgetting Sarah Marshal 21-06-2012 24-06-2012
3 Robert Phil X-Men 23-06-2012 28-06-2012

Perhatikan bahwa kita tidak perlu menulis kueri JOIN yang rumit untuk mendapatkan informasi tentang anggota, film, dan detail penyewaan film. Kita cukup menggunakan tampilan dalam pernyataan SELECT biasa seperti tabel biasa lainnya. Tampilan dapat dipanggil dari mana saja dalam sistem aplikasi yang berjalan di atas myflixdb.

Menjatuhkanping Tampilan di MySQL

Perintah DROP dapat digunakan untuk menghapus tampilan dari Database itu tidak lagi diperlukan. Sintaks dasar untuk menghilangkan tampilan adalah sebagai berikut.

DROP VIEW `general_v_movie_rentals`;

Menjatuhkanping View hanya menghapus query yang tersimpan; tabel-tabel yang mendasarinya dan datanya tidak tersentuh.

Pertanyaan Umum Demo Slot

Terkadang. Perintah INSERT, UPDATE, dan DELETE hanya berfungsi pada tampilan sederhana yang berisi setiap kolom NOT NULL dari tabel dasar. Tampilan yang dibangun berdasarkan join atau fungsi agregasi tidak dapat diperbarui.

Sebuah tabel secara fisik menyimpan baris-baris data di disk. Sebuah view hanya menyimpan pernyataan SELECT dan membangun kembali baris-barisnya pada setiap kueri, sehingga selalu mencerminkan data terkini dalam tabel dasar.

Tidak. Sebuah view menjalankan perintah SELECT yang mendasarinya pada setiap panggilan, sehingga performanya sesuai dengan query aslinya. MySQL tidak memiliki materialized view, dan kecepatannya masih bergantung pada indeks tabel dasar.

Ya. Asisten AI dalam alat-alat seperti MySQL Workbench Anda dapat membuat pernyataan CREATE VIEW dari deskripsi. Verifikasi daftar kolom dan kunci gabungan sebelum menjalankannya.

Sebagian. AI dapat menandai kolom-kolom sensitif, seperti nomor kartu, dan menyarankan daftar kolom yang lebih aman. Keputusan akhir tetap harus mengikuti kebijakan akses data organisasi Anda.

Ringkaslah postingan ini dengan: