SóProvas


ID
1807243
Banca
CESPE / CEBRASPE
Órgão
MEC
Ano
2015
Provas
Disciplina
Banco de Dados
Assuntos

CREATE TABLE PESSOA (

ID INTEGER NOT NULL,

NOME CHAR(50) NOT NULL UNIQUE,

CPF DECIMAL (11,0) NULL,

NACIONALIDADE INTEGER NOT NULL,

PRIMARY KEY (ID),

FOREIGN KEY (NACIONALIDADE)

REFERENCES TABELA_NACIONALIDADE(CODIGO_NACIONALIDADE)

);

Com base no comando SQL apresentado, julgue o item subsequente.

Mais de uma PESSOA pode ter o mesmo NOME e a mesma NACIONALIDADE.

Alternativas
Comentários
  • Isso não é possível em razão do atributo UNIQUE em NOME.

  • A restrição UNIQUE garante que todos os valores em uma coluna são diferentes.

  • NOME é uma chave candidata.

    Na elaboração lógica e (ou) conceitual de um modelo de dados, quando todos os identificadores únicos são levantandos, eles são ditos chaves candidatas, ou seja, todas são candidatas em potencial para se tornar a chave primária. Após a escolha de uma chave candidata para exercer o papel de chave primária, as demais chaves candidatas são ditas chaves secundárias (ou chaves alternativas), pois, embora não sejam chaves primárias podem servir para identificação do registro assim como a chave primária faz. A principal diferença é que a chave primária, além de identificar registros como as chaves secundárias o fazem, ela também será necessária para viabilizar os relacionamentos.

    Adotando a escolha de uma chave artificial, temos a seguinte implementação física:

    — Cria a tabela de Clientes

    CREATE TABLE Clientes (

       ClienteID INT NOT NULL, ClienteNome VARCHAR(50) NOT NULL,

       ClienteRG VARCHAR(15) NOT NULL, ClienteCPF CHAR(11) NOT NULL)

    — Adicionar o ClienteID como chave primária

    ALTER TABLE Clientes ADD CONSTRAINT PKCliente PRIMARY KEY (ClienteID)

    Uma boa prática de administração de dados é garantir que as chaves secundárias tenham uma constraint unique para garantir a unicidade. Embora o CPF e o RG não sejam a chave primária da tabela, não é interessante que eles se repitam. Para garantir essa integridade, é adicionada logo a seguir as constraints unique nessas colunas.

    — Adiciona constraints unique para restringir as chaves secundárias

    ALTER TABLE Clientes ADD CONSTRAINT UQClienteRG UNIQUE (ClienteRG)

    ALTER TABLE Clientes ADD CONSTRAINT UQClienteCPF UNIQUE (ClienteCPF)