Frage : Datenbankentwurf-Unterstützung benötigt

Hallo Experte-Austauschen.  Ich betrachte Entwurfsalternativen für eine (2008) Datenbank des SQL-Servers und habe eine Gutpraxis Frage (wenn es ein optimales Verfahren für dieses gibt).  Die Grundidee für die Datenbank ist, eine „Haupt“ Tabelle zu verwenden, um eine örtlich festgelegte Anzahl von den SportDatenfeldern zu halten (ex. Gesamtpunkte, erste Abstiege) und verwenden dann eine andere Tabelle (oder mehrfache Tabellen) um „die abgeleiteten“ Datenfelder zu halten (abgeleitet von den Feldern der Haupttabelle - ex. Durchschnittliche Punkte pro ersten Abstieg). Ich habe eine beginnende Liste der abgeleiteten Felder, dass ich plane einzuführen (es gibt herum 200), aber dass Liste im Laufe der Zeit wachsen. Meine Frage bezieht auf, was Tabellenstruktur die meiste Richtung bildet, wenn Sie im Voraus wissen, dass Sie Felder addieren. Zwei Alternativen kommen sofort zu kümmern:

  --  Eine einzelne Tabelle benutzen, um die alle abgeleiteten Datenfelder zu halten (horizontal) und die Schmerz des Hinzufügens eines neuen Feldes, jedes Mal wenn ich mit einem aufkomme, einschließlich die Änderung aller EINSATZ und UPDATE sprocs und aller möglicher anderen Prozesse durchzulaufen, die auf einem örtlich festgelegten Tabellenschema beruhen (ich kann viele vorstellen). Es ist doable, aber es schlägt mich wie gut unelegant, um es zu tun auf diese Weise. Ich bin auch nicht sicher, wenn es einen Punkt gibt, an dem eine wachsende Anzahl von Feldern beginnt, Fragenleistung zu versinken - es könnte Hunderte addierten fields.
im Laufe der Zeit geben  --  Eine Querverweistabelle einführen, um eine Liste der Felder (field_id, field_name) und der ander zu halten, viel schmaler aber weit, weit tiefere „abgeleiteter Notfall-“ Tabelle, um unterschiedliche Aufzeichnungen für jedes Feld zu halten. Anstelle anstelle den Feldern 200+ und von sagen wir 50000 Aufzeichnungen beenden ich oben mit 8 Feldern aber vielleicht 10 Million Aufzeichnungen, die es auf diese Weise tun. Neue Felder zu addieren ist einfach - einen neuen Rekord dem XREF-Tabelle hinzufügen und anfangen, neue Rekorde in die abgeleitete Notfall-Tabelle unter dieses field_id zu werfen.  Index-Bewegung ist ohne Zweifel auf diese Weise einfacher, wie wurde, ich erwarte und frage.  Mein Hauptinteresse auf diese Strategie ist Fragen-Leistungsfähigkeit mit dem Vorschreiben verbinden plus die (vielleicht sehr) große Zahl Reihen, die oben in der „abgeleiteten“ Tabelle beenden. Anmaßendes viel der Speicherkapazität und intelligent definierte Indizes sollten I mit den Fragen betroffen werden, die leistungsfähig mit diesem Entwurf durchführen?  Ich annehme, wenn es ein Reihenbegrenzungsinteresse gibt, das ich unterschiedliche Tabellen errichten könnte, um unterschiedliche Untergruppen der abgeleiteten Daten zu halten, aber in diesem Fall ich beenden könnte mehrfache Fragen tun oben müssen, um einen erforderlichen Satz Daten rückseitig zu erhalten, die zweifellos Gesamt-Leistungsfähigkeit in question.

My Darm erklärt mir benennt, dass die beste Lösung #2 oder etwas Veränderung von ihr ist, oder vielleicht irgendein drittes Drehbuch s. Schließlich scheint es, dass es unten zum Wählen zwischen die Leistungsfähigkeiten kommt, die mit vielen Spalten gegen Leistungsfähigkeiten verloren mit vielen Reihen plus eine Zweitabelle verloren, verbindet.  Gibt es eine Standard- oder beste Entwurfspraxis, die diese Art des Umstandes adressiert? Gibt es bestimmte Schlüsselentwurfsbetrachtungen, die ich auf die Optimierung mit dieser Art des Drehbuches richten sollte? Dank im Voraus alle.

Rick

Antwort : Datenbankentwurf-Unterstützung benötigt

es muss einige Bedingungen geben, welche die Codes verhindern.

wenn überhaupt vom Follwing überprüfen ist zutreffend

* Die Steuerung kann eine Art, die den Fokus nicht empfangen kann, wie ein Aufkleber sein.
* Das sichtbare Eigentum des Steuer kann auf Nr. eingestellt werden.
* Das ermöglichte Eigentum des Steuer kann auf eingestellt werden
Weitere Lösungen  
 
programming4us programming4us