Null: Unterschied zwischen den Versionen
Sn (Diskussion | Beiträge) (Beispiel angefangen) |
Sn (Diskussion | Beiträge) (Erweitert) |
||
Zeile 2: | Zeile 2: | ||
<code>null</code> ist nicht dasselbe wie die Zahl 0 oder eine leere Zeichenkette. Eine leere Zeichenkette ist ein leeres ''Etwas'', <code>null</code> ist ''nichts''. | <code>null</code> ist nicht dasselbe wie die Zahl 0 oder eine leere Zeichenkette. Eine leere Zeichenkette ist ein leeres ''Etwas'', <code>null</code> ist ''nichts''. | ||
== Programmierung == | |||
Nullwerte sind eine häufige Fehlerquelle beim Programmieren, wenn man etwa die Länge eines [[String (Datentyp)|String]]s abfragen möchte, aber dieser String nicht existiert, also <code>null</code> ist. Ein Beispiel in Java: | Nullwerte sind eine häufige Fehlerquelle beim Programmieren, wenn man etwa die Länge eines [[String (Datentyp)|String]]s abfragen möchte, aber dieser String nicht existiert, also <code>null</code> ist. Ein Beispiel in Java: | ||
Zeile 12: | Zeile 14: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
In diesem Beispiel wird die [[Unterprogramm#Methode|Methode]] <code>length</code> der [[Klasse (Informatik)|Klasse]]<code>String</code> verwendet. Das <code>null</code>-Objekt gehört dieser Klasse aber nicht an und verfügt darum nicht über diese Methode. | In diesem Beispiel wird die [[Unterprogramm#Methode|Methode]] <code>length</code> der [[Klasse (Informatik)|Klasse]]<code>String</code> verwendet. Das <code>null</code>-Objekt gehört dieser Klasse aber nicht an und verfügt darum nicht über diese Methode. Beim Ablauf des Programms ereignet sich darum eine <code>NullPointerException</code>. | ||
== Datenbanken == | |||
In SQL dürfen prinzipiell alle [[Attribut (Informatik)|Attribut]]e in einer [[Relation]] auf <code>NULL</code> gesetzt werden. Das kann sehr sinnvoll sein. Man kann aber auch explizit mit der Bedingung <code>NOT NULL</code> verbieten, dass Attribute auf <code>NULL</code> gesetzt werden. | |||
{{Beispiel|Eine Relation <code>Person</code> hat die Spalten <code>Name</code>, <code>Geburtsdatum</code> und <code>Sterbedatum</code>. Noch lebende Personen können nur abgespeichert werden, wenn das <code>Sterbedatum</code> <code>NULL</code> sein darf. Zugleich sollte das Geburtsdatum aber nicht <code>NULL</code> sein dürfen.}} | |||
== Weblinks == | |||
* {{W3Schools|sql/sql_null_values.asp|SQL NULL values}} | |||
[[Kategorie:Programmierung]] | |||
[[Kategorie:Datenbanken]] |
Aktuelle Version vom 19. April 2024, 20:36 Uhr
null
ist in der Informatik eine verbreitete Bezeichnung für nicht vorhandene Werte. In manchen Programmiersprachen und Datenbanksystemen sind auch andere Bezeichnungen wie nil
(Redis, Ruby), None
(Python) oder Nothing
(Haskell) gebräuchlich.
null
ist nicht dasselbe wie die Zahl 0 oder eine leere Zeichenkette. Eine leere Zeichenkette ist ein leeres Etwas, null
ist nichts.
Programmierung
Nullwerte sind eine häufige Fehlerquelle beim Programmieren, wenn man etwa die Länge eines Strings abfragen möchte, aber dieser String nicht existiert, also null
ist. Ein Beispiel in Java:
public boolean isValidIBAN(String maybeIBAN) {
if (maybeIBAN.length() != 22) {
return false;
}
// weitere Tests...
}
In diesem Beispiel wird die Methode length
der KlasseString
verwendet. Das null
-Objekt gehört dieser Klasse aber nicht an und verfügt darum nicht über diese Methode. Beim Ablauf des Programms ereignet sich darum eine NullPointerException
.
Datenbanken
In SQL dürfen prinzipiell alle Attribute in einer Relation auf NULL
gesetzt werden. Das kann sehr sinnvoll sein. Man kann aber auch explizit mit der Bedingung NOT NULL
verbieten, dass Attribute auf NULL
gesetzt werden.
Eine Relation Person
hat die Spalten Name
, Geburtsdatum
und Sterbedatum
. Noch lebende Personen können nur abgespeichert werden, wenn das Sterbedatum
NULL
sein darf. Zugleich sollte das Geburtsdatum aber nicht NULL
sein dürfen.