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

Apakah menggunakan Tabel Master untuk kolom bersama praktik yang baik untuk seluruh database?

Mengapa? Lakukan semua entitas Anda perlu diperluas dengan cara ini? Mungkin tidak -- di sebagian besar aplikasi, paling banyak ada satu atau dua entitas yang akan mendapat manfaat dari tingkat fleksibilitas ini. Entitas lain sebenarnya mendapat manfaat dari stabilitas dan kejelasan tidak berubah setiap saat.

EAV adalah contoh dari Efek Platform Dalam :

Dengan kata lain, sekarang Anda bertanggung jawab untuk menulis kode aplikasi untuk melakukan semua hal yang sudah disediakan oleh RDBMS yang tepat, seperti batasan dan tipe data. Bahkan sesuatu yang sederhana seperti membuat kolom wajib seperti NOT NULL tidak berfungsi di EAV.

Memang benar terkadang sebuah proyek membutuhkan banyak tabel. Tapi Anda membodohi diri sendiri jika Anda pikir Anda telah menyederhanakan proyek dengan hanya membuat dua tabel. Anda masih akan memiliki Entitas yang berbeda sebanyak yang Anda miliki dengan tabel, tetapi sekarang terserah Anda untuk menjaganya agar tidak berubah menjadi tumpukan sampah.

Sebelum Anda menginvestasikan terlalu banyak waktu ke EAV, baca cerita ini tentang perusahaan yang hampir berhenti berfungsi karena seseorang mencoba membuat repositori data mereka fleksibel secara sewenang-wenang:CaRMa Buruk .

Saya juga menulis lebih banyak tentang EAV dalam posting blog, EAV FAIL , dan dalam bab buku saya, SQL Antipatterns:Menghindari Jebakan Pemrograman Basis Data .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hasil waktu kueri di MySQL dengan PHP

  2. Bagaimana saya bisa mengatur ulang MySQL AutoIncrement menggunakan nilai MAX dari tabel lain?

  3. pengaturan sql_mode global di mysql

  4. Kesalahan saat mencoba memigrasikan postgresql db ke mysql dengan meja kerja

  5. Penjelasan Kerangka Ketersediaan Tinggi MySQL – Bagian III:Skenario Kegagalan