Kenapa 1 field disimpan dalam 1 tabel ?

Drupal menyimpan FIELD dari suatu Content Type ke dalam masingmasing tabel tersendiri. Content Type "Article" sebagai contoh, akan setidaknya 2 (dua) tabel, yaitu FIELD_BODY dan FIELD_TAG.
Bukannya akan sangat ribet jika ternyata ada content type yang terdiri dari 5 FIELD tambahan? bentuk SQL Syntax akan sangat panjang, terbuang di RELASInya.

Setelah dipikipikir, dan konsultasi dengan Developer Drupal dari Indonesia, kotakomputer, suhu memberikan alasan karena dengan adanya 1field=1table, maka setiap field bisa menyimpan widget masingmasing, termasuk untuk "weigh" atau nomer urut.
Akhirnya ane mendefinisikan sendiri kelebihan dan kekurangan cara 1FIELD = 1TABLE

Kelebihan

  • Satu Field bisa menyimpan banyak data (kolom).
    Contoh: Tags. Jika tidak menggunakan 1F1T, maka bentuk tabelnya akan berantakan (field_tags1,field_tags2 dst). Dengan 1F1T maka FIELD TAGs bisa unlmited..
  • Jika ada FIELD (kolom) yang tidak diisi, tidak ada data yang disimpan.
    Ini akan menghemat tempat karena tidak ada table yang kosong, semua terisi!
  • Widget:
    data akan memiliki tampilan yang yang berbeda setiap FIELDnya. Contoh paling nyata adalah jika kita menambahkan FIELD LINK, tampilan dari FIELD LINK tersebut bisa berbeda disetiap Content.
Kategori: