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

Pertanyaan MySQL - Bagaimana menangani beberapa jenis pengguna - satu tabel atau beberapa?

Naluri Anda untuk tidak membuat tabel besar dengan banyak NULLS benar. Itu ide yang buruk, dari sudut pandang penyimpanan/pengambilan kembali/pemeliharaan, serta dari sudut pandang validasi data (lebih lanjut tentang itu nanti).

Dua pendekatan yang paling umum:

1) Miliki tabel pengguna dengan semua bidang umum di dalamnya, termasuk bidang "userType". Kemudian memiliki tabel terpisah untuk setiap jenis pengguna yang berisi bidang tambahan. Semua pengguna memiliki baris di tabel pengguna dan satu atau lebih tabel tipe pengguna tertentu. Ini adalah yang paling dinormalisasi dan paling efisien untuk penyimpanan dan login cepat. Ini juga memungkinkan Anda menggunakan batasan dan kunci asing untuk memastikan bahwa semua informasi yang diperlukan untuk setiap jenis pengguna tersedia.

2) Memiliki tabel pengguna dengan semua bidang umum di dalamnya. Buat tabel lain yang disebut seperti UserAttributes yang memiliki bidang untuk userid, kunci, dan nilai. Setiap metadata tambahan untuk pengguna tertentu dapat disimpan di sini. Ini memiliki keuntungan karena tidak memerlukan administrasi database untuk menambahkan tipe pengguna baru atau metadata untuk disimpan untuk setiap tipe pengguna. Namun, itu tidak memungkinkan Anda melakukan validasi data apa pun di tingkat DB.



  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 cara menambahkan bobot ke tabel MySQL dan memilih nilai acak menurut ini?

  2. Gagal Terhubung ke MySQL di localhost:3306 dengan root pengguna

  3. Bagaimana saya bisa mengatur banyak tabel mysql?

  4. memuat enwiki-latest-categorylinks.sql ke dalam mysql

  5. ClassNotFoundException saat menghubungkan ke Mysql dengan JDBC