Jawaban singkat untuk judul :Tidak
Jawaban yang sedikit lebih panjang :
Anda harus belajar menggunakan array bila perlu. Array bukanlah desain yang buruk, mereka sama atomnya dengan bidang yang bervariasi karakter (array of character, bukan?) Dan mereka ada untuk membuat hidup kita lebih mudah dan database kita lebih cepat dan lebih ringan. Ada masalah mempertimbangkan portabilitas (kebanyakan sistem database tidak mendukung array, atau melakukannya dengan cara yang berbeda dari Postgres)
Contoh:
Anda memiliki blog dengan postingan dan tag, dan setiap postingan mungkin memiliki 0 tag atau lebih. Hal pertama yang terlintas dalam pikiran adalah membuat tabel yang berbeda dengan dua kolom postid
dan tagid
dan tetapkan tag di tabel itu.
Jika kita perlu menelusuri postingan dengan tagid, maka tabel tambahan diperlukan (dengan indeks yang sesuai tentunya).
Tetapi jika kita hanya ingin informasi tag ditampilkan sebagai info tambahan posting, maka kita dapat dengan mudah menambahkan kolom array integer di tabel posting dan mengekstrak informasi dari sana. Ini masih dapat dilakukan dengan tabel tambahan, tetapi menggunakan array mengurangi ukuran database (tidak diperlukan tabel tambahan atau baris tambahan) dan menyederhanakan kueri dengan membiarkan kita menjalankan kueri pilihan dengan menggabungkan satu tabel lebih sedikit dan tampaknya lebih mudah dipahami oleh mata manusia (bagian terakhir ada di mata yang melihatnya, tapi saya pikir saya berbicara untuk mayoritas di sini). Jika tag kita telah dimuat sebelumnya, maka tidak perlu satu pun bergabung.
Contohnya mungkin buruk, tetapi itu yang pertama kali terlintas dalam pikiran.
Kesimpulan :
Array tidak diperlukan. Mereka bisa berbahaya jika Anda salah menggunakannya. Anda dapat hidup tanpanya dan memiliki database yang hebat, cepat, dan dioptimalkan. Ketika Anda mempertimbangkan portabilitas (misalnya menulis ulang sistem Anda untuk bekerja dengan database lain), maka Anda tidak boleh menggunakan array.
Jika Anda yakin akan tetap menggunakan Postgres, maka Anda dapat dengan aman menggunakan array yang menurut Anda sesuai. Mereka ada karena suatu alasan dan bukan desain yang buruk atau tidak sesuai. Ketika Anda menggunakannya di tempat yang tepat, mereka dapat membantu sedikit dengan kesederhanaan struktur database dan kode Anda, serta pengoptimalan ruang dan kecepatan. Itu saja.