Está en la página 1de 6

Unidad 1- INTRODUCCIN AL MODELO RELACIONAL

1.1 Origen del Modelo Relacional y sus Caractersticas


El almacenamiento de los datos previamente a la creacin de de las Bases de datos haba sido reservado para que fuera realizado en archivos en los que se almacenaban toda la informacin separados en campos y registros. Los primeros archivos guardaban estos registros ordenados de acuerdo a un criterio dado y si era necesario otro orden se le aplicaba un proceso especial que derivaba en otro archivo ordenado por el criterio elegidos. Luego, los programas comenzaban a leer en forma secuencial, fila a fila, para procesar la informacin en busca de listas de sueldos, modificacin de saldos de cuentas bancarias, clculos de existencias en grandes almacenes. Esta forma de trabajo, dejaba libertad al programador para que organizara los datos como quisiera, y resolviera eficazmente el problema foco de su sistema. No haba una visin integral de la problemtica de la empresa, si otra rea necesitaba alguna de esta informacin, ms otra de otro aspecto, usualmente ser repetan estos datos tantas veces como fuera necesario. Esto suceda en los aos 60 y los computadores contaban con muy poca memoria real y el almacenamiento en medios magnticos era en cintas y en los dispositivos de acceso directo que mejoraban el tiempo de acceso a los registros sobre la forma secuencial nombrada. El medio estaba prximo a vivir un cambio dado por un Matemtico Ingles, Edgar Codd, ex piloto de la Real Fuerza Area durante la Segunda Guerra Mundial, que emigr a EEUU, para trabajar como Investigador en IBM. En los aos 70 publica un paper que logr la adhesin de otros expertos porque facilitaba un camino, respaldado en la teora de conjuntos, para resolver el problema de grandes bases de datos compartidas. Dicho paper, publicado en Junio de 1970, se llam A Relational Model of Data for Large Shared Data Banks, algo as como Un modelo de datos relacional para grandes bancos de datos compartidos. As es que el enfoque usado con los archivos, con las sentencias del lenguaje usado, como COBOL, C, u otro generaba eficacia por un lado e ineficiencias, como la REDUNDANCIA, cuya definicin es importante destacar, segn la Real Academia Espaola: Redundancia: Cierta repeticin de la informacin contenida en un mensaje, que permite, a pesar de la prdida de una parte de este, reconstruir su contenido (RAE, 2009) Otra definicin que nos acerca a la aplicacin en este contexto Redundancia es Repetir el registro de un hecho en distintas tablas

Para entender que esto es un problema, se debe hacer el siguiente ejercicio mental: si se guarda en varios registros el domicilio de un cliente, se puede afirmar que ser ms fcil de acceder por que tengo una copia de esa informacin a mano. Pero este acceso fcil enseguida muestra desventajas: si el cliente cambia de domicilio, se tendr que buscar todas las repeticiones para modificarlas, de otro modo, si no se actualizan TODAS las repeticiones de este domicilio, repetido en el modelo de datos general de la empresa, estaremos provocando inconsistencia, lo que har perder confianza en la informacin almacenada, ya que cuando consulto en un lugar, me devuelve una direccin y si consulto en otro, me figura una diferente, Cul de las dos es la correcta? Este problema genera procesos extra de validacin y en el peor de los casos se produce la prdida de

Materia: Base de Datos I Profesor: Calixto Maldonado

-1-

la confianza y pese a tener un sistema informtico, se recurre a alternativas menos eficientes, por esta falta de confianza. Extractando un importante trabajo publicado en Internet, encontramos que al hablar de la situacin en los orgenes del Modelo Relacional: El simple enfoque de abrir un archivo de datos, rpidamente se convirti en problemtico, con muchas necesidades a solucionar. Los proveedores informticos tuvieron que soportar las necesidades crticas de un mercado creciente en evolucin, sobre sus necesidades de procesamiento de datos. El primer sistema de Administracin de Base de datos (DBMS, por el ttulo Data Base Management System) aparece durante los aos 60 en un momento en que los proyectos tenan una escala significativa, y stos eran estudiados, planificados por los ingenieros. Nunca antes tales grandes grupos de datos haban sido grabados en esta nueva tecnologa. Los problemas iniciales y sus soluciones fueron identificados, a veces en Tiempo Real, es decir, cuando aparecan eran estudiados y solucionados. Los DBMS se hicieron necesarios debido a que los datos eran ms voltiles de lo planeado y por que haba cada vez ms limitaciones en los costos asociados a los medios de almacenamiento de datos. Los datos crecieron como una coleccin, y esto hizo necesario administrarlos en cada una de las transacciones realizadas. En los aos 70 cada proveedor de sistemas de hardware lo suficientemente capaz de soportar las necesidades demandantes de los clientes, incorporaban sus propios sistemas DBMS. Los primeros eran especficos de cada uno de los proveedores. IBM lideraba el campo, pero haba un gran nmero de competidores que ofrecan soluciones de Sistemas de almacenamiento de Registros. En estos aos los problemas de almacenamiento, acceso y de respaldo entre otras tareas de mantenimiento, como reorganizacin y re-indexado de los datos, eran tareas llevadas a cabo a travs de proceso iniciados por operadores humanos para mantener accesos veloces de acuerdo a la necesidad de las aplicaciones. (Brown,2002)

Codd propuso que los sistemas de bases de datos deberan presentarse a los usuarios con una visin de los datos organizados en estructuras llamadas relaciones (tablas), definidas como conjuntos de tuplas (filas) y no como series o secuencias de objetos, con lo que el orden no es importante. Por tanto, detrs de una relacin puede haber cualquier estructura de datos compleja que permita una respuesta rpida a una variedad de consultas. Codd hizo entonces nfasis en que el usuario de un sistema relacional slo deba preocuparse por el qu consultar y no el cmo de las estructuras de almacenamiento (lo que ahora se conoce como modelo fsico). An hoy se consideran validas sus afirmaciones, especialmente la siguiente: Los usuarios futuros de grandes bancos de datos deben ser protegidos de tener que saber cmo estn organizados los datos en la mquina (la representacin interna. () Las actividades de los usuarios en sus terminales y la mayora de programas de aplicacin no debera verse afectados cuando se cambia la representacin interna de los datos o incluso cuando se cambian algunos aspectos de la representacin externa. Se necesitar cambiar la representacin de los datos a menudo como resultado de los cambios en el trfico de las

Materia: Base de Datos I Profesor: Calixto Maldonado

-2-

consultas, actualizaciones e informes y como consecuencia del crecimiento natural en los tipos de informacin almacenada. [Brown, 2002] Puede parecer extrao, pero las ideas de Codd no fueron recibidas con los brazos abiertos en IBM, donde realizaba sus labores de investigacin, segn afirma Harlwood Kolsky, un fsico y antiguo compaero de Codd; fue un enfoque revolucionario, recuerda Kolsky. El nuevo enfoque de Codd, basado en la teora matemtica de conjuntos, no tuvo eco inmediato en IBM, que prefiri a IMS, un producto al que se le haba invertido una fuerte cantidad de esfuerzo y dinero. [Quiroz, 2003] Un grupo de la Universidad de Berkeley en California, liderado por Michael Stonebreaker, crey en la idea del modelo relacional y obtuvo financiamiento para desarrollar un sistema, el Ingres, cuya primera versin se present en 1974 y fue el primer manejador relacional de bases de datos funcional. Esto tuvo como consecuencia que IBM reaccionara poniendo en marcha otro sistema relacional, el System R con caractersticas de multiusuario y un lenguaje de consulta estructurado, el SEQUEL que luego pasara a llamarse SQL (Structured Query Language). Para entonces Larry Ellison, un empresario del Valle del Silicn, haba tomado ventajas de los escritos de Codd para crear un nuevo producto y una nueva empresa que hasta la fecha se conoce como Oracle. En 1985 Codd public sus famosas 12 reglas sobre el modelo relacional de bases de datos, un resumen de sus caractersticas fundamentales. Es preciso resaltar que todava hoy algunas de estas reglas son de difcil implementacin para los fabricantes de manejadores de bases de datos relacionales. Adems de ser considerado como el padre del modelo relacional, Codd tambin incursion en el modelo multidimensional de anlisis de datos conocido como OLAP (On Line Analytical Processing) y en 1993 Codd y algunos de sus colegas publicaron las 12 reglas para OLAP. A lo largo de su vida, el Dr. Codd recibi innumerables reconocimientos. En 1981, la ACM (Association for Computer Machinery), otorg a Codd el Premio Turing, considerado uno de los ms prestigiosos en el campo de la informtica. Muchos de sus compaeros y seguidores han contribuido, y siguen hacindolo, a fortalecer su modelo el cual es, por mucho, el ms utilizado actualmente como sistema de bases de datos. La esencia del modelo La estructura fundamental del modelo relacional es la relacin, luego conocido simplemente como Tabla, es decir, una tabla bidimensional constituida por filas (tuplas) y columnas (atributos). Las relaciones representan las entidades que se consideran interesantes en la base de datos. Cada instancia de la entidad encontrar sitio en una tupla de la relacin, mientras que los atributos de la relacin representan las propiedades de la entidad. Por ejemplo, si en la base de datos se tienen que representar personas, podr definirse una relacin llamada "Personas", cuyos atributos describen las caractersticas de las personas. Cada tupla de la relacin "Personas" representar una persona concreta. Por ejemplo, la relacin: Personas (Documento Nacional de Identidad DNI, nombre, apellido, sexo, estado civil, fecha nacimiento) es apenas una definicin de la estructura de la tabla, es decir, su nombre y la lista de atributos que la componen. Si esta estructura se puebla con datos, entonces tendremos una lista de valores individuales para cada tupla, atributo por atributo.

Materia: Base de Datos I Profesor: Calixto Maldonado

-3-

En Wikipedia encontramos la siguiente definicin que permite ampliar la idea:

En este modelo todos los datos son almacenados en relaciones, y como cada relacin es un conjunto de datos, el orden en el que estos se almacenen no tiene mayor relevancia (a diferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable ventaja de que es ms fcil de entender y de utilizar por un usuario no experto. La informacin puede ser recuperada y mostrada por medio de consultas que ofrecen una amplia flexibilidad y poder para administrar la informacin. [Wiki,2009a]

Aunque una relacin es ms conocida como tabla, las tuplas como filas y los atributos como columnas, en este apartado usaremos la terminologa original y de donde deriva el nombre del modelo. Las tuplas en una relacin son un conjunto en el sentido matemtico del trmino, es decir, una coleccin no ordenada de elementos diferentes. Para distinguir una tupla de otra, se recurre al concepto de "clave primaria", o sea un atributo o conjunto de atributos que permiten identificar unvocamente una tupla en una relacin (en el ejemplo, el atributo DNI cumple con esta funcin). Naturalmente, en una relacin puede haber ms combinaciones de atributos que permitan identificar unvocamente una tupla ("claves candidatas"), pero entre stas se elegir una sola para utilizar como clave primaria. Los atributos de la clave primaria no pueden asumir el valor nulo (que significa un valor no determinado), en tanto que ya no permitiran identificar una tupla concreta en una relacin. Esta propiedad de las relaciones y de sus claves primarias se conoce como integridad de las entidades. Cada atributo de una relacin se caracteriza por un nombre y por un dominio. El dominio indica qu valores pueden ser asumidos por una columna de la relacin. A menudo un dominio se define a travs de la declaracin de un tipo para el atributo (por ejemplo diciendo que es una cadena de diez caracteres), pero tambin es posible definir dominios ms complejos y precisos. Por ejemplo, para el atributo "sexo" de nuestra relacin "Personas" podemos definir un dominio por el cual los nicos valores vlidos son 'M' y 'F'; o bien para el atributo "fecha nacimiento" podremos definir un dominio por el que se consideren vlidas slo las fechas de nacimiento despus del uno de enero de 1960, si en nuestra base de datos no est previsto que haya personas con fecha de nacimiento anterior a esa. El motor de datos se ocupar de controlar que en los atributos de las relaciones se incluyan slo los valores permitidos por sus dominios. Caracterstica fundamental de los dominios de una base de datos relacional es que sean "atmicos", es decir que los valores contenidos en los atributos no se puedan separar en valores de dominios ms simples. Ms formalmente se dice que no es posible tener atributos con valores mltiples o multivaluados. La normalizacin, es decir, la razn y uso de las formas normales, es un proceso que persigue evitar la repeticin innecesaria de datos (redundancia). Una solucin a este problema es repartirlos en varias relaciones y utilizar referencias por valor entre ellas. Este es un ejemplo tpico de que la tupla de una relacin, digamos de Empleados, no deba repetir toda la informacin de su departamento, sino que debe utilizar una referencia por valor a la tupla de la relacin Departamento, donde estn todos estos datos. Este procedimiento ahorra espacio de almacenamiento, optimiza el rendimiento y, al eliminar la redundancia, impide modificaciones

Materia: Base de Datos I Profesor: Calixto Maldonado

-4-

parciales o incompletas que podran dar lugar a inconsistencias. Existen hasta 6 formas normales pero, en la prctica, se adopta generalmente la tercera forma normal. Junto con el modelo, el Dr. Codd tambin propuso el lgebra relacional, un lenguaje formal con una serie de operadores que trabajan sobre una o varias relaciones para obtener otra relacin resultado, sin que cambien las relaciones originales. Tanto los operadores como los resultados son relaciones, por lo que la salida de una operacin puede ser la entrada de otra operacin. Esto permite anidar expresiones del lgebra del mismo modo que se pueden anidar las expresiones aritmticas. Codd originalmente propuso ocho operadores pero slo cinco son fundamentales: restriccin, proyeccin, producto cartesiano, unin y diferencia, que permiten realizar la mayora de las operaciones de obtencin de datos. Los operadores no fundamentales son la concatenacin o reunin (join), la interseccin y la divisin, que se pueden expresar a partir de los cinco operadores fundamentales. La restriccin y la proyeccin son operaciones unarias porque operan sobre una sola relacin. El resto de las operaciones son binarias porque trabajan sobre pares de relaciones. Ampliaremos este tema mas adelante. Partiendo del clculo relacional, el Dr. Codd desarroll el primer lenguaje relacional llamado ALPHA el cual form el fundamento para el desarrollo subsecuente de lenguaje SQL (original SEQUEL). Otros lenguajes relacionales de consulta, tales como el QBE (Query By Example, consulta a travs de ejemplos), se basaron en el lgebra relacional definida por el Dr. Codd. Durante las fases de desarrollo del modelo relacional, el comit ANSI/SPARC (American National Standard Institute - Standards Planning and Requirements Committee) de 1975 defini la separacin en tres niveles de los sistemas manejadores de bases de datos: externo, conceptual e interno que vinieron a redundar en lo que ahora se conoce como subesquema externo, esquema lgico y esquema fsico. En otras palabras: los modelos conceptual, lgico y fsico. Sin embargo, fue el Dr. Codd quien estableci los fundamentos para esta separacin con conceptos tales como la independencia lgica y fsica de los datos (reglas 8 y 9), de independencia, integridad y distribucin (reglas 10 y 11). Ms adelante, en esta materia, veremos en detalle estas reglas. Como consecuencia, el mundo de las bases de datos cambi para siempre. A partir del modelo relacional el usuario no tendra porqu preocuparse de los aspectos tcnicos de la base de datos: simplemente sus necesidades de informacin se satisfaran de acuerdo a su perspectiva de los datos. Igualmente, los programadores de aplicaciones no tendran que lidiar con el modelo fsico, asunto exclusivo del administrador de bases de datos (en ingls DBA) quien, si as lo determinara conveniente y en aras de un mejor rendimiento, podra modificar el modelo fsico de datos sin afectar al modelo lgico. Como veremos, muchos de estos conceptos fundamentales an son confundidos o ignorados por analistas, desarrolladores y fabricantes que an no han entendido o podido implementar un verdadero modelo relacional de bases de datos. El futuro del modelo relacional Ya desde principios de 1990 se hablaba del fin del modelo relacional y su sustitucin por las bases de datos orientadas a objetos. Pero el caso es que en el ao 2001 de 8 mil 884 millones de dlares pagados por licencias de bases de datos, 7 mil 107 correspondieron al modelo relacional. Ms significativo es el hecho de que en el ao 2000 las ventas para bases de datos relacionales tuvieron un incremento del 15% en tanto, para bases de datos orientadas a objetos y de otro tipo tuvieron un incremento negativo. Hay varias razones para explicar lo anterior que no detallaremos pero sin duda resaltan lo sencillo del modelo y su slido fundamento terico. La adicin de nuevas caractersticas al modelo relacional es asunto de intenso debate as como la modernizacin y

Materia: Base de Datos I Profesor: Calixto Maldonado

-5-

adecuacin del lenguaje SQL a las exigencias siempre cambiantes de un entorno de gran competencia. Sin duda el modelo ha superado la prueba del tiempo. Los proveedores han aadido caractersticas de objetos a sus productos, lo cual permite a los usuarios definir sus propios tipos de datos. En resumen, el modelo relacional de bases de datos es un estndar de la industria consolidado, una tecnologa confiable y eficiente que estar entre nosotros an por muchos aos antes de que sea desplazada por una nueva y mejor. Se encuentran entonces Bases de Datos llamadas Objeto-Relacional, porque permiten crear objetos con las caractersticas de la Orientacin a Objetos, como encapsulamiento, algn grado de herencia, para facilitar el desarrollo de aplicaciones que tengan este paradigma y que no sea necesario una capa de conversin de Relacional a Objetos.

A modo de conclusin sobre lo visto: Las necesidades de informacin de los usuarios cambian constantemente. No es posible anticiparlas en su totalidad. El modelo relacional de bases de datos con sus relaciones normalizadas es una solucin simple y elegante para satisfacer las ms diversas condiciones de consulta y extraccin de datos e informacin. El Dr. Codd, al recibir el premio Turing en 1981, declar que una verdadera base de datos relacional puede: Estar al alcance de los no programadores, donde antes los programadores fueron una necesidad. Incrementar la productividad de los programadores en la mayora de aplicaciones de bases de datos. En otro momento, hizo la siguiente reflexin: es importante recordar que las bases de datos se establecen para beneficio de los usuarios finales, y no para los programadores de aplicaciones quienes actan como intermediaros para las necesidades actuales de procesamiento de datos. (Quirz, 2003) Sabias palabras!

Materia: Base de Datos I Profesor: Calixto Maldonado

-6-