PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Django JSONField di dalam ArrayField

Array

Pertama-tama, mari kita lihat lebih dekat teks penting ini dari dokumen Postgresql Arrays.

Tip:Array bukan set; mencari elemen array tertentu dapat menjadi tanda kesalahan desain basis data. Pertimbangkan untuk menggunakan tabel terpisah dengan panah untuk setiap item yang akan menjadi elemen array. Ini akan lebih mudah untuk ditelusuri, dan kemungkinan akan berskala lebih baik untuk sejumlah besar elemen.

Sebagian besar waktu, Anda tidak boleh menggunakan array.

JSONB

JSONB tersedia di Django sebagai tipe JSONField. Bidang ini lebih terukur dan fleksibel daripada bidang larik dan dapat dicari dengan lebih efisien. Namun jika Anda menemukan diri Anda mencari di dalam bidang JSONB sepanjang waktu, pernyataan di atas tentang Array sama-sama valid untuk JSONB.

Sekarang apa yang Anda miliki di sistem Anda? Sebuah array yang menampung bidang JSONB. Ini adalah bencana yang menunggu untuk terjadi. Harap normalkan data Anda.

Rekap

jadi kapan harus menggunakan ArrayField?

Pada kesempatan langka ketika Anda tidak perlu mencari di kolom itu dan Anda tidak perlu menggunakan kolom itu untuk bergabung.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Saya lupa kata sandi yang saya masukkan saat instalasi postgres

  2. Bagaimana cara mengubah jenis kolom di Heroku?

  3. Menambahkan 'serial' ke kolom yang ada di Postgres

  4. Memutakhirkan kolom varchar ke tipe enum di postgresql

  5. Memilih beberapa nilai max() menggunakan satu pernyataan SQL