Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Satu meja vs beberapa meja

Mungkin ada alasan nyata untuk menginginkan/membutuhkan satu tabel komentar. Misalnya, akan lebih mudah untuk melihat semua komentar dari pengguna tertentu. Juga, pencarian melalui semua komentar akan lebih sederhana (letakkan satu indeks FTS di satu meja dan Anda selesai).

Di sisi lain, jika tidak ada alasan kuat untuk menyimpan komentar dalam satu tabel, ada kemungkinan solusi ketiga (dan agak jelas).

Buat tabel komentar terpisah untuk setiap item (postingan, acara, file, dokumen). Hubungan RI akan sangat sederhana untuk didefinisikan dan dijelaskan dalam situasi itu. Juga, jika Anda sering mengetik kueri ad-hoc, itu bisa membuatnya lebih sederhana. Misalnya

 select * from documents d left join doc_comments c 
                           on d.id = c.docid 
                           where d.id=42;

Tidak satu pun dari ini mungkin relevan atau penting untuk situasi Anda, tetapi dapat dipertimbangkan.

Satu pemikiran acak tambahan:Kedua solusi di OP memiliki "perasaan" bahwa mereka mendefinisikan hubungan banyak-ke-banyak (mis., komentar dapat dimiliki oleh banyak item). Dengan asumsi itu bukan situasi yang diinginkan, itu dapat dicegah dengan indeks unik yang sesuai, ... tetapi tetap ... ia memiliki penampilan awal, yang tampaknya dapat menyebabkan kemungkinan kebingungan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana membatasi permintaan SHOW TABLES

  2. MySQL STR_TO_DATE NULL pada kesalahan

  3. Bagaimana cara mengubah mysql ke mysqli?

  4. Bagaimana cara mengetahui apakah kueri DELETE benar-benar menghapus baris, menggunakan PDO

  5. Bagaimana cara mengambil semua baris yang cocok dengan setidaknya satu nilai dari array?