Was tun Sie mit einem einmaligen Stück von Daten, die beibehalten werden muss?

StackOverflow https://stackoverflow.com/questions/714885

  •  23-08-2019
  •  | 
  •  

Frage

Vor kurzem habe ich gebeten worden, etwas für den Administrator von einer Stelle, wo er kann ‚Feature‘ etwas.

hinzufügen

Für diese Diskussion wollen wir sagen, es ist ein ‚Artikel des‘.

So natürlich haben wir bereits ein Datenbankmodell von ‚Artikel‘ und es hat ~ 20 Spalten, wie es ist, damit ich es fühle mich nicht wirklich wie Blähungen mehr, als es ohnehin schon ist.

Meine Optionen:

  1. Tack auf einem 'gekennzeichnet' Bool (oder int) und erkennt, dass nur eine Sache, die zu einem bestimmten Zeitpunkt sieht sein

  2. Erstellen Sie ein neues Modell für diese und die anderen Feature-Kriechen Artikel zu halten, die Pop-up kann.

  3. Ich nehme Ihre Anregungen! ;)

Was in diesem Fall Sie tun? Ich komme auf jeden dieser von Zeit zu Zeit, und ich hasse es, auf eine weitere Säule, um etwas heften müssen. Diese Informationen müssen beibehalten werden.

War es hilfreich?

Lösung

Wenn nur ein Artikel zu einem Zeitpunkt sehen sein ist es eine Verschwendung eine Bool Spalte hinzuzufügen. Sie sollten eine Ebene und fügen Sie eine Spalte für die FeaturedArticleID steigen. Haben Sie eine Site_Settings Tabelle?

Andere Tipps

würde ich wahrscheinlich fügen Sie einfach eine einfache zweispaltige Tabelle, die im Grunde ein Schlüssel-Wert-Speicher ist. Dann fügen Sie eine neue Spalte mit Werten wie (featured_article_id, 45) oder was auch immer die erste funktionsfähige ID ist.

Edit: wie in den Kommentaren von rmeador wies darauf hin, es sei darauf hingewiesen, dass dies nur eine gute Lösung, solange die Dinge relativ einfach bleiben. Wenn Sie komplexere Daten speichern müssen, sollten Sie eine flexiblere Lösung herauszufinden.

Sie könnten ein erweiterbares Modell verwenden wie eine Tabelle von Attributen, und dann eine Verknüpfungstabelle, die eine viele-zu-viele-Beziehung zwischen Artikeln und Attribute zu bilden. Auf diese Weise, diese Art von Funktionen des Schema nicht erforderlich geändert werden.

Haben Sie irgendeine Art von global_settings Tisch mit einer parameter_name und parameter_value Spalten. Legen Sie vorgestellten Artikel-ID hier.

Für eine schnelle und unsaubere Sachen wie diese, ich mag eine Art von Einstellungen Tabelle enthalten:

CREATE TABLE Settings (
    SettingName NVARCHAR(250) NOT NULL,
    SettingValue NVARCHAR(250)
)

Wenn Sie pro Benutzer benötigen oder pro-Kundeneinstellungen, statt global diejenigen, könnten Sie eine Spalte hinzufügen, es zu diesen bestimmten Benutzer / Kunden zu identifizieren. Dann könnten Sie einfach eine Zeile für „FeaturedArticle“ hinzufügen und die ID aus einer Zeichenfolge analysieren. Es ist nicht super optimiert, sondern Klartext ist sehr flexibel, die wie genau klingt, was Sie brauchen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top