For some applications it would be useful to allow NULL values for items.
This could be used, e.g. to signal that the item was fetched but there is simply no data available. (E.g. when checking via passive checks or sending data via zabbix_sender.)
Why should this be entered into the database?
- E.g. when rendering a graph, NULL values could be displayed differently.
If the values are simply missing, a line-graph will just draw a line from the last to the next available item, without any visual indication that there was a time span with no data for this item. If NULL values are present in the database, the line could be simply interrupted for the time period with missing data.
- Triggers could handle NULL values differently.
- When monitoring measurements, currently a separate item is needed to indicate a failure. If NULL values are available they could be used to indicate that condition.
I'm sure that there are other applications for that too.