Definición de columna SQL: valor predeterminado y no nulo redundante?

He visto muchas veces la siguiente sintaxis que define una columna en una declaración de creación / alteración de DDL:

ALTER TABLE tbl ADD COLUMN col VARCHAR(20) NOT NULL DEFAULT "MyDefault"

La pregunta es: ya que se especifica un valor predeterminado, ¿es necesario también especificar que la columna no debe aceptar NULL? En otras palabras, ¿DEFAULT no es NULL redundante?

Respuestas a la pregunta(4)

Su respuesta a la pregunta