Pular para o conteúdo principal

Questão de Banco de Dados — Conceitos e Fundamentos de Modelo Relacional — INSTITUTO AOCP 2024

Banco de DadosConceitos e Fundamentos de Modelo Relacional
Código
qa630680
Banca
INSTITUTO AOCP
Órgão
MPE PR
Ano
2024
Cargo
Tec TI ( )
Você, como técnico de tecnologia da informação do Ministério Público do Estado do Paraná, está trabalhando na implementação de um banco de dados para um novo sistema. Durante esse processo, é necessário garantir que os dados inseridos em determinados campos sejam válidos e relevantes para o contexto. Para isso, você precisa aplicar uma restrição que limite os valores que podem ser inseridos em um campo específico a um conjunto permitido de valores. Qual tipo de restrição de integridade atende a essa necessidade?
  1. AIntegridade de entidade.
  2. BIntegridade referencial.
  3. CIntegridade de domínio.
  4. DIntegridade de nulidade.
  5. ERestrições de chave.
Revelar gabarito e comentário

GabaritoC — Integridade de domínio.

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”.

Restrições de integridade no modelo relacional

Gabarito: letra C. A restrição que limita os valores de um campo a um conjunto permitido de valores é a integridade de domínio, que define o domínio de um atributo — ou seja, o conjunto de valores válidos que ele pode assumir. As demais alternativas tratam de outros aspectos: entidade (chave primária não nula), referencial (chaves estrangeiras), nulidade (permissão de NULL) e chave (unicidade).

No modelo relacional, as restrições de integridade são regras que garantem a exatidão e consistência dos dados armazenados. Elas se dividem em três categorias principais: as inerentes ao modelo (implícitas), as baseadas no esquema (explícitas) e as baseadas em aplicação (semânticas ou regras de negócio). A questão cobra exatamente uma restrição explícita de esquema: a de domínio.

A integridade de domínio estabelece que o valor de cada atributo deve ser indivisível dentro do domínio definido, ou seja, o atributo só pode receber valores que pertençam ao conjunto de valores possíveis especificado para ele. Por exemplo, se um campo sexo tem domínio {'M', 'F'}, o banco rejeitará qualquer outro valor, como 'X' ou 'Masculino'. Essa restrição é implementada no SQL por meio do comando CHECK, que valida a condição antes de aceitar a inserção ou atualização.

É importante distinguir a integridade de domínio das demais restrições, pois a banca explora justamente essa confusão. A integridade de entidade garante que a chave primária nunca seja nula; a integridade referencial assegura que uma chave estrangeira referencie uma tupla existente na tabela relacionada; a restrição de nulidade especifica se um atributo aceita ou não valores nulos (NOT NULL); e a restrição de chave impede que uma chave se repita, garantindo a unicidade. Todas são restrições de integridade, mas cada uma atua em um aspecto diferente do modelo.

A pegadinha desta questão está em confundir "conjunto permitido de valores" com outras restrições. O enunciado fala em "limitar os valores que podem ser inseridos em um campo específico a um conjunto permitido de valores" — isso é a definição literal de domínio. A integridade referencial, por exemplo, limita valores, mas não a um conjunto pré-definido: ela limita a valores que existem em outra tabela. Já a integridade de entidade e a restrição de chave lidam com a identificação das tuplas, não com o conteúdo dos campos. A restrição de nulidade apenas decide se o campo pode ficar vazio, não quais valores ele aceita.

Guarde a fronteira: domínio = quais valores são aceitos; entidade = chave primária não nula; referencial = chave estrangeira aponta para tupla existente; nulidade = pode ser NULL?; chave = não pode repetir. É exatamente nessa distinção que as alternativas se separam.

Alternativa A — ❌ Incorreta

A integridade de entidade garante que nenhum valor de chave primária seja nulo. Ela não limita os valores de um campo a um conjunto permitido — apenas assegura que a chave primária de toda tupla esteja preenchida. O enunciado pede uma restrição sobre o conteúdo do campo, não sobre a identificação da tupla.

Alternativa B — ❌ Incorreta

A integridade referencial estabelece que uma tupla em uma relação que referencia outra relação deve se referir a uma tupla existente nessa outra relação. Ela limita os valores de uma chave estrangeira aos valores existentes na chave primária da tabela referenciada, mas não a um conjunto pré-definido de valores. O enunciado fala em "conjunto permitido de valores" — isso é domínio, não referência.

Alternativa C — ✅ Correta ⟵ GABARITO

A integridade de domínio define que o valor de cada atributo deve ser indivisível dentro do domínio, ou seja, o atributo só pode receber valores que pertençam ao conjunto de valores possíveis especificado para ele. É exatamente o que o enunciado descreve: "limitar os valores que podem ser inseridos em um campo específico a um conjunto permitido de valores". No SQL, essa restrição é implementada com CHECK.

Alternativa D — ❌ Incorreta

A integridade de nulidade especifica se valores nulos são permitidos ou não em um atributo (NOT NULL). Ela não define um conjunto de valores válidos — apenas decide se o campo pode ficar vazio. O enunciado pede uma restrição sobre quais valores podem ser inseridos, não sobre a ausência de valor.

Alternativa E — ❌ Incorreta

As restrições de chave garantem que toda tabela possua uma chave capaz de distinguir as tuplas, impedindo que uma chave se repita (unicidade). Elas não limitam os valores de um campo a um conjunto permitido — apenas asseguram que a chave seja única. O enunciado não trata de identificação de tuplas, mas do conteúdo dos campos.

NÃO CAIA NESSA!

A banca troca o conceito de domínio (conjunto de valores permitidos) por outras restrições que também "limitam" valores, mas de formas diferentes. A integridade referencial limita a valores existentes em outra tabela; a de entidade e a de chave lidam com identificação; a de nulidade só decide se o campo pode ser NULL. A palavra-chave é "conjunto permitido de valores" — isso é domínio, e só domínio.

PEGA ESSA DICA!

Para não errar, pergunte-se: "o que exatamente essa restrição impede?". Se impede valores fora de um conjunto pré-definido → domínio. Se impede chave primária nula → entidade. Se impede referência a tupla inexistente → referencial. Se impede NULL → nulidade. Se impede repetição → chave. Essa pergunta resolve qualquer questão do tipo.

Gabarito: letra C

Link permanente: /questoes/qa630680