SORU
19 ŞUBAT 2010, Cuma


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
20 ŞUBAT 2010, CUMARTESİ


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blunty

    Blunty

    13 Mart 2006
  • foreignimage

    foreignimage

    13 HAZİRAN 2006
  • NicoleGrippo

    NicoleGrippo

    14 Kasım 2006