Análise e deseño detallado de aplicacións de informática e de xestión/Historia e obxectivos do modelo relacional

En Galilibros, o Wikibooks en galego.
Saltar ata a navegación Saltar á procura


O modelo relacional desenvolveuno orixinalmente E.F. Codd nos anos setenta, aínda que se foi divulgando de maneira progresiva ata ocupar o primeiro lugar nos sistemas de bases de datos utilizados. O modelo refinouse co paso do tempo para cubrir as necesidades reais dos usuarios e, sobre todo, para aumentar a súa potencia sen afectar á súa simplicidade. O primeiro sistema de xestión de bases de datos relacionais (SXBDR) saíu ao mercado a principios dos anos oitenta.

Os sistemas relacionais dominan o mercado. É por isto que as metodoloxías de desenvolvemento de bases de datos, na súa fase de deseño lóxico, adoitan centrarse no modelo relacional.

Cando en 1970 o doutor E.F. Codd propuxo o novo modelo de datos, os SXBD imperantes no mercado ─Codasyl e xerárquico─ non lograran superar o grave inconveniente que supoña a dependencia das aplicacións desenvolvidas neles respecto ás estruturas de datos. A diferencia destes modelos de datos baseados en punteiros físicos polo que tiña que navegar o programador para recuperar e actualizar os datos, o modelo relacional propúxose como principal obxectivo illar ao usuario das estruturas físicas dos datos, finalidade perseguida dende os inicios das bases de datos.

O modelo relacional era un intento de simplificar a estrutura das bases de datos. Eliminaba as estruturas explícitas pai-fillo da base de datos, e no seu lugar representaba todos os datos da base de datos coma sinxelas táboas fila-columna de valores de datos.

No novo modelo, baseado na teoría matemática das relacións, os datos estrutúranse loxicamente en forma de relacións ─táboas─. Esta formalización matemática converteu rapidamente o modelo relacional nunha fonte fundamental da investigación de bases de datos.

Os avances máis importantes que o modelo de datos relacional incorporou respecto dos seus predecesores son:

  • Sinxeleza e uniformidade. Os usuarios ven a base de datos relacional coma unha colección de táboas, e ao ser a táboa a estrutura fundamental do modelo, este goza dunha grande uniformidade, o que unido a unhas linguaxes non navegacionais e moi orientadas ao usuario final, dá como resultado a sinxeleza dos sistemas relacionais.
  • Sólida fundamentación teórica. Ao estar definido o modelo con rigor matemático, o deseño e a avaliación do mesmo pode realizarse por métodos sistemáticos baseados en abstraccións.
  • Independencia da interface de usuario. As linguaxes relacionais, ao manipular os conxuntos de rexistros, proporcionan unha grande independencia respecto da forma en que os datos están almacenados.

A pesar de que dende a súa introdución o modelo relacional se converteu nun dos principais temas de investigación en bases de datos, os primeiros sistemas relacionais tardaron en aparecer, sobre todo por dificultades de posta en marcha, en en xeral os sistemas de xestión de bases de datos existentes no mercado non adoitan recoller, mesmo na actualidade, algunhas das características e propiedades do modelo relacional teórico proposto polo seu autor orixinal.

Por desgraza a definición práctica de base de datos relacional resultaba moito menos clara que a definición matemática precisa recollida no artigo de Codd do 1970.

Os primeiros sistemas de xestión de bases de datos relacionais fallaron ao integrar algunhas partes clave do modelo de Codd, que só agora están atopando o seu acomodo en produtos comerciais. Conforme o concepto relacional crecía en popularidade, moitas bases de datos que se chamaban a si mesmas relacionais non o eran en realidade.

En resposta a esta corrupción do termo relacional, o doutor Codd escribiu un artigo en 1985 establecendo 12 regras a seguir por calquera base de datos que se chamase «verdadeiramente relacional». As 12 regras de Codd foron aceptadas dende entón como a definición dun SXBD verdadeiramente relacional. Porén, será máis doado comezar cunha definición máis informal:

Unha base de datos relacional é unha abse de datos onde todos os datos están organizados estritamente en táboas de valores, e onde todas as operacións da base de datos operan sobre estas táboas.

A definición está destinada especificamente a eliminar estruturas tales coma punteiros incorporados dunha base de datos xerárquica ou en rede. Un SXBD relacional pode representar relacións pai-fillo, pero estas represéntanse estritamente polos valores contidos nas táboas da base de datos.

As doce regras de Codd[editar]

No seu artigo de 1985 en Computer World, Codd presentou 12 regras que unha base de datos debe obedecer para que sexa considerada verdadeiramente relacional. Dende entón convertéronse nunha definición semioficial dunha base de datos relacional. As regras derívanse do traballo teórico de Codd sobre o modelo relacional, e representan realmente máis un obxectivo ideal que unha definición dunha base de datos relacional.

  1. Regra da información. Toda a información dunha base de datos relacional está representada explicitamente a nivel lóxico e exactamente dun modo (mediante valores en táboas).
  2. Regra de acceso garantido. Garántese que todos e cada un dos datos dunha base de datos relacional son accesibles mediante unha combinación de nome de táboa, valor dunha clave primaria e nome da columna.
  3. Tratamento sistemático de valores nulos. Os valores nulos sopórtanse nos sistemas de xestión de bases de datos completamente relacionais para representar a falta de información e a información inaplicable dun modo sistemático e independente do tipo de datos.
  4. Catálogo en liña dinámico baseado no modelo relacional. A descrición da base de datos represéntase a nivel lóxico do mesmo modo que os datos ordinarios, de xeito que os usuarios autorizados poidan aplicar a sía interrogación na mesma lignauxe relacional que aplican aos datos regulares.
  5. Regra da linguaxe completa de datos. Debe haber polo menos unha linguaxe cuxas sentencias sexan expresables mediante algunha sintaxe ebn definida e que sexa completo en canto ao soporte dos seguintes puntos:
    • definición de datos,
    • definición de vistas,
    • manipulación de datos (interactivo e mediante un programa),
    • restricións de integridade,
    • autorización e
    • fronteiras de transaccións (comezo, cumprimento e volta atrás).
  6. Regra de actualización da vista. Todas as vistas que sexan teóricas e poidan actualizarse tamén pode actualizalas o sistema.
  7. Inserción, actualización e supresión de alto nivel. A capacidade de manexar unha relación de base de datos ou unha relación derivada coma único operando aplícase non só á recuperación dos datos, senón tamén á inserción, actualización e supresión dos datos.
  8. Independencia física dos datos. As aplicacións e as actividades terminais permanecen loxicamente inalteradas sen importar os cambios efectuados, xa sexa as representacións de almacenamento ou aos métodos de acceso.
  9. Independencia lóxica dos datos. As aplicacións e as actividades terminais permanecen loxicamente inalteradas cando se efectúen sobre as táboas da base de datos cambios preservadores da información de calquera tipo que teoricamente non permita alteracións.
  10. Independencia da integridade. As restricións de integridade específicas para unha base de datos relacional particular deber poder definirse na linguaxe de datos relacional e poder almacenarse no catálogo, non nas aplicacións.
  11. Independencia da distribución. Un SXBD relacional ten independencia da distribución.
  12. Regra da non subversión. Se un sistema relacional ten unha linguaxe de baixo nivel (un rexistro cada vez), ese baixo nivel non pode utilizarse para subverter ou suprimir as regras de integridade e as restricións expresadas na linguaxe relacional de integridade e as restricións expresadas na linguaxe relacional de nivel superior (múltiplos rexistros á vez).