Modelo Relacional: Conhecendo as Regras de Codd

Avatar


24/04/2022 | 13:24 Atualizado h√° 63 dias

Fala pessoal, c√° estou novamente com mais um artigo!! ūüėČ

Bom, hoje, vamos trazer um t√≥pico de certa forma antigo, mas que por muitas vezes √© cobrado implicitamente no racioc√≠nio de algumas quest√Ķes sobre modelo relacional em banco de dados, estou falando as Regras de Codd, vem comigo!

O modelo relacional foi proposto na década de 70 por Edgard F. Codd.

Codd percebeu que seria poss√≠vel aplicar as opera√ß√Ķes conhecidas na matem√°tica para o manuseio de conjuntos sobre estruturas de dados. Opera√ß√Ķes como sele√ß√£o, proje√ß√£o, uni√£o, interse√ß√£o e outras opera√ß√Ķes realizadas sobre os dados poderiam ser comprovadas atrav√©s da teoria dos conjuntos (assunto esse muito explorado na √Ālgebra Relacional e muito utilizado no contexto de opera√ß√Ķes em banco de dados).

A partir daí, foi possível estabelecer um método formal e rigoroso para o tratamento das estruturas de dados, que até o momento eram desestruturados.

Para Codd, a motivação mais importante para o trabalho de investigação que resultou no modelo relacional foi o objetivo de fornecer uma fronteira clara entre a lógica e aspectos físicos do gerenciamento de banco de dados.

A proposta de Codd, descrita de forma resumida e sem a formalidade do modelo, se baseia em 3 aspectos b√°sicos:

  • Aspecto Estrutural: Dados que s√£o percebidos como tabelas e nada al√©m de tabelas;
  • Aspecto de Integridade: As tabelas satisfazem a algumas regras de integridade, para fins de garantir a consist√™ncia dos dados, fazendo uso de limitadores e regras de restri√ß√£o de dados.
  • Aspecto Manipulativo: Possui operadores utilizados na manipula√ß√£o dos dados armazenados nas tabelas, como por exemplo, realizar busca de dados na forma de proje√ß√£o ou at√© de jun√ß√£o de dados em diferentes tabelas. Os operadores que se destacam neste aspecto e que s√£o cobrados em provas de concursos, s√£o: restri√ß√£o, proje√ß√£o e jun√ß√£o.

Vejamos abaixo, na forma de uma tabela, estes diferentes aspectos:

 

Perceba no exemplo acima, que a tabela CARRO, que representa a entidade CARRO, denota, para o modelo relacional, um Aspecto Estrutural. Nesta mesma tabela foram definidas colunas, sendo que algumas dessas colunas devem obedecer limites para fins de garantir o Aspecto de Integridade ‚Äď por exemplo, a coluna Estado espera receber dois caracteres no seu preenchimento e a coluna Cod_veiculo um conte√ļdo num√©rico.

Podemos também perceber que foi aplicada uma operação de Projeção sobre os dados, mostrando apenas as colunas Cor, Marca e Modelo, o que denota um Aspecto Manipulativo. Esta projeção pode ter sido aplicada pra criar uma visão (view) específica dos dados, ou para servir de insumo em um relatório, enfim, pode ter sido feita por diversos motivos.

Ainda sobre os preceitos da Modelagem Relacional, descritos por Codd, outro ponto relevante que preciso destacar e que também é cobrado nas provas de concursos, trata-se das 12 Regras de Codd (na verdade são 13, pois vai da 0 até a 12), vejamos abaixo:

  • Regra 0: Um SGBD¬† relacional¬† deve¬† gerenciar¬† seus¬† dados usando apenas suas capacidades relacionais.
  • Regra 1: Informa√ß√£o – Todas as informa√ß√Ķes em um banco de dados relacional s√£o representadas explicitamente no n√≠vel l√≥gico e de forma exatamente por valores em tabelas, ou seja, seus valores de coluna em linhas dentro das tabelas.

  • Regra 2: Garantia de Acesso ‚Äď Todos os valores at√īmicos(dados) de um banco de dados relacional devem ter a garantia de acesso, sendo tal acesso por combina√ß√£o do nome da tabela, sua chave prim√°ria e o nome da coluna. A combina√ß√£o destes dados forma um identificador √ļnico, mitigando problemas posteriores de interpreta√ß√£o da informa√ß√£o.
  • Regra 3: Tratamento sistem√°tico de nulos ‚Äď Independente do tipo de dado que deva ser armazenado num campo, o valor nulo (null) √© aquele que √© diferente de uma cadeia de espa√ßos vazios ou zeros, por√©m √© suportado por qualquer SGBD;

  • Regra 4: Cat√°logo din√Ęmico baseado no modelo relacional ‚Äď A descri√ß√£o l√≥gica do banco de dados(metadados) deve ser apresentada na mesma forma dos dados comuns, sendo poss√≠vel, para acessar tais dados, usar a mesma linguagem regular que √© usada no banco de dados;
  • Regra 5: Sublinguagem ampla de dados – O banco de dados deve dar suporte √† configura√ß√£o do n√≠vel de inser√ß√Ķes, atualiza√ß√Ķes e exclus√Ķes. No entanto, deve haver pelo menos uma l√≠ngua cujas declara√ß√Ķes s√£o expressivas, por meio de uma sintaxe bem definida, como cadeias de caracteres, e que possibilite: definir dados, visualizar defini√ß√Ķes, manipular dados de forma interativa ou por programa, aplicar restri√ß√Ķes de integridade, aplicar autoriza√ß√Ķes e estabelecer limites nas transa√ß√Ķes;
  • Regra 6: Atualiza√ß√£o de visualiza√ß√£o ‚Äď Qualquer visualiza√ß√£o que possa ser atualizada teoricamente, o sistema deve permitir fazer, ou seja, o SGBD deve permitir a constru√ß√£o de diferentes vis√Ķes de dados. Vale salientar que nem sempre as atualiza√ß√Ķes feitas em vis√Ķes ter√£o reflexo nas suas tabelas associadas.
  • Regra 7: Inser√ß√£o, atualiza√ß√£o e exclus√£o de alto n√≠vel ‚Äď O SGBD deve permitir que as opera√ß√Ķes de inser√ß√£o, atualiza√ß√£o e¬†exclus√£o possam ser definida em diferentes n√≠veis, fazendo uso da linguagem definida para manipula√ß√£o de dados.
  • Regra 8: Independ√™ncia F√≠sica de Dados ‚Äď Os aplicativos de uso em terminal n√£o devem ser afetados quando houver mudan√ßas nas estruturas ou no armazenamento dos dados;
  • Regra 9: Independ√™ncia L√≥gica de Dados ‚Äď Os aplicativos de uso em terminal n√£o devem ser afetados quando houver altera√ß√Ķes na estrutura l√≥gica das tabelas, ou nas vis√Ķes criadas;

  • Regra 10: Independ√™ncia de Integridade ‚Äď Possibilidade de cria√ß√£o de todas as defini√ß√Ķes de integridade relacional atrav√©s da linguagem relacional e que elas sejam armazenadas no cat√°logo de sistema e n√£o no n√≠vel de aplica√ß√£o. As aplica√ß√Ķes n√£o devem ser afetadas por mudan√ßas ocorridas nas restri√ß√Ķes de integridade;
  • Regra 11: Independ√™ncia de Distribui√ß√£o– Os usu√°rios finais e aplicativos n√£o devem ser afetados e nem devem conhecer sobre a localiza√ß√£o dos dados;
  • Regra 12: N√£o transposi√ß√£o das Regras ‚Äď Como o sistema deve permitir acesso em baixo n√≠vel aos dados, as regras de integridade do banco de dados devem ser preservadas, de tal forma, que qualquer tentativa de acesso por usu√°rio ou aplica√ß√£o, sem respeitar as regras, seja impedida pelo SGBD.

√Č isso, sei que esse artigo foi extenso, mas o objetivo era trazer a mente este assunto que baseia os fundamentos e carater√≠sticas sobre Modelo Relacional, e muito se deriva deste assunto em outros t√≥picos t√£o importantes e que s√£o cobrados nos editais de concursos p√ļblicos.

Um abra√ß√£o, at√© o pr√≥ximo artigo, bons estudos ūüôā

=============================================

Prof. Luis Octavio Lima

Avatar

Analista em TI do Ministério da Economia e Professor do Gran Cursos Online
0

0

Deixe um coment√°rio

O seu endereço de e-mail não será publicado.