NOT NULL => NULL ist nicht erlaubt
WITH DEFAULT => ein Standardwert wird eingesetzt

Hintergrund:

Beim SQL-Insert muss nicht jedes Feld angegeben werden.
Was soll nun mit den fehlenden Feldern passieren ?

1. Ohne Angaben => Feld ist NULL
2. NOT NULL => Insert bricht ab
3. NOT NULL WITH DEFAULT => Feld wird initialisiert

Die Syntax kann noch ergänzt werden:

NOT NULL WITH DEFAULT Wert

wobei Wert dem Feldtyp entsprechen muss.

Zum Thema Index/LF siehe anderen Beitrag.