terça-feira, 9 de outubro de 2007

Modelo de Dados Relacional - MDR - Codd - 1970

O Modelo de Dados Relacional (MDR) foi criado por Edgar Frank Codd em 1970, sendo descrito no artigo "Relational Model of Data for Large Shared Data Banks", foi o primeiro modelo de dados descrito teoricamente, os bancos de dados já existentes passaram então a ser conhecidos como (modelo hierárquico, modelo em redes ou Codasyl e modelo de listas invertidas). Posteriormente o MDR foi aprimorado por Chris Date e Hugh Darwen como um modelo geral de dados. No Terceiro Manifesto (1995) eles mostraram como o MDR pode ser extendido com características de orientação à objeto sem comprometer os seus princípios fundamentais.

Historicamente ele é o sucessor do modelo hierárquico e do modelo em rede. O MDR foi o primeiro modelo de banco de dados formal. Somente depois seus antecessores, os bancos de dados hierárquicos e em rede, passaram a ser também descritos em linguagem formal.

O MDR é um modelo de dados que tem como fundamento teórico a lógica/cálculo de predicados e a teoria dos conjuntos e baseia-se no princípio prático de que todos os dados em um banco de dados serão armazenados em tabelas (ou, matematicamente falando, relações). A principal proposição do modelo relacional é que todos os dados são representados como relações matemáticas, isto é, um subconjunto do produto Cartesiano de n conjuntos.

O princípio básico do MDR é o princípio da informação: toda informação é representada por valores em relações. O MDR permite ao projetista criar um modelo lógico consistente da informação a ser armazenada. Este modelo lógico pode ser refinado através de um processo de normalização. Um banco de dados construído puramente baseado no modelo relacional estará inteiramente normalizado.

Os blocos básicos (elementos/componentes de modelagem) do MDR são:

  1. domínio, ou tipo de dado
  2. tupla: é um conjunto de atributos que são ordenados em pares de domínio e valor.
  3. relação é um conjunto desordenado de tuplas.

Apesar destes conceitos matemáticos, eles correspondem basicamente aos conceitos tradicionais dos bancos de dados. Uma relação é similar ao conceito de tabela e uma tupla é similar ao conceito de linha.

A linguagem padrão para os bancos de dados relacionais, SQL, do inglês Structured Query Language, é apenas vagamente remanescente do modelo matemático. Atualmente ela é adotada, apesar de suas restrições, porque ela é antiga e muito mais popular que qualquer outra linguagem de banco de dados.

Nenhum comentário: