Restrições not null e unique

Introdução aos bancos de dados relacionais em SQL

Timo Grossenbacher

Data Journalist

A restrição not null

  • Não permite valores NULL em uma determinada coluna
  • Tem que ser verdade para o estado atual
  • Tem que ser verdade para qualquer estado futuro
Introdução aos bancos de dados relacionais em SQL

O que significa NULL?

  • desconhecido
  • não existe
  • não se aplica
  • ...
Introdução aos bancos de dados relacionais em SQL

O que significa NULL? Um exemplo

CREATE TABLE students (
 ssn integer not null,
 lastname varchar(64) not null,
 home_phone integer,
 office_phone integer
);
NULL != NULL
Introdução aos bancos de dados relacionais em SQL

Como adicionar ou remover uma restrição not null

Quando estiver criando uma tabela...

CREATE TABLE students (
 ssn integer not null,
 lastname varchar(64) not null,
 home_phone integer,
 office_phone integer
);

Depois que a tabela for criada...

ALTER TABLE students 
ALTER COLUMN home_phone 
SET NOT NULL;
ALTER TABLE students 
ALTER COLUMN ssn 
DROP NOT NULL;
Introdução aos bancos de dados relacionais em SQL

A restrição unique

  • Não permite valores duplicados em uma coluna
  • Tem que ser verdade para o estado atual
  • Tem que ser verdade para qualquer estado futuro

Introdução aos bancos de dados relacionais em SQL

Como adicionar restrições unique

CREATE TABLE table_name (
 column_name UNIQUE
);
ALTER TABLE table_name
ADD CONSTRAINT some_name UNIQUE(column_name);
Introdução aos bancos de dados relacionais em SQL

Vamos aplicar isso ao banco de dados!

Introdução aos bancos de dados relacionais em SQL

Preparing Video For Download...