Perbedaan antara tampilan dan tabel dalam sql

136

Kemungkinan Gandakan:
Perbedaan Antara Tampilan dan Tabel dalam Kinerja

Apa perbedaan utama antara tampilan dan tabel dalam SQL. Apakah ada keuntungan menggunakan tampilan daripada tabel.

Mahesh KP
sumber
1
Kemungkinan duplikat Perbedaan Antara Tampilan dan Tabel dalam Kinerja
Brian Tompsett - 汤 莱恩
6
Sepertinya bukan duplikat. Posting tertaut menanyakan secara spesifik tentang kinerja / efisiensi. Posting ini menanyakan lebih lanjut tentang bagaimana mereka berbeda sebagai tipe data, sebagaimana jawaban yang dipilih mewakili.
Ð ..

Jawaban:

197

Tabel berisi data, tampilan hanya SELECTpernyataan yang telah disimpan dalam database (kurang lebih, tergantung pada database Anda).

Keuntungan dari tampilan adalah dapat menggabungkan data dari beberapa tabel sehingga menciptakan tampilan baru. Katakanlah Anda memiliki database dengan gaji dan Anda perlu melakukan beberapa pertanyaan statistik yang rumit di atasnya.

Alih-alih mengirim kueri kompleks ke database setiap saat, Anda dapat menyimpan kueri sebagai tampilan lalu SELECT * FROM view

Aaron Digulla
sumber
11
Jadi tampilan sebenarnya adalah tabel yang dibuat oleh pernyataan pilih. Tampilan disimpan dan dapat diakses sehingga apa yang akan berbeda antara membuat tabel baru dengan informasi itu, bukan tampilan.
Doug Hauf
23
Anda dapat menganggap tampilan sebagai "pernyataan pilih tersimpan" yang dapat Anda ulangi. Ini bukan meja; meskipun beberapa database memungkinkan untuk membuat tampilan yang memiliki tabel nyata di bawahnya, itu sebenarnya hanya SELECTpernyataan yang mengembalikan hasil.
Aaron Digulla
1
sesuatu yang perlu diperhatikan: beberapa tampilan daftar sistem database bersama dengan tabel pada "show tables;" perintah.
Dexter
1
@ShwetabhShekhar Itu tergantung pada database Anda dan jenis tampilan. Dalam bentuk yang paling sederhana, basis data akan mengeksekusi SQL seolah-olah Anda baru saja mengirim semuanya. Dalam hal ini, Anda hanya menyimpan pengiriman banyak byte berulang kali. Beberapa database dapat menjalankan kueri dan menyimpan hasilnya dalam tabel (nyata). Maka Anda perlu memecahkan masalah entah bagaimana yang Anda sebutkan. Periksa dokumentasi DB cara melakukannya.
Aaron Digulla
1
@FoxDeploy Ya, karena pandangan itu tidak membantu sama sekali. Skenario yang berguna adalah tampilan dengan izin terbatas atau tampilan yang memilih tabel dari skema lain dalam database yang sama atau database lain (tabel jarak jauh).
Aaron Digulla
34

Tabel: Tabel adalah penyimpanan awal untuk menyimpan data dan informasi dalam RDBMS. Tabel adalah kumpulan entri data terkait dan terdiri dari kolom dan baris.

Tampilan: Tampilan adalah tabel virtual yang isinya ditentukan oleh kueri. Kecuali diindeks, tampilan tidak ada sebagai kumpulan nilai data yang disimpan dalam database. Keuntungan lebih dari tabel adalah

  • Kami dapat menggabungkan kolom / baris dari beberapa tabel atau tampilan lain dan memiliki tampilan konsolidasi.
  • Tampilan dapat digunakan sebagai mekanisme keamanan dengan membiarkan pengguna mengakses data melalui tampilan, tanpa memberikan izin kepada pengguna untuk secara langsung mengakses tabel dasar yang mendasari tampilan
  • Ini bertindak sebagai lapisan abstrak ke sistem hilir, sehingga setiap perubahan dalam skema tidak diekspos dan karenanya sistem hilir tidak terpengaruh.
Terkirim_Arun
sumber
16

Tampilan adalah tabel virtual. Tampilan terdiri dari baris dan kolom seperti tabel. Perbedaan antara tampilan dan tabel adalah bahwa tampilan adalah definisi yang dibangun di atas tabel lain (atau tampilan), dan tidak menyimpan data itu sendiri. Jika data berubah dalam tabel yang mendasarinya, perubahan yang sama tercermin dalam tampilan. Tampilan dapat dibangun di atas satu tabel atau beberapa tabel. Itu juga dapat dibangun di atas tampilan lain. Di halaman SQL Buat Tampilan, kita akan melihat bagaimana tampilan dapat dibangun.

Tampilan menawarkan keuntungan sebagai berikut:

  1. Kemudahan penggunaan: Tampilan menyembunyikan kompleksitas tabel database dari pengguna akhir. Pada dasarnya kita bisa menganggap pandangan sebagai lapisan abstraksi di atas tabel database.

  2. Penghematan ruang: Tampilan membutuhkan sedikit ruang untuk menyimpan, karena mereka tidak menyimpan data aktual.

  3. Keamanan data tambahan: Tampilan hanya dapat menyertakan kolom tertentu dalam tabel sehingga hanya kolom yang tidak sensitif yang disertakan dan diekspos ke pengguna akhir. Selain itu, beberapa basis data memungkinkan tampilan memiliki pengaturan keamanan yang berbeda, sehingga menyembunyikan data sensitif dari pengintaian.

Jawaban dari: http://www.1keydata.com/sql/sql-view.html

SuperGuy10
sumber
4

Dalam pandangan tidak ada hubungan langsung atau fisik dengan database. Dan Modifikasi melalui tampilan (mis. Menyisipkan, memperbarui, menghapus) tidak diizinkan. Itu hanya seperangkat tabel logis

Haris
sumber
1
Di SQL Server, Anda bisa memodifikasi tabel yang mendasarinya melalui tampilan, jika hanya merujuk satu tabel dasar. lihat di sini
Kristen Hammack
3

Suatu pandangan membantu kita dalam menghilangkan pemanfaatan ruang basis data setiap saat. Jika Anda membuat tabel, tabel itu disimpan dalam basis data dan menampung ruang di seluruh keberadaannya. Alih-alih tampilan digunakan ketika kueri berjalan maka menghemat ruang db. Dan kita tidak dapat membuat tabel besar sepanjang waktu bergabung dengan tabel yang berbeda meskipun kita bisa tetapi tergantung seberapa besar tabel tersebut untuk menghemat ruang. Jadi tampilan sementara hanya membuat tabel dengan bergabung dengan tabel berbeda pada saat run. Pakar, Harap perbaiki saya jika saya salah.

Deepak Ranjan Mohanty
sumber
2

Meja:

Tabel menyimpan data dalam database dan berisi data.

Melihat:

Lihat adalah tabel imajiner, hanya berisi bidang (kolom) dan tidak berisi data (baris) yang akan dibingkai pada waktu berjalan Tampilan dibuat dari satu atau lebih dari satu tabel dengan bergabung, dengan kolom yang dipilih. Tampilan dibuat untuk menyembunyikan beberapa kolom dari pengguna untuk alasan keamanan, dan untuk menyembunyikan informasi yang ada di kolom. Tampilan mengurangi upaya untuk menulis kueri untuk mengakses kolom tertentu setiap kali Alih-alih memukul kueri kompleks ke database setiap kali, kita dapat menggunakan tampilan

Hari
sumber