Última Atualização 13 de janeiro de 2021
12 REGRAS DE CODD
Regra 0: O sistema precisa ser qualificado como relacional, como um banco de dados, e como um sistema de gerenciamento.
Regra 1: A regra da informação: Todas as informações em um BD relacional são apresentadas logicamente de uma só maneira – como valores em uma tabela.
Regra 2: A regra de acesso garantido: Todo valor armazenado em um BD relacional pode ser acessado por uma combinação de nome de tabela, valor da chave primária e nome da coluna.
Regra 3: Tratamento sistemático de valores nulos: Os valores nulos (que são diferentes da cadeia de caracteres vazia, do valor zero ou de qualquer outro número) são suportados pelo SGBD Relacional para representar informação ausente ou não aplicável e tratados de uma maneira sistemática, independentemente do tipo de dados.
Regra 4: Catálogo on-line baseado no modelo relacional: A descrição do banco de dados está representada, no nível lógico, da mesma maneira que os dados comuns, para que os usuários autorizados possam aplicar a eles a mesma linguagem relacional que utilizam para os dados normais.
Regra 5: Sublinguagem Ampla de Dados: O BD relacional pode oferecer suporte a múltiplas linguagens e meios de acesso. Contudo, deve existir pelo menos uma linguagem declarativa bem definida com suporte às seguintes operações:
– Definição de dados
– Definição de views
– Manipulação de dados
– Restrições de integridade
– Autorização
– Controle de transações
Essa regra determina que um SGBD pode até ser manipulado por múltiplas linguagens de programação, por meio de interface gráfica ou algum outro modo. Contudo, é necessário que exista pelo menos uma linguagem que englobe todas as funcionalidades listadas acima.
Regra 6: Atualização por meio de Visualizações: Toda view que é teoricamente atualizável, deve ser também atualizável na prática por meio do sistema. Essa regra é peculiar. Ela diz mais ou menos o seguinte: se existir uma funcionalidade que permita que o usuário atualize as tabelas que a view consulta se utilizando da própria view, essa funcionalidade deve ser acessível por meio do sistema. É meio complicada e acredito que tem menos chances de cair na sua prova em relação às demais, então sugiro que você somente memorize o texto da regra (é só uma frase, vai!) se quiser se garantir!
Regra 7: Inserção, Atualização, e exclusão de Alto nível: A capacidade de gerenciar uma relação base ou uma relação derivada com um só operando se aplica não somente à extração de dados, mas também à inserção, atualização e remoção dos dados. O texto é um pouco estranho, mas a regra nem tanto. Ela diz que se você é capaz de extrair todos os registros de uma tabela do SGBD fazendo referência apenas ao conjunto dos dados, você também vai poder fazer isso para as operações de inserção, atualização e remoção de dados, sem precisar ir registro a registro.
Regra 8: Independência Física de dados: Programas de aplicação e atividades terminais não são logicamente afetadas quando mudanças são feitas na representação de armazenamento ou nos métodos de acesso do banco de dados. Já falamos sobre isso! A independência física diz que você pode alterar detalhes de implementação físicos dos dados, como a maneira que esses dados estão armazenados no disco ou os métodos de acesso internos do SGBD sem que o modelo lógico ou o conceitual (e, por consequência, os programas de aplicação) sejam afetados.
Regra 9: Independência Lógica de Dados: Programas de aplicação e atividades terminais não são logicamente afetadas quando mudanças que preservem as informações são realizadas sobre as tabelas. Essa regra é similar à anterior, mas diz que as alterações no modelo lógico, desde que preservem as informações presentes nas tabelas, não devem afetar as aplicações ou recursos ad hoc
Regra 10: Independência de Integridade: As restrições de integridade de um banco de dados relacional devem ser definíveis na linguagem relacional e armazenável no catálogo, não nos programas de aplicação. Essa regra é interessante. Ela diz que as restrições de integridade (que também vimos nesta aula) devem ser gerenciadas pelo SGBD, não pela aplicação. Por exemplo, não é necessário que o sistema de aplicação que utiliza o banco de dados “se preocupe” em gerenciar se as chaves primárias são realmente únicas ou não. O próprio SGBD que vai levantar um erro toda vez que você tentar duplicá-las ou deixar um valor nulo em alguma delas.
Regra 11: Independência de Distribuição: Um SGBD relacional tem independência de distribuição. Os bancos de dados distribuídos são aqueles cujos dados armazenados em múltiplos locais, sejam múltiplas máquinas no mesmo local físico ou diferentes servidores espalhados por cidades, estados ou até mesmo países diferentes. A regra diz, basicamente, que a localização física dos dados não deve ser da preocupação do usuário, ou seja, o usuário não enxerga nem é afetado pela localização dos dados. Ele vai simplesmente trabalhar com os dados e executar comandos SQL da mesma maneira que faria se estivessem todos armazenados no mesmo servidor.
Regra 12: A não-transposição das regras: Se um sistema relacional possui uma linguagem de baixo nível (uma linguagem que permite manipular registros individuais), esse baixo nível não pode ser utilizado para subverter ou contornar as restrições de integridade que foram criadas pela linguagem relacional de alto nível (aquela que permite manipular conjuntos de registros de uma vez). Pode parecer confuso, mas essa regra foi definida porque o problema descrito era comum à época. O que você deve extrair dela é que, mesmo que haja uma outra linguagem no banco de dados, fora a SQL, essa não pode ser utilizada para infringir alguma das restrições de integridade definidas.
QUESTÃO CERTA: As doze regras de Codd propostas em 1985 por Dr. E. F. Codd definem o que é necessário para que um sistema de gerenciamento de banco de dados seja considerado relacional. A regra 12, que trata da não transposição das regras, afirma que: se o sistema suportar acesso de baixo nível aos dados, não deve haver uma maneira de ignorar as regras de integridade do banco de dados.
QUESTÃO CERTA: 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: precisam 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.
QUESTÃO CERTA: Considere a seguinte regra de Codd, aplicada aos bancos de dados relacionais: A descrição do banco de dados é representada no nível lógico da mesma forma que os dados ordinários, permitindo que usuários autorizados utilizem a mesma linguagem relacional aplicada aos dados regulares: formação do catálogo.
QUESTÃO CERTA: Na década de 80, Edgar Frank Codd definiu um conjunto de regras para definir o que são bancos de dados relacionais. A opção que NÃO faz parte dessas regras, é:
A) qualquer visualização que teoricamente possa ser atualizada deve ser realizada através do próprio sistema;
B) aplicativos e recursos ad hoc não devem ser afetados logicamente quando os métodos de acesso ou as estruturas de armazenamento físico forem alterados;
C) restrições de integridade necessitam ser especificadas dentro dos programas de aplicação, de modo que mudanças nessas restrições sejam observadas por essas aplicações;
D) todas as informações no banco devem ser representadas logicamente como valores de coluna em linhas dentro das tabelas;
E) os usuários finais e aplicativos não devem conhecer nem serem afetados pela localização dos dados.
QUESTÃO CERTA: Uma das regras de Codd para o modelo relacional consiste: na independência de distribuição.
QUESTÃO CERTA O termo OLAP (Online Analytical Processing) foi descrito por E. F. Codd em 1992, através de 12 (doze) regras utilizadas para identificar as funcionalidades que os produtos assim especificados devem conter. Cinco dessas doze regras de Codd são:
1. Suporte a multi-usuários.
2. Transparência.
3. Arquitetura cliente/servidor.
4. Banco de Dados Orientado a Objetos.
5. Acessibilidade.
Assinale a alternativa abaixo o número que NÃO corresponde a uma dessas doze regras: 4.