I noticed that in Derby a unique constraint on two columns A and B, with B nullable, will prevent inserting two identical records that contain NULL in B.
This is different from some other databases such as Sybase that do allow it (I assume where the null records are not in stored as part of the unique index). I noticed this while transfering data from Sybase to Derby using Apache dbutils and getting rejected duplicate records.
