Suchen | Neue C-Spalte | Speichern | Abbruch | Hilfe |
Übersicht - Eindeutigkeit Artikelname / Preis
|
|
Der Name der Einschränkung unterliegt selbst der Einschränkung, daß er eindeutig sein muß, damit die ausgegebenen Suchergebnisse verständlich sind. Er kann Leerzeichen und gewisse Sonderzeichen enthalten. Das Beispiel verdeutlicht allerdings, daß ein zu langer Name einen Umbruch im Suchergebnis erzeugt. Der optionale Eintrag 'Fehlermeldung' ermöglicht die Definition einer für den Nutzer verständlichen Meldung, die genauer erklärt, was bei der Dateneingabe zu beachten ist. Sie kann zwei Leerstellen ({0} und {1}) enthalten, welche zur Laufzeit mit dem Namen der Tabelle und dem Namen der Einschränkung belegt werden. Der hier gewählte Text entspricht der Fehlermeldung, falls dieser Eintrag fehlt und erzeugt:
Hier wäre bsp. der EintragDie Einschränkung 'Eindeutigkeit Artikelname / Preis' der Tabelle 'Artikel' wurde verletzt. Korrigieren Sie Ihre Eingabe.
denkbar. Die Ausdrücke {0} und {1} dürfen fehlen.Die Kombination aus Artikelname und -preis muß eindeutig sein.
Für diese Spalte können zusätzliche Multilang-Verzweigungen definiert werden, um diese Fehlermeldung in verschiedenen Sprachen ausgeben zu können.
Suchen | Neue C-Spalte | Speichern | Abbruch | Hilfe |
Übersicht (1/1) ≪ < 1 > ≫ - Eindeutigkeit Artikelname / Preis
|
|
Aufgrund der Einschränkungen für Browser kann die Reihenfolge nur durch Ziffern festgelegt werden. Die Verkleinerung eines Wertes führt zum Höherstufen aller Werte ab dem neuen Eintrag, die Erhöhung eines Wertes erzeugt umgekehrt die Verkleinerung der anderen Werte. Wird im ersten Menü die Tabelle geändert, so werden alle Unterzeilen gelöscht.
Wenn ein Constraint für einen sd-Kunden mit - für ihn - intern sicherheitsrelevanten Entscheidungen zusammenhängt, so ist die Edit-Berechtigung für Constraints bei diesem Kunden ebenfalls sicherheitsrelevant. Denn die Berechtigung zum Editieren eines Constraints bedeutet, diesen deaktivieren zu können, so daß die tatsächliche Implementation gelöscht wird und nur die Metadaten in den eigenen Systemtabellen erhalten bleiben.
Der Status 'inaktiv' kann genutzt werden, um den Constraint in der Tabelle zu löschen, die definierten Informationen jedoch zu bewahren.
Da ein Constraint ein Systemobjekt darstellt, wird er verzögert erstellt. Falls die Daten nicht die geforderte Einschränkung erfüllen, so tritt ein Fehler bei der Erstellung auf. Der Status wird auf 'error' gesetzt und eine zusätzliche Fehlermeldung ausgegeben. Ein typisches Beispiel zeigt die folgende Maske:
Suchen | Neue C-Spalte | Speichern | Abbruch | Hilfe |
Übersicht (1/1) ≪ < 1 > ≫ + Eindeutigkeit Artikelname / Preis (F) |
Die Einschränkung konnte nicht erstellt werden, die gewählten Spalten enthalten bereits Duplikate. Löschen Sie diese und versuchen Sie es erneut. Die Datenbank meldet: CREATE UNIQUE INDEX terminated because a duplicate key was found for index ID 2. Most significant primary key is 'Oberhemd'. Could not create constraint. See previous errors. The statement has been terminated.
|
Die hier ausgegebenen Fehlermeldungen bestehen immer aus zwei Teilen: Zum einen aus der sprachspezifischen, von server-daten erzeugten Fehlermeldung, die aus der gemeldeten Fehlernummer abgeleitet wird. Zum anderen wird immer die englischsprachige Fehlermeldung des MS-SqlServers ausgegeben. Diese liefert einerseits genauere Hinweise, andererseits können diese ergänzenden Hinweise nicht verläßlich genug extrahiert und gesondert ausgegeben werden.
Ein solcher Fehler erfordert, die Daten per Hand zu korrigieren. Anschließend genügt es, den Status auf 'active' oder 'create again' zu setzen und die Informationen erneut zu speichern. Dies startet erneut die Constraintserstellung im Hintergrund und führt entweder zum Erfolg oder zu einem weiteren Fehler.