Considere que foi criada uma tabela em um banco de dados relacional capaz de armazenar os dados de clientes da SABESP, usando o comando SQL: CREATE TABLE Clientes_Sabesp (Cliente VARCHAR (50), MedidorAnt INTEGER NOT NULL, MedidorAtual INTEGER NOT NULL, Periodo DATE NOT NULL, Conta DECIMAL (10,2), PRIMARY KEY (Cliente));É correto afirmar que
Aa instrução PRIMARY KEY define que o campo Cliente será a chave primária simples da tabela e este campo não pode ser nulo nem repetido.
Bcom exceção do campo Cliente todos os outros campos são do tipo numérico inteiro.
Cpara criar uma chave estrangeira, basta acrescentar FOREIGN KEY (Cliente) após a definição da PRIMARY KEY.
Da chave estrangeira de um banco de dados relacional é usada para criar relacionamentos com as demais tabelas do banco de dados, por isso deve ter o mesmo nome da chave primária seguido de _FK. Nesta tabela seria Cliente_FK.
Ehá um erro neste comando: todos os campos da tabela devem ser NOT NULL e os campos Cliente e Conta não têm esta restrição.
Revelar gabarito e comentário▾
GabaritoA — a instrução PRIMARY KEY define que o campo Cliente será a chave primária simples da tabela e este campo não pode ser nulo nem repetido.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
SQL: Criação de tabelas e constraints
Gabarito: letra A. No comando CREATE TABLE fornecido, a cláusula PRIMARY KEY (Cliente) define que a coluna Cliente é a chave primária simples da tabela. A restrição PRIMARY KEY automaticamente impede valores nulos (NOT NULL) e duplicados (UNIQUE), exatamente como afirma a alternativa A.
Alternativa A — ✅ Correta ⟵ GABARITO
A afirmação está correta. PRIMARY KEY é uma constraint que combina NOT NULL e UNIQUE. Quando aplicada a uma única coluna, como no comando, é uma chave primária simples. O campo Cliente não poderá conter NULL nem valores repetidos.
Alternativa B — ❌ Incorreta
Afirma que todos os outros campos são do tipo numérico inteiro. Isso é falso, pois Periodo é do tipo DATE (data) e Conta é DECIMAL(10,2), que é um número decimal, não inteiro. Apenas MedidorAnt e MedidorAtual são inteiros.
Alternativa C — ❌ Incorreta
Basta acrescentar FOREIGN KEY (Cliente) após PRIMARY KEY para criar uma chave estrangeira. Afirmação incompleta e incorreta. A sintaxe correta para uma chave estrangeira exige a cláusula REFERENCES para indicar a tabela e coluna referenciadas (ex.: FOREIGN KEY (Cliente) REFERENCES OutraTabela(Chave)). Sem REFERENCES a declaração não é válida.
Alternativa D — ❌ Incorreta
A chave estrangeira não precisa ter o mesmo nome da chave primária seguido de _FK. Não há regra de nomenclatura obrigatória; o nome da constraint pode ser qualquer um, e a coluna que a implementa pode ter nome diferente da coluna referenciada. A afirmação é generalizante e falsa.
Alternativa E — ❌ Incorreta
Não há erro no comando. Nem todos os campos precisam ser NOT NULL. Apenas MedidorAnt, MedidorAtual e Periodo foram explicitamente definidos como NOT NULL. O campo Cliente, por ser PRIMARY KEY, já é implicitamente NOT NULL. Já Conta pode admitir valores nulos, o que é perfeitamente aceitável em SQL. Portanto, o comando está correto.
Conclusão: A única alternativa que descreve corretamente o comando é a A.