Frage

Hintergrund: Heute, entstand ein Problem, während SQL Server Reporting Services. Es scheint, dass SSRS Dropdown-Parameter im Report Viewer Sie eine (null) Option, um anzuzeigen, nicht zulassen, so dass Sie einen Bericht zu sehen, wo diese Parameter null ist. Grundsätzlich Tabelle A ist eine Tabelle, Tabelle B nullably referenzieren; da der Bericht verwendet Tabelle B auf den Dropdown-bevölkern, gibt es keine NULL-Werte als Option zu zeigen, und daher kann man nicht wählen Sie alle die A, die eine Null-B haben.

Meine eigentliche Frage kommt aus der Potential Kurzschlussreaktion für das obige Problem durch einen Management-Typen, den ich bin zu beantworten. Als ich erklärte, was los war, gab sie ein neues Mandat, dass alle Fremdschlüssel muss nicht null sein und dass jede Einheit sollte einen „default“ Datensatz eingefügt hat, scheinbar ein neuer Standard, dieses Problem im Reporting-Tool zu lösen. Grundsätzlich, wenn Sie eine Katze Tisch haben, dann Cat.Owner sollte niemals null sein, sondern sollte stattdessen einen Standard-Datensatz in der Tabelle Person, die „default“ Person verweisen.

Während dies das SSRS Problem helfen kann, kann es weh tun Entwicklung / Wartung von Diensten und Anwendungen, die Datenbank verwenden, da sie würden jetzt nur nicht für NULL-Werte-Konto haben (was bis zu diesem Punkt erlaubt war), aber auch sucht nach und richtig die „Standard“ Aufzeichnung verwenden. Ich dachte, zu versuchen, sie vom Mandat zu sprechen, aber ich würde gerne einige Informationen aus dem erfahrenen aufzulesen, bevor ich entscheide, das zu tun.

Kann jemand wiegen auf, was das helfen oder schaden kann?

Jeder hatte dies als einen Datenbank-Standard? Alle Fragen, die Entwicklung oder sonst sollte ich sein mindful von?

War es hilfreich?

Lösung

NULL Felder bedeuten kein Wert .

Es ist also logisch und richtig fehlende Beziehung mit NULL-Werten zu füllen.

Ich habe gesehen, manchmal in einigen besonderen Fällen kann die Verwendung eines default Datensatz wie in der Frage beschrieben. Aber das war ein „Sonderfall“ und verwendet „manchmal“.

IMHO diese Politik als DB Entwicklung Standard zwingt ist nur dumm, falsch und potentiell gefährlich. Das werde ich nicht Abenteuer in allen möglichen Komplikationen, die aus einer solchen Konstruktion entstehen. Ich denke, man schon vorstellen, was das bedeuten würde,

Andere Tipps

Wenn dagegen der CAT eine OWNED_CAT ist, dann muss es eine Person als Eigentümer haben, wenn sie abgebrochen wird, sollte es nicht in dieser Tabelle sein.

Wenn jedoch der CAT ist ein ANY_CAT (mit / ohne Besitzer), dann ist die verlassene CAT sollte mit jeder Person, die nicht in Verbindung gebracht werden.

Für mich, im Interesse des Berichts ein Dummy oder Standard Datensatz in der Tabelle PERSON zu schaffen macht Sinn Geschäft (für Manager), aber ich fühle mich nicht ‚richtig‘ darüber.

bieten Ihnen nicht viel, nur meine 2 Cent.

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