SQL Server Tek Satır, tablo yapılandırma veritabanı kullanarak. Kötü bir fikir mi?
Alışveriş sepeti bir uygulama geliştirme ayarları ve yapılandırmaları yönetici tercihleri ve ihtiyaçlarına göre kaydetmek için gerekli buldum. Bu bilgiler, hesap Kimliği, PayPal API anahtarları, bildirim tercihleri, vb şirket bilgileri Nakliye için herhangi bir şey olabilir.
Son derece uygunsuz bir ilişkisel veritabanı sistemi, tek bir satır depolamak için bir tablo oluşturmak için gibi görünüyor.
Bu bilgileri saklamak için uygun bir yolu nedir?
Not: benim VERİTABANI SQL Server 2008 ve programlama katmanı ASP.NET ile uygulanır (C#).
CEVAP
Geçmişte bu iki yolu ben yaptım, tek satırlık bir tablo ve bir anahtar/değer çifti bir tablo ve her bir yaklaşım için pozitif ve negatif vardır.
Tek Satır
- olumlu: değerler doğru yazın saklanır
- olumlu: kod ile başa çıkmak için daha kolay (yukarıda) yüzünden
- olumlu: varsayılan değerler her bir ayar için ayrı ayrı verilebilir
- olumsuz: şema değişikliği yeni bir ayar eklemek için gereklidir
- olumsuz: tablo ayarları birçok ise çok geniş olabilir
Anahtar/Değer Çifti
- olumlu: ekleme ayarları yeni bir şema değişikliği gerektirmez
- olumlu: ekstra satır yeni ayarları için kullanılan şema dar masa
- olumsuz: her ayar aynı varsayılan değer (boş/boş?)
- olumsuz: her şeyi dize olarak saklanır (örn. nvarchar)
- kodu ayarları ile ilgili bir ayar olduğunu bilmek ve kalıbı var . olumsuz:
Tek satır seçeneği ile çalışmak için en kolay biridir. Bu veritabanında doğru yazın her ayarı saklamak ve kod ayarlarını türleri yanı sıra arama anahtarlarını saklamak için değil çünkü.
Bu yaklaşımla, endişeli olduğum tek şey "tek satır ayarlarını tablo. özel birden çok satır vardı (SQL Server) tarafından bu yendim:
- varsayılan değeri 0 ile biraz yeni bir sütun ekleme
- bu sütunda 0 değeri olduğundan emin olmak için bir check kısıtlaması oluşturmak
- bit sütun benzersiz kısıtlama oluşturma
Bu sadece bir satır bit sütun benzersiz kısıtlama nedeniyle 0, ama sadece bu değeri içeren bir satır olabilir bir değeri vardır, çünkü tablo var anlamına gelir.
Bir SQL Server'da tablo BİRLEŞTİRME ku...
Diğer tablo satır rengi kullanarak CSS...
Seçin n SQL den rastgele satır Server ...
Nasıl saklı satır içeren varolan bir S...
Nasıl bir veritabanı TSQL kullanarak S...