Questão nº 39
Questão de Tecnologia da Informação · FCC TRF4 2019 (nº 39)
Dentre as regras de Codd que caracterizam Bancos de Dados Relacionais, a regra da Independência de Integridade estipula que as várias formas de integridade relacional de banco de dados
- Aprecisam ser definidas na linguagem relacional e armazenadas dentro do catálogo do sistema ou dicionário de dados, e ser totalmente independentes da lógica dos aplicativos. (alternativa correta)
- Bpodem ser representadas em tabelas relacionais específicas que se relacionam com as tabelas de cada aplicativo. Quando um aplicativo mudar, a regra de independência muda automaticamente.
- Cprecisam ser definidas na linguagem de cada aplicativo e armazenadas como tabelas relacionais dentro do banco de cada aplicativo, pois somente desta forma, ao mudar o aplicativo, as regras de integridade mudarão também, automaticamente.
- Dpodem ser definidas em linguagem natural ou em Shell script e armazenadas no dicionário de dados ou dentro do catálogo do sistema; contudo, não há como garantir que elas sejam totalmente independentes da lógica dos aplicativos na totalidade das situações.
- Edevem ser escritas em linguagem hierárquica ou de rede pois, desta forma, tanto a hierarquia das tabelas quanto os links entre elas, como ocorre nos bancos em rede, conduzirão às mudanças automáticas das integridades ao se mudar algum aplicativo.
Resposta comentada
Gabarito Alternativa A
A regra da Independência de Integridade de Codd (Regra 10) estabelece que as regras que garantem a consistência e validade dos dados (como chaves primárias, chaves estrangeiras e restrições de verificação) devem ser definidas no próprio banco de dados, usando sua linguagem, e armazenadas em seu dicionário de dados, funcionando de forma autônoma e sem depender da lógica dos programas que acessam o banco.
- (A) Correta: As regras de integridade devem ser definidas na linguagem do banco de dados relacional (geralmente SQL DDL), armazenadas no catálogo do sistema (metadados) e serem totalmente independentes da lógica dos aplicativos. Isso garante que a integridade seja centralizada, consistente e imposta pelo próprio banco de dados, independentemente de como ou por qual aplicativo os dados são acessados.
- (B) Incorreta: A ideia de que "quando um aplicativo mudar, a regra de independência muda automaticamente" é a armadilha. A independência de integridade significa justamente o contrário: as regras de integridade devem ser estáveis e independentes das mudanças nos aplicativos. Se as regras mudassem automaticamente com os aplicativos, não haveria independência, mas sim uma dependência indesejada.
- (C) Incorreta: Definir regras de integridade na linguagem de cada aplicativo e armazená-las separadamente é o oposto da independência de integridade. Isso levaria a redundância, inconsistência e dificuldade de manutenção, pois cada aplicativo poderia implementar as regras de forma diferente ou ignorá-las.
- (D) Incorreta: Regras de integridade são definidas em linguagem DDL (Data Definition Language) do banco de dados relacional (ex: SQL), não em linguagem natural ou Shell script. Além disso, a regra de Codd garante que elas sejam independentes da lógica dos aplicativos, não o contrário.
- (E) Incorreta: Esta alternativa mistura conceitos de bancos de dados hierárquicos ou de rede, que são paradigmas diferentes dos bancos de dados relacionais. As regras de Codd são específicas para o modelo relacional. Além disso, a ideia de que as integridades mudariam automaticamente com os aplicativos contradiz a independência.
Fonte: FCC TRF4 2019 Analista Judiciário - Área Apoio Especializado - Especialidade Infraestrutura em Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.