Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Apa cara terbaik untuk memungkinkan pengguna menambahkan kolom ke database mereka saat itu juga?

Apakah persyaratan mutlak bahwa mereka menambahkan kolom ke tabel , atau hanya agar mereka dapat menentukan bidang tambahan untuk disimpan? Saya sangat menyarankan Anda mempertimbangkan sesuatu seperti Entity-Attribute-Value daripada mengizinkan pengguna akhir (admin dihitung sebagai pengguna akhir) untuk membuat perubahan skema.

Untuk sesuatu seperti ini, Anda akan memiliki tabel untuk menentukan bidang khusus Anda, lalu tabel asosiasi banyak ke banyak untuk memungkinkan pengguna menentukan nilai bidang khusus untuk kontak. Misalnya:

    Contact
    ---------
 -> ContactId
|   FirstName
|   LastName
|   etc.
|
|                        ContactField
|                        --------------
|                        ContactFieldId <---
|                        FieldName          |
|                                           |
|   ContactFieldValue                       |
|   -------------------                     |
 -- ContactId                               |
    ContactFieldId -------------------------
    Value

Spesifik implementasi jelas terserah Anda (misalnya, apakah akan menggunakan ContactId + ContactFieldId sebagai kunci utama gabungan di ContactFieldValue ), tetapi ini harus menyampaikan gagasan umum.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. secara selektif menjalankan tugas dalam aliran kontrol ssis

  2. CONVERT() vs TRY_CONVERT di SQL Server:Apa Bedanya?

  3. Aliran Bersyarat SQL Server

  4. Pemfilteran kueri SQL berdasarkan daftar parameter

  5. Hapus nomor dari string sql server