informasi pada kolom TMP_PONYLIST
berlebihan (ada di tempat lain). Anda akan mendapatkan berbagai macam masalah untuk mempertahankannya (Tidak ada solusi yang akan bekerja dengan benar di lingkungan multi-pengguna kecuali ada semacam mekanisme penguncian).
Dalam model yang dinormalisasi, Anda cukup membuang kolom ini dari model fisik. Jika Anda membutuhkan informasi, Anda dapat menggunakan tampilan, misalnya dengan Oracle 11gR2:
CREATE OR REPLACE VIEW rider_v AS
SELECT rider_id, /*...,*/
(SELECT listagg(p.pony_name, ';') WITHIN GROUP (ORDER BY p.pony_name)
FROM t_pony p
JOIN t_rider_pony rp ON (p.pony_id = rp.pony_id)
WHERE rp.rider_id = r.rider_id) tmp_ponylist
FROM t_rider r;
Lihat SO ini misalnya agregasi string sebelum 11gR2.