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

MySQL:banyak tabel atau satu tabel dengan banyak kolom?

Setiap kali informasi adalah satu-ke-satu (setiap pengguna memiliki satu nama dan kata sandi), maka mungkin lebih baik untuk memilikinya satu tabel, karena mengurangi jumlah gabungan yang perlu dilakukan database untuk mengambil hasil. Saya pikir beberapa database memiliki batasan jumlah kolom per tabel, tetapi saya tidak akan mengkhawatirkannya dalam kasus normal, dan Anda selalu dapat membaginya nanti jika perlu.

Jika datanya satu-ke-banyak (setiap pengguna memiliki ribuan baris info penggunaan), maka data tersebut harus dipecah menjadi tabel terpisah untuk mengurangi data duplikat (data duplikat menghabiskan ruang penyimpanan, ruang cache, dan membuat database lebih sulit untuk dipelihara ).

Anda mungkin menemukan artikel Wikipedia di normalisasi database menarik, karena membahas alasan ini secara mendalam:

Normalisasi database adalah proses mengatur bidang dan tabel database relasional untuk meminimalkan redundansi dan ketergantungan. Normalisasi biasanya melibatkan pembagian tabel besar menjadi tabel yang lebih kecil (dan kurang berlebihan) dan mendefinisikan hubungan di antara mereka. Tujuannya adalah untuk mengisolasi data sehingga penambahan, penghapusan, dan modifikasi bidang dapat dilakukan hanya dalam satu tabel dan kemudian disebarkan ke seluruh database melalui hubungan yang ditentukan.

Denormalisasi juga sesuatu yang harus diperhatikan, karena ada kasus di mana pengulangan data lebih baik (karena mengurangi jumlah pekerjaan yang harus dilakukan database saat membaca data). Saya sangat menyarankan untuk membuat data Anda senormal mungkin untuk memulai, dan hanya melakukan denormalisasi jika Anda mengetahui masalah kinerja dalam kueri tertentu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa MySQL mengizinkan grup berdasarkan kueri TANPA fungsi agregat?

  2. Masalah Java + Mysql UTF8

  3. Campuran ilegal dari collation Kesalahan MySQL

  4. Definisi Skema menurut DBMS

  5. Pesan kesalahan MySQL Syntax Operand harus berisi 1 kolom