Skip to content

Tabel deskripsi_wisata

Kolom

Nama KolomTipe DataConstraintDeskripsi
kd_desaTEXTPRIMARY KEY, REFERENCES public.desa_wisata(kd_desa)Kode desa wisata (foreign key)
atraksiJSONBArray objek atraksi wisata
penginapanJSONBArray objek penginapan
paket_wisataJSONBArray objek paket wisata
suvenirJSONBArray objek suvenir
created_atTIMESTAMP WITH TIME ZONEDEFAULT CURRENT_TIMESTAMPWaktu pembuatan
updated_atTIMESTAMP WITH TIME ZONEDEFAULT CURRENT_TIMESTAMPWaktu terakhir diperbarui

Struktur JSON

Atraksi

json
[
  {
    "nama": "string",
    "deskripsi": "string",
    "gambar": "string (URL)"
  }
]

Paket Wisata, Penginapan & Suvenir

json
[
  {
    "nama": "string",
    "deskripsi": "string",
    "gambar": "string (URL)",
    "harga": "number"
  }
]

Relasi

  • kd_desa → foreign key ke tabel desa_wisata(kd_desa)

Catatan

  • Menggantikan struktur kolom individual dengan JSON arrays untuk fleksibilitas
  • Gambar disimpan sebagai URL ke Google Cloud Storage
  • Validasi menggunakan Joi schema untuk memastikan struktur JSON yang benar
  • Entitas dapat memiliki multiple items dalam setiap kategori

SQL Query

sql
-- 4. Deskripsi Wisata Table
CREATE TABLE public.deskripsi_wisata (
  kd_desa TEXT NOT NULL PRIMARY KEY REFERENCES public.desa_wisata(kd_desa),
  atraksi JSONB,
  penginapan JSONB,
  paket_wisata JSONB,
  suvenir JSONB,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);