

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# BUAT TAMPILAN TERWUJUD
<a name="materialized-view-create-sql-command"></a>

Membuat tampilan terwujud berdasarkan satu atau beberapa tabel Amazon Redshift. Anda juga dapat mendasarkan tampilan terwujud pada tabel eksternal yang dibuat menggunakan Spectrum atau kueri federasi. Untuk informasi tentang Spectrum, lihat[Amazon Redshift Spectrum](c-using-spectrum.md). Untuk informasi tentang kueri federasi, lihat[Menanyakan data dengan kueri gabungan di Amazon Redshift](federated-overview.md).

## Sintaksis
<a name="mv_CREATE_MATERIALIZED_VIEW-synopsis"></a>

```
CREATE MATERIALIZED VIEW mv_name
[ BACKUP { YES | NO } ]
[ table_attributes ]
[ AUTO REFRESH { YES | NO } ]
AS query
```

## Parameter
<a name="mv_CREATE_MATERIALIZED_VIEW-parameters"></a>

CADANGAN  
Klausa yang menentukan apakah tampilan terwujud harus disertakan dalam snapshot cluster otomatis dan manual.   
Untuk tampilan terwujud yang tidak berisi data penting, tentukan BACKUP NO untuk menghemat waktu pemrosesan saat membuat snapshot dan memulihkan dari snapshot dan untuk mengurangi ruang penyimpanan di Amazon Simple Storage Service. Pengaturan BACKUP NO tidak berpengaruh pada replikasi otomatis data ke node lain di dalam cluster, sehingga tampilan terwujud dengan BACKUP NO ditentukan dipulihkan jika terjadi kegagalan node. Defaultnya adalah BACKUP YA.

 *table\$1attributes*   
Klausa yang menentukan bagaimana data dalam tampilan terwujud didistribusikan, termasuk yang berikut:  
+  Gaya distribusi untuk tampilan terwujud, dalam format`DISTSTYLE { EVEN | ALL | KEY }`. Jika Anda menghilangkan klausa ini, gaya distribusinya adalah. `EVEN` Untuk informasi selengkapnya, lihat [Gaya distribusi](c_choosing_dist_sort.md).
+ Kunci distribusi untuk tampilan terwujud, dalam format`DISTKEY ( distkey_identifier )`. Untuk informasi selengkapnya, lihat [Menunjuk gaya distribusi](t_designating_distribution_styles.md).
+ Kunci sortir untuk tampilan terwujud, dalam format`SORTKEY ( column_name [, ...] )`. Untuk informasi selengkapnya, lihat [Sortir kunci](t_Sorting_data.md).

Sebagai *kueri*  
`SELECT`Pernyataan valid yang mendefinisikan tampilan terwujud dan isinya. Hasil yang ditetapkan dari kueri mendefinisikan kolom dan baris tampilan terwujud. Untuk informasi tentang batasan saat membuat tampilan terwujud, lihat[Batasan](#mv_CREATE_MATERIALIZED_VIEW-limitations).  
Selanjutnya, konstruksi bahasa SQL tertentu yang digunakan dalam kueri menentukan apakah tampilan terwujud dapat disegarkan secara bertahap atau sepenuhnya. Untuk informasi tentang metode penyegaran, lihat[MENYEGARKAN TAMPILAN TERWUJUD](materialized-view-refresh-sql-command.md). Untuk informasi tentang batasan penyegaran tambahan, lihat[Batasan untuk penyegaran inkremental](materialized-view-refresh-sql-command.md#mv_REFRESH_MARTERIALIZED_VIEW_limitations).  
Jika kueri berisi perintah SQL yang tidak mendukung penyegaran tambahan, Amazon Redshift menampilkan pesan yang menunjukkan bahwa tampilan terwujud akan menggunakan penyegaran penuh. Pesan mungkin atau mungkin tidak ditampilkan, tergantung pada aplikasi klien SQL. Periksa `state` kolom [STV\$1MV\$1INFO](r_STV_MV_INFO.md) untuk melihat jenis penyegaran yang digunakan oleh tampilan terwujud.

PENYEGARAN OTOMATIS  
Klausa yang menentukan apakah tampilan terwujud harus disegarkan secara otomatis dengan perubahan terbaru dari tabel dasarnya. Nilai default-nya adalah `NO`. Untuk informasi selengkapnya, lihat [Menyegarkan tampilan yang terwujud](materialized-view-refresh.md).

## Catatan penggunaan
<a name="mv_CREATE_MARTERIALIZED_VIEW_usage"></a>

Untuk membuat tampilan terwujud, Anda harus memiliki hak istimewa berikut:
+ BUAT hak istimewa untuk skema.
+ Hak istimewa SELECT tingkat tabel atau kolom pada tabel dasar untuk membuat tampilan terwujud. Jika Anda memiliki hak istimewa tingkat kolom pada kolom tertentu, Anda dapat membuat tampilan terwujud hanya pada kolom tersebut.

 Anda dapat membuat tampilan terwujud dari cluster datasharing jarak jauh dengan memberikan nama database eksternal di. `mv_name` 

## Penyegaran tambahan untuk tampilan terwujud dalam datashare
<a name="mv_CREATE_MARTERIALIZED_VIEW_datashare"></a>

 Amazon Redshift mendukung penyegaran otomatis dan inkremental untuk tampilan terwujud dalam penyimpanan data konsumen saat tabel dasar dibagikan. Penyegaran tambahan adalah operasi di mana Amazon Redshift mengidentifikasi perubahan pada tabel dasar atau tabel yang terjadi setelah penyegaran sebelumnya dan hanya memperbarui catatan terkait dalam tampilan terwujud. Ini berjalan lebih cepat daripada penyegaran penuh dan meningkatkan kinerja beban kerja. Anda tidak perlu mengubah definisi tampilan terwujud Anda untuk memanfaatkan penyegaran tambahan. 

Ada beberapa batasan yang perlu diperhatikan untuk memanfaatkan penyegaran tambahan dengan tampilan yang terwujud: 
+ Tampilan terwujud harus mereferensikan hanya satu database, baik lokal maupun jarak jauh. 
+ Penyegaran tambahan hanya tersedia pada tampilan baru yang terwujud. Oleh karena itu, Anda harus menghapus tampilan terwujud yang ada dan membuatnya kembali agar penyegaran tambahan terjadi.

Untuk informasi selengkapnya tentang membuat tampilan terwujud dalam database, lihat [Bekerja dengan tampilan di berbagi data Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/datashare-views), yang berisi beberapa contoh kueri.

## Pembaruan DDL ke tampilan terwujud atau tabel dasar
<a name="materialized-view-ddl"></a>

Saat menggunakan tampilan terwujud di Amazon Redshift, ikuti catatan penggunaan ini untuk pembaruan bahasa definisi data (DDL) ke tampilan terwujud atau tabel dasar.
+ Anda dapat menambahkan kolom ke tabel dasar tanpa memengaruhi tampilan terwujud yang mereferensikan tabel dasar.
+ Beberapa operasi dapat meninggalkan tampilan terwujud dalam keadaan yang tidak dapat disegarkan sama sekali. Contohnya adalah operasi seperti mengganti nama atau menjatuhkan kolom, mengubah jenis kolom, dan mengubah nama skema. Pandangan terwujud seperti itu dapat ditanyakan tetapi tidak dapat disegarkan. Dalam hal ini, Anda harus menjatuhkan dan membuat ulang tampilan yang terwujud. 
+ Secara umum, Anda tidak dapat mengubah definisi tampilan terwujud (pernyataan SQL-nya).
+ Anda tidak dapat mengganti nama tampilan yang terwujud. 

## Batasan
<a name="mv_CREATE_MATERIALIZED_VIEW-limitations"></a>

Anda tidak dapat menentukan tampilan terwujud yang mereferensikan atau menyertakan salah satu dari berikut ini:
+ Tampilan standar, atau tabel dan tampilan sistem.
+ Tabel sementara.
+ Fungsi yang ditentukan pengguna.
+ Klausul ORDER BY, LIMIT, atau OFFSET.
+ Referensi pengikatan akhir ke tabel dasar. Dengan kata lain, setiap tabel dasar atau kolom terkait yang direferensikan dalam kueri SQL yang menentukan dari tampilan terwujud harus ada dan harus valid. 
+ Fungsi khusus simpul pemimpin: CURRENT\$1SCHEMA, CURRENT\$1SCHEMAS, HAS\$1DATABASE\$1PRIVILEGE, HAS\$1SCHEMA\$1PRIVILEGE, HAS\$1TABLE\$1PRIVILEGE.
+ Anda tidak dapat menggunakan opsi AUTO REFRESH YES ketika definisi tampilan yang terwujud menyertakan fungsi yang dapat berubah atau skema eksternal. Anda juga tidak dapat menggunakannya saat menentukan tampilan terwujud pada tampilan terwujud lainnya.
+ Anda tidak harus menjalankan secara manual [MENGANALISA](r_ANALYZE.md) pada tampilan yang terwujud. Ini terjadi saat ini hanya melalui ANALISIS OTOMATIS. Untuk informasi selengkapnya, lihat [Menganalisis tabel](t_Analyzing_tables.md).
+ Tabel yang dilindungi RLS atau dilindungi DDM. 
+ Pembuatan tampilan terwujud dari cluster pembagian data jarak jauh tidak mendukung referensi pada tampilan terwujud lainnya, tabel Spektrum, tabel yang ditentukan dalam cluster Redshift yang berbeda dan. UDFs Ini didukung untuk pembuatan tampilan terwujud dari cluster lokal (produser). 

## Contoh
<a name="mv_CREATE_MARTERIALIZED_VIEW_examples"></a>

Contoh berikut menciptakan tampilan terwujud dari tiga tabel dasar yang digabungkan dan digabungkan. Setiap baris mewakili kategori dengan jumlah tiket yang terjual. Saat Anda menanyakan tampilan materialisasi tickets\$1mv, Anda langsung mengakses data yang telah dihitung sebelumnya dalam tampilan materialisasi tickets\$1mv.

```
CREATE MATERIALIZED VIEW tickets_mv AS
    select   catgroup,
    sum(qtysold) as sold
    from     category c, event e, sales s
    where    c.catid = e.catid
    and      e.eventid = s.eventid
    group by catgroup;
```

Contoh berikut membuat tampilan terwujud mirip dengan contoh sebelumnya dan menggunakan fungsi agregat MAX (). 

```
CREATE MATERIALIZED VIEW tickets_mv_max AS
    select   catgroup,
    max(qtysold) as sold
    from     category c, event e, sales s
    where    c.catid = e.catid
    and      e.eventid = s.eventid
    group by catgroup;

SELECT name, state FROM STV_MV_INFO;
```

Contoh berikut menggunakan klausa UNION ALL untuk bergabung dengan tabel Amazon `public_sales` Redshift dan tabel Redshift `spectrum.sales` Spectrum untuk membuat tampilan material. `mv_sales_vw` Untuk informasi tentang perintah CREATE EXTERNAL TABLE untuk Amazon Redshift Spectrum, [CREATE EXTERNAL TABLE](r_CREATE_EXTERNAL_TABLE.md) lihat. Tabel eksternal Redshift Spectrum mereferensikan data di Amazon S3.

```
CREATE MATERIALIZED VIEW mv_sales_vw as
select salesid, qtysold, pricepaid, commission, saletime from public.sales
union all
select salesid, qtysold, pricepaid, commission, saletime from spectrum.sales
```

Contoh berikut membuat tampilan terwujud `mv_fq` berdasarkan tabel eksternal kueri federasi. Untuk informasi tentang kueri federasi, lihat[BUAT SKEMA EKSTERNAL](r_CREATE_EXTERNAL_SCHEMA.md).

```
CREATE MATERIALIZED VIEW mv_fq as select firstname, lastname from apg.mv_fq_example;

select firstname, lastname from mv_fq;
 firstname | lastname
-----------+----------
 John      | Day
 Jane      | Doe
(2 rows)
```

Contoh berikut menunjukkan definisi tampilan terwujud.

```
SELECT pg_catalog.pg_get_viewdef('mv_sales_vw'::regclass::oid, true);

pg_get_viewdef
---------------------------------------------------
create materialized view mv_sales_vw as select a from t;
```

 Contoh berikut menunjukkan cara mengatur AUTO REFRESH dalam definisi tampilan terwujud dan juga menentukan DISTSTYLE. Pertama, buat tabel dasar sederhana. 

```
CREATE TABLE baseball_table (ball int, bat int);
```

Kemudian, buat tampilan yang terwujud.

```
CREATE MATERIALIZED VIEW mv_baseball DISTSTYLE ALL AUTO REFRESH YES AS SELECT ball AS baseball FROM baseball_table;
```

Sekarang Anda dapat menanyakan tampilan mv\$1baseball yang terwujud. Untuk memeriksa apakah AUTO REFRESH diaktifkan untuk tampilan terwujud, lihat[STV\$1MV\$1INFO](r_STV_MV_INFO.md).

Contoh berikut membuat tampilan terwujud yang mereferensikan tabel sumber di database lain. Ini mengasumsikan bahwa database yang berisi tabel sumber, Database\$1A, berada di cluster atau workgroup yang sama dengan tampilan terwujud Anda, yang Anda buat di Database\$1b. (Anda dapat mengganti database Anda sendiri untuk sampel.) *Pertama, buat tabel di Database\$1a disebut *kota*, dengan kolom nama kota.* Jadikan tipe data kolom sebagai VARCHAR. *Setelah Anda membuat tabel sumber, jalankan perintah berikut di Database\$1b untuk membuat tampilan terwujud yang sumbernya adalah tabel kota Anda.* Pastikan untuk menentukan database dan skema tabel sumber dalam klausa FROM:

```
CREATE MATERIALIZED VIEW cities_mv AS
SELECT  cityname
FROM    database_A.public.cities;
```

Kueri tampilan terwujud yang Anda buat. Kueri mengambil catatan yang sumber aslinya adalah tabel *kota* di Database\$1a:

```
select * from cities_mv;
```

Ketika Anda menjalankan pernyataan SELECT, *cities\$1mv* mengembalikan catatan. Rekaman disegarkan dari tabel sumber hanya ketika pernyataan REFRESH dijalankan. Juga, perhatikan bahwa Anda tidak dapat memperbarui catatan secara langsung dalam tampilan terwujud. Untuk informasi tentang menyegarkan data dalam tampilan terwujud, lihat. [MENYEGARKAN TAMPILAN TERWUJUD](materialized-view-refresh-sql-command.md)

Untuk detail tentang ikhtisar tampilan terwujud dan perintah SQL yang digunakan untuk menyegarkan dan menghapus tampilan terwujud, lihat topik berikut:
+ [Tampilan terwujud di Amazon Redshift](materialized-view-overview.md)
+ [MENYEGARKAN TAMPILAN TERWUJUD](materialized-view-refresh-sql-command.md)
+ [JATUHKAN TAMPILAN TERWUJUD](materialized-view-drop-sql-command.md)