Tabel Virtual adalah tabel sementara atau tabel logis yang tidak menyimpan data secara permanen seperti tabel fisik.
Tabel virtual biasanya dihasilkan dari query SQL dan digunakan untuk mempermudah pengolahan data, laporan, atau query kompleks.
Di MySQL, tabel virtual umumnya berupa:
- View
- Subquery (Derived Table)
- Temporary Table
Contents
2. View sebagai Tabel Virtual
View adalah bentuk tabel virtual yang paling umum digunakan. View menyimpan query, bukan data.
Ciri-ciri View:
- Tidak menyimpan data fisik
- Data selalu mengikuti tabel asli
- Bisa digunakan seperti tabel biasa
Contoh View:
CREATE VIEW view_mahasiswa_aktif AS
SELECT nama, jurusan
FROM mahasiswa
WHERE status_aktif = 1;
Menggunakan view:
SELECT * FROM view_mahasiswa_aktif;
3. Subquery (Derived Table)
Subquery pada klausa FROM menghasilkan tabel virtual sementara yang hanya berlaku selama query dijalankan.
Contoh Derived Table:
SELECT jurusan_id, rata_umur
FROM (
SELECT jurusan_id, AVG(umur) AS rata_umur
FROM mahasiswa
GROUP BY jurusan_id
) AS data_rata;
Ciri utama:
- Tidak disimpan di database
- Hanya ada saat query dijalankan
- Sangat fleksibel untuk analisis data
4. Temporary Table
Temporary Table adalah tabel sementara yang dibuat secara eksplisit dan otomatis terhapus saat koneksi ditutup.
Sintaks membuat Temporary Table:
CREATE TEMPORARY TABLE temp_mahasiswa (
nama VARCHAR(100),
jurusan VARCHAR(50)
);
Mengisi data ke Temporary Table:
INSERT INTO temp_mahasiswa
SELECT nama, jurusan FROM mahasiswa;
Menggunakan temporary table:
SELECT * FROM temp_mahasiswa;
5. Perbedaan Tabel Fisik dan Tabel Virtual
| Aspek | Tabel Fisik | Tabel Virtual |
|---|---|---|
| Penyimpanan | Permanen | Tidak permanen |
| Data disimpan | Ya | Tidak |
| Contoh | TABLE | VIEW, Subquery |
| Kinerja | Stabil | Tergantung query |
| Keamanan | Standar | Bisa dibatasi |
6. Kapan Menggunakan Tabel Virtual
Gunakan tabel virtual ketika:
- Query terlalu kompleks
- Membuat laporan rutin
- Membatasi akses data
- Analisis data sementara
- Menghindari duplikasi data
7. Studi Kasus Sederhana
Menampilkan mahasiswa dengan umur di atas rata-rata menggunakan tabel virtual:
SELECT *
FROM mahasiswa
WHERE umur > (
SELECT AVG(umur) FROM mahasiswa
);
Kesimpulan
Tabel virtual merupakan solusi efektif dalam pengolahan data MySQL tanpa harus membuat tabel fisik baru. Dengan memanfaatkan View, Subquery, dan Temporary Table, pengelolaan data menjadi lebih fleksibel, rapi, dan efisien. Pemahaman tabel virtual sangat penting untuk query lanjutan dan optimasi database.