MySQL Tampilan: Cara Membuat Tampilan dari Tabel dengan Contoh
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.
Cara Membuat Tampilan di MySQL
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 akun hanya dapat melihat nomor anggota, nama dan jenis kelamin dari tabel anggota. Untuk mencapai ini, Anda dapat membuat LIHAT –
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.
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 resmi untuk departemen akuntansi yang dikembalikan. Rincian lain yang ditemukan di 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
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.
Menjatuhkan Tampilan 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 `;
Mengapa menggunakan tampilan?
Anda mungkin ingin menggunakan tampilan terutama karena 3 alasan berikut
- Pada akhirnya, Anda akan menggunakan milik Anda SQL pengetahuan, untuk membuat aplikasi, yang akan menggunakan database untuk kebutuhan data. Disarankan agar Anda menggunakan VIEWS struktur tabel asli dalam aplikasi Anda daripada menggunakan tabel itu sendiri. Hal ini memastikan bahwa ketika Anda memfaktorkan ulang DB Anda, kode lama Anda akan melihat skema asli melalui tampilan 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.
Ringkasan
- Tampilan adalah tabel virtual; mereka tidak berisi data yang dikembalikan. Data disimpan dalam tabel yang direferensikan dalam pernyataan SELECT.
- Tampilan meningkatkan keamanan basis data dengan hanya memperlihatkan data yang dimaksud kepada pengguna yang berwenang. Tampilan menyembunyikan data sensitif.
- Tampilan membuat hidup menjadi mudah karena Anda tidak perlu menulis kueri rumit berulang kali.
- Dimungkinkan untuk menggunakan INSERT, UPDATE dan DELETE pada VIEW. Operasi ini akan mengubah tabel yang mendasari VIEW. Satu-satunya pertimbangan adalah bahwa VIEW harus berisi semua kolom NOT NULL dari tabel yang direferensikannya. Idealnya, Anda tidak boleh menggunakan VIEWS untuk memperbarui.