Benutzer mit den meisten Antworten
DataSet Relationen

Frage
-
Hallo zusammen,
manchmal hab ich das Gefühl, als ist mir alles aus dem Hirn gefallen.
Kann mir jemand weiter helfen.
Wenn ich im DateSet zwei Tabellen habe die in Relation 1..n stehen, sollte da nicht eine Exception ausgelösst werden,
wenn im Foreign Key der Child Tabelle eine DbNull steht.?
Bzw. in der Master Tabelle kein P-Key vorhanden ist?Bei mir wird keine Exception ausgelösst. Das verstehe ich nicht.
(Im Desiner der Relation habe ich "Beziehung" selektiert)
Danke für Hinweise.
Gruss Peter
PS.DataSet.EnforceConstraints ist True
- Bearbeitet peter haus Donnerstag, 7. Mai 2015 18:18
Antworten
-
Hallo Peter,
zum ersten muss es sich um eine Relation mit Fremdschlüssel handeln, eine reine Relation reicht nicht.
Zum zweiten ist ein Null-Wert auf der N-Seite erlaubt, solange die Spalte selbst Null-Werte erlaubt - was man auch über die Update- bzw. Delete eines Fremdschlüssels als Rule festlegen kann. Will man keine Null-Werte erlauben, muss man diese auf Spaltenebene (DataColumn.AllowDbNull) verbieten. Diese Regeln gilt auch in SQL.
Wenn ein Wert angegeben ist, muss er auf der 1 Seite existieren, wobei die Spalten durch die Fremdschlüssel Relation festgelegt werden - es muss nicht der Primärschlüssel sein, auch wenn es häufig so ist.
Gruß Elmar
- Als Antwort markiert peter haus Dienstag, 12. Mai 2015 06:26
Alle Antworten
-
Hallo Peter,
zum ersten muss es sich um eine Relation mit Fremdschlüssel handeln, eine reine Relation reicht nicht.
Zum zweiten ist ein Null-Wert auf der N-Seite erlaubt, solange die Spalte selbst Null-Werte erlaubt - was man auch über die Update- bzw. Delete eines Fremdschlüssels als Rule festlegen kann. Will man keine Null-Werte erlauben, muss man diese auf Spaltenebene (DataColumn.AllowDbNull) verbieten. Diese Regeln gilt auch in SQL.
Wenn ein Wert angegeben ist, muss er auf der 1 Seite existieren, wobei die Spalten durch die Fremdschlüssel Relation festgelegt werden - es muss nicht der Primärschlüssel sein, auch wenn es häufig so ist.
Gruß Elmar
- Als Antwort markiert peter haus Dienstag, 12. Mai 2015 06:26
-
Hallo Elmar,
vielen Dank wieder mal für deine Antwort.
Ich verstehe sie jedoch nicht so ganz.
Es handelt sich bei mir um eine 1..n Beziehung, die über den Primary Key verbunden ist. NULL-Werte sind auf den N Seite erlaubt.
Du schreibst
<"zum ersten muss es sich um eine Relation mit Fremdschlüssel handeln, eine reine Relation reicht nicht. "
weiter unten;
"Wenn ein Wert angegeben ist, muss er auf der 1 Seite existieren, wobei die Spalten durch die Fremdschlüssel Relation festgelegt werden - es muss nicht der Primärschlüssel sein, auch wenn es häufig so ist."Ich meine die Aussage oben. "muss sich um eine Relation mit Fremdschlüssel handeln" und unten
"es muss nicht der Primärschlüssel sein, auch wenn es häufig so ist".
Muss es ein Primärschlüssel sein oder nicht?Sorry, den Mittelteil über die Null-Werte begreif ich auch nicht, was es er aussagen soll.
Aber ich denke es würde mir einiges Beantworten, wenn ich wüsste was bei Null-Werten auf der N-Seite passiert.Was passiert wenn auf der N-Seite ein Null-Wert steht?
Dir herzliche Grüsse
Peter