PostgreSQL

Cara Menggunakan Paparan Terwujud PostgreSQL

Cara Menggunakan Paparan Terwujud PostgreSQL

Paparan di PostgreSQL adalah jadual grafik yang memaparkan data dari jadual yang sesuai. Pandangan biasa juga boleh diubah suai. PostgreSQL membawa konsep pandangan ke tahap seterusnya dengan membenarkan pandangan untuk menyimpan maklumat secara material, disebut sebagai pandangan yang terwujud. Pandangan yang terwujud mengekalkan output dari pertanyaan yang rumit dan memakan masa, yang membolehkan anda membuat pertanyaan dengan cepat pada bila-bila masa. Sudut pandang yang material sering digunakan di gudang data dan aplikasi kecerdasan perniagaan kerana sangat membantu dalam situasi yang memerlukan akses cepat ke data.

Mengapa Menggunakan Pandangan Terwujud?

Sekiranya arahan pandangan terlalu lambat untuk anda, anda mungkin lebih suka menggunakan pandangan yang terwujud. Paparan yang material mempunyai banyak fleksibiliti dengan membolehkan anda mengekalkan perwakilan secara material dalam pangkalan data dengan masa akses yang lebih pendek. Anggaplah anda diminta membuat pertanyaan pangkalan data untuk bergabung dengan beberapa jadual, menghapus baris dari koleksi gabungan, dan menyusun jadual dengan pelbagai cara. Ini boleh menjadi pertanyaan yang rumit dan memakan masa, dan tanpa pandangan yang terwujud, anda akhirnya akan menggunakan pandangan yang terwujud untuk mengatasi dilema ini. Artikel ini mengajar anda bagaimana menggunakan pandangan yang terwujud di PostgreSQL.

Sintaks

>> BUAT PANDANGAN BAHAN view_name SEBAGAI pertanyaan DENGAN [NO] DATA;

Penjelasan untuk pandangan umum ini adalah seperti berikut:

Cara Menggunakan Paparan Terwujud

Mulakan shell baris perintah PostgreSQL anda untuk mula mengerjakan pandangan yang terwujud.

Berikan nama pelayan, pangkalan data yang ingin anda kerjakan, nombor port, dan nama pengguna untuk mula menggunakan shell perintah. Biarkan ruang kosong jika anda mahu menggunakan sistem lalai.

Contoh 1: Paparan Ringkas

Untuk memahami pandangan yang terwujud, pertama anda perlu memahami pandangan yang mudah. Jadi, buat jadual baru, 'Pelajar,' menggunakan perintah CREATE TABLE, seperti yang dilampirkan.

>> BUAT JADUAL Pelajar (sid sidial PRIMARY KEY, sname VARCHAR (100) NOT NULL, age VARCHAR (100) NOT NULL)

Selepas itu, masukkan data ke dalamnya menggunakan pertanyaan INSERT.

Ambil rekod jadual 'Pelajar' menggunakan pernyataan SELECT untuk paparan ringkas.

>> PILIH * DARI Pelajar;

Contoh 2: Pandangan Berwarna Mudah

Sekarang, sudah tiba masanya untuk menutup pandangan yang terwujud. Kami akan menggunakan jadual 'Pelajar' untuk membuat pandangan yang terwujud. Kami akan membuat pandangan terwujud bernama 'std_view' menggunakan perintah 'CREATE MATERIALIZED VIEW'. Dalam paparan ini, kami akan mengambil medan nama pelajar 'sname' dari jadual 'Pelajar', dikelompokkan dan disusun mengikut urutan menaik di lajur 'sname'.

>> BUAT PANDANGAN MATERIALISASI std_view SEBAGAI PILIH sname DARI KUMPULAN Pelajar MENGIKUT sname ORDER BY sname;

Sekarang, menggunakan pertanyaan PILIH untuk melaksanakan paparan, kami akan mengembalikan nama pelajar di lajur 'sname' pada jadual 'Pelajar'.

>> PILIH * DARI std_view;

Contoh 3: Pandangan Terwujud Menggunakan Klausa DI MANA

Sekarang, kita akan membuat pandangan terwujud menggunakan klausa WHERE. Pertimbangkan jadual 'Pelajar' berikut dengan beberapa perubahan pada nilainya.

Kemudian, kami akan membuat pandangan terwujud bernama 'teststd' menggunakan pertanyaan 'CREATE MATERIALIZED VIEW'. Kami akan memilih catatan jadual 'Pelajar' di mana nilai lajur 'umur' lebih besar daripada '25' menggunakan klausa DI MANA. Pertanyaan berfungsi dengan baik, seperti yang dilihat dalam gambar.

>> BUAT PANDANGAN MATERIALISASI teststd SEBAGAI PILIH sid, sname, umur DARI Pelajar DI MANA umur> '25';

Akhirnya, kami akan melaksanakan pandangan terwujud yang baru kami buat menggunakan perintah SELECT, seperti di bawah. Anda akan melihat bahawa ia akan mengembalikan semua rekod dari jadual 'Pelajar' di mana lajur 'usia' mempunyai nilai lebih besar daripada '25.'

>> PILIH * DARI teststd;

Contoh 4: Segarkan Paparan Terwujud Dengan Menggunakan DATA TANPA DATA

Dalam contoh ini, kami akan membuat paparan yang terwujud, di mana kami akan menggunakan klausa DENGAN TANPA DATA untuk menyegarkan paparan. Andaikan jadual 'Pelajar' berikut dengan beberapa perubahan nilainya.

Kami sekarang akan membuat pandangan 'teststd' yang terwujud. Paparan ini akan memilih rekod dari jadual 'pelajar' di mana umur pelajar kurang dari '40.'Rekod yang diambil akan dikelompokkan dan diurutkan mengikut urutan menaik di lajur' sid '. Pada akhir pertanyaan, kami akan menggunakan klausa DENGAN TANPA DATA untuk menunjukkan bahawa pertanyaan tidak akan menyimpan maklumat dalam pandangan yang terwujud. Paparan yang ditunjukkan di bawah harus berjaya melakukan tindakan ini.

>> BUAT MATERIALISED VIEW teststd SEBAGAI PILIH sid, sname, umur DARI Pelajar DI MANA usia < '40' GROUP BY sid ORDER BY sid WITH NO DATA;

Apabila anda menambahkan klausa 'DENGAN TIADA DATA' ke paparan yang terwujud, ini akan menjadikannya kosong. Pandangan terwujud ini tidak dapat ditanyakan. Seperti yang anda lihat pada gambar berikut, gambar tidak diambil dalam paparan yang baru dibuat.

Pernyataan REFRESH MATERIALIZED VIEW digunakan untuk mengimport data ke dalam pandangan yang terwujud. Isi pandangan yang terwujud dengan menjalankan pertanyaan REFRESH MATERIALISED VIEW berikut di shell. Seperti yang anda lihat, pertanyaan ini berjaya.

>> REFRESH MATERIALISED VIEW teststd;

Sekali lagi, ambil rekod paparan terwujud 'teststd' menggunakan pernyataan SELECT di shell. Kali ini, pertanyaan SELECT berfungsi dengan baik kerana pernyataan 'REFRESH' telah memuatkan kandungan ke dalam paparan yang terwujud.

Contoh 5: Jatuhkan Paparan Terwujud

Perintah berikut akan menghapus pandangan yang terwujud.

>> PANDANGAN MATERIALISASI DROP std_view;

Kesimpulannya

Artikel ini menunjukkan kepada anda bagaimana menggunakan pandangan yang terwujud melalui klausa WHERE dan pertanyaan REFRESH di shell baris perintah.

Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...
Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...
Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...