Restrição de banco de dados ou database constraints do tipo not null ou não nulo. Nessa regra, nessa restrição, como o nome já sugere, nós não seremos capazes de ter uma coluna com valor nulo, com aquele nu como conteúdo. Ou seja, essa coluna sempre está preenchida com um valor, sempre tem conteúdo. Vamos aos detalhes. Por padrão, todas as colunas de uma tabela aceitam valores nulos. Quando a gente colocar essa restrição not null, não será possível seguir com este comportamento padrão. Obrigatoriamente, alguma coisa tem que ser preenchida. Em geral, este tipo de restrição não tem um nome explícito, a gente não costuma nomear. Como a gente viu no exemplo anterior, nos diferentes códigos da CHEC, que foi um exemplo interessante de constrante nomeada. Vamos ao código. Em Oracle, agora estamos criando uma tabela de impostos. Então, o nosso imposto tem um identificador numérico, nós temos o nome desse imposto, que é um VARCHAR, que são caracteres alfanuméricos, e aqui nós temos o NOT NULL, ou seja, para cada imposto que for inserido ou atualizado nessa tabela de impostos, nós precisamos obrigatoriamente ter algo preenchido nessa coluna. No exemplo abaixo, que estamos fazendo o alter table, é uma modificação da tabela empregado, onde nós estamos colocando para o primeiro nome dessa pessoa, como not new, ou seja, é necessário que toda pessoa tenha o primeiro nome, que tenha o último nome e que tenha a última atualização preenchida. Não é possível valores nulos para esses três atributos a partir da execução deste alter table. Em MySQL, também nós podemos ver o not null para o imposto id. Então, este imposto id, a chave primária desta tabela, precisa ser obrigatoriamente não nulo. E aqui tem um restante do comando, apenas para clarificação. Eu estou trazendo a sintaxe do mysql, que é uma chave primária, que nós vamos ver em seguida, e que é uma chave primária inteira, que vai ser autoincrementada. Mas o destaque aqui, na verdade, é para not null. O imposto ID não pode ser nulo na tabela de impostos. Em SQL Server, estamos fazendo um alter table, uma modificação da nossa tabela produto, uma modificação da nossa tabela produto, aonde tanto o ID quanto o nome e o preço destes produtos não podem ser nulos. Então, bastante tranquilo, nós temos a declaração de cada um dos atributos, o respectivo tipo e a constraint de não nulo, not nulo. E a mesma coisa vai se aplicar em Postgres, na nossa criação de tabela produto, tanto o ID quanto o nome. O ID é um inteiro, o nome é alfanumérico, nós teremos aqui nos obriga a ter algo preenchido no conteúdo dos respectivos atributos que implementam esta constraint.