Documentos de Académico
Documentos de Profesional
Documentos de Cultura
M01 - Introduccion A Las Bases de Datos Relacionales PDF
M01 - Introduccion A Las Bases de Datos Relacionales PDF
DE BASES DE
DATOS
El 18 de abril del 2003 falleci el Dr. Edgar Frank Codd, a la edad de 79 aos, vctima
de un ataque al corazn. Tal vez nunca usted escuch, conoci o supo del Dr. Codd,
pero lo ms probable es que usted a diario utilice cotidianamente tecnologa derivada
de las teoras que este brillante matemtico y cientfico de la computacin desarrollo a
lo largo de su vida. Nacido en Inglaterra, la mayor parte de su vida la pas en los
Estados Unidos trabajando y desarrollando sus ideas que culminaron en una serie de
informes tcnicos acerca de una nueva manera de organizar y acceder a los datos. A
partir de estos trabajos public en 1970 el artculo A Relational Model of Data for Large
Shared Data Banks, lo que podra traducirse como Un modelo de datos relacional para
grandes bancos de datos compartidos.
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, definidas
como conjuntos de filas y columnas, y no como series o secuencias de objetos, con lo
que el orden no es importante. Por lo tanto, detrs de una relacin puede haber
cualquier estructura de datos compleja que permita una respuesta rpida a una
variedad de consultas.
Un poco de historia.
Cuando la gestin de las bases de datos se populariz durante los aos de 1960, 1970
y 1980 emergieron un puado de modelos de datos populares. Cada uno de estos
primeros modelos de datos tenan ventajas y desventajas que jugaron papeles
importantes en el desarrollo del modelo de datos relacional. En muchos sentidos el
modelo de datos relacional represent un intento de simplificar los modelos de datos
anteriores.
El conocimiento acerca del contenido de un archivo (que datos tuviese y como estn
organizados) estaba incorporado a los programas de aplicacin que utilizaban el archivo
(programas estos antiguos comparables con lo que se desarrollan en estos momentos
con los llamados software anfitriones).
Naci en base a aquellos requerimientos en donde exista una relacin directa entre los
datos de tipo jerrquica. Por ejemplo, se puede tomar a un auto, ste se puede ir
descomponiendo en partes que a su vez se descomponen ms y ms otras partes cada
vez a mayor nivel de profundidad y complejidad.
20/10/2010 2
COORDINACION DE BASES DE DATOS
La cuenta de materiales para un producto tena una estructura jerrquica natural, para
almacenar este tipo de estructura se desarroll el modelo jerrquico. En este modelo,
cada registro de la base de datos representa una pieza especfica. Los registros tenan
relaciones padre / hijo, que ligaban cada pieza a una subpieza de orden superior, y as
sucesivamente. Por ejemplo, la diodera era hija del alternador, y alternador a su vez hijo
del sistema elctrico.
En este modelo para poder acceder a los datos de la base de datos se podra:
La recuperacin de los datos en una base de datos tipo jerrquica requera, por lo tanto,
navegar a travs de los registros, movindose hacia arriba, hacia abajo, o hacia los
lados de un registro de la misma familia cada vez.
El IMS fue el software de manipulacin ms popular para este tipo de Bases de Datos.
.
BASES DE DATOS TIPO REDES
20/10/2010 3
COORDINACION DE BASES DE DATOS
Para un programador acceder a una base de datos en red era similar a acceder a una
base de datos jerrquica, por ejemplo se poda:
Hallar a un registro padre especfico mediante una clave (por ejemplo, mediante
un nmero de cliente).
Ascender desde un hijo a su padre en otro conjunto (El vendedor que acepto el
pedido).
Una vez ms el programador tenia que recorrer la base de datos registro a registro,
especificando esta vez que relacin recorrer adems de indicar la direccin.
Aunque mejoraban al modelo jerrquico, aunque las bases de datos en red tambin
resultaban muy rgidas. Las relaciones de conjunto y la estructura de los registros
tenan que ser especificados de antemano. Modificar la estructura de la base de datos
requera tpicamente de la reconstruccin de la base de datos completa.
Tanto las bases de datos jerrquicas como las de red eran herramientas para
programadores, pero cuando, por ejemplo, se necesitaba conocer cual es el producto
ms popular o ms vendido dentro de una base de datos de ventas, un programador
tenia que escribir un programa que recorriera su camino a travs de toda la base de
datos para poder obtener la informacin deseada. La codificacin de las peticiones para
informes por lo general duraba con frecuencia semanas o meses y para el momento en
que el programa estaba escrito la informacin que se entregaba ya no mereca la pena,
haba perdido su oportunidad y validez.
El IDMS fue el software de manipulacin ms popular para este tipo de Bases de Datos.
El Modelo Relacional de
Bases de Datos
El modelo relacional de bases de datos hace nfasis en que el usuario de un sistema
relacional slo debe preocuparse por el qu consultar y no en el cmo son o fueron
concebidas las estructuras de almacenamiento (lo que ahora se conoce como modelo
fsico), esto quiere decir que no hacia falta ser un programador para poder manipular la
Base de Datos desde el punto de vista de un usuario final. An hoy se consideran
validas las afirmaciones de Codd tales como: Los usuarios futuros de grandes bancos
20/10/2010 4
COORDINACION DE BASES DE DATOS
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 los programas de aplicacin no deberan 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 consultas,
actualizaciones e informes y como consecuencia del crecimiento natural en los tipos de
informacin almacenada.
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.
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.
20/10/2010 5
COORDINACION DE BASES DE DATOS
Un concepto bsico de Base de Datos Relacional es: Base de Datos en donde todos los
datos visibles al usuario estn organizados estrictamente como tablas de valores, y en
donde todas las operaciones de la base de datos operan sobre estas tablas Regla 1.
1 Una Base de Datos Relacional es aquella en donde todos los datos visibles al
usuario estn organizados estrictamente como tablas de valores, y en donde
todas las operaciones de la base de datos operan sobre estas tablas.
2 El nombre de la tabla localiza la tabla correcta, el nombre de la columna
encuentra la columna correcta y el valor de la clave primaria encuentra la fila
que contiene un dato individual de inters.
3 Los campos en blanco de una columna se pueden representar por el valor
NULL.
4 La base de datos debe contener ciertas tablas del sistema cuyas columnas
describan la estructura de la propia base de datos.
5 Utilizacin de un lenguaje de bases de datos relacional, tal como el SQL. El
lenguaje debe ser capaz de soportar todas las funciones bsicas de un DBMS.
6 Creacin y utilizacin de vistas, que no son ms que tablas virtuales utilizadas
para dar a diferentes usuarios de una base de datos diferentes vistas de su
estructura y de sus requerimientos.
7 Naturaleza orientada a conjuntos de una base de datos relacional. Requiere
que las filas sean tratadas como conjuntos en operaciones de insercin,
supresin y actualizacin. La regla esta diseada para prohibir
implementaciones que solo soporten la modificacin o recorrido fila a fila de la
base de datos.
8y9 Aslan al usuario o al programa de aplicacin de la implementacin de bajo
nivel de las bases de datos. Especifican que las tcnicas de acceso a
20/10/2010 6
COORDINACION DE BASES DE DATOS
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 "llave primaria", o sea un atributo o conjunto de atributos
que permiten identificar unvocamente una tupla en una relacin (en el ejemplo, el
atributo RFC cumple con esta funcin). Naturalmente, en una relacin puede haber ms
combinaciones de atributos que permitan identificar unvocamente una tupla ("llaves
candidatas"), pero entre stas se elegir una sola para utilizar como llave primaria. Los
atributos de la llave 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 llaves primarias se conoce como
integridad de las entidades.
20/10/2010 7
COORDINACION DE BASES DE DATOS
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
operandos 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 operandos 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 (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.
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,
se basaron en el lgebra relacional definida por el Dr. Codd.
Durante las fases de desarrollo del modelo relacional, el comit ANSI/SPARC de 1975
defini la separacin en tres niveles de los sistemas manejadores de bases de datos:
20/10/2010 8
COORDINACION 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
conceptuales, 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). Como consecuencia, el acrnimo para Query by Example.
56
A partir de Codd 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 la
base de datos (DBA) quien, si as lo determinara conveniente en aras de un mejor
rendimiento, podra modificar el modelo fsico de datos sin afectar al modelo lgico.
La regla para una relacin normalizada dice: todos los atributos no llave de una relacin
dependen slo y exclusivamente de la llave. Por definicin, el atributo o atributos que
componen la llave no tienen valores duplicados; en consecuencia, los atributos no-llave,
dependientes por completo de la llave, tampoco. Debido a esta dependencia no existe
redundancia en las relaciones. As, en una base de datos completamente normalizada,
es suficiente para el diseador declarar restricciones al manejador sustentadas en la
llave, lo cual garantiza la integridad y consistencia de la base de datos.
20/10/2010 9
COORDINACION DE BASES DE DATOS
El modelado E-R, modela los datos de acuerdo a la manera en que se asocian unos
con otros y, conforme crecen los desafos de la organizacin, los datos no necesitan
reacondicionarse para nuevas y desconocidas relaciones. Aqu tenemos la flexibilidad y
belleza del autntico modelo relacional. El modelado E-R proporciona el sustento para
la naturaleza transaccional de cualquier data warehouse permitiendo el verdadero
anlisis exploratorio ejemplificado por la minera de datos. Un modelo E-R es para toda
la organizacin y cualquier relacin posible dentro de la misma tambin es posible
dentro del mimso modelo. Es oportuno enfatizar que un data warehouse abarca desde
el proceso de recoleccin, administracin y distribucin de los datos, no slo visiones
agregadas y predefinidas. Por lo tanto, los sistemas de informacin deben sustentarse
en un ambiente capaz y flexible para todo tipo de consultas, sea para el anlisis
complejo, o as como tambin para el nivel de detalle y de agregado de datos.
20/10/2010 10
COORDINACION DE BASES DE DATOS
El acceso a una base de datos, por ejemplo la consulta, debe drsele al usuario en
funcin de metadatos, herramientas profesionales y aplicaciones a la medida. Dicho de
otra forma, en sus propios trminos y respetando las reglas del negocio. El hacer
partcipe obligado al usuario de la jerga tcnica (e. g., cubos, hipercubos, hechos,
dimensiones, relaciones, asociaciones, llaves, etc.) es desviar a la informtica de su
funcin principal, un ejercicio de petulante auto complacencia que no valdra la pena
siquiera mencionar de no ser por su negativo impacto en la relacin con el usuario final
y, en ltima instancia, en la misin y visin organizacionales.
Otro argumento a favor del E-E es que las tablas desnormalizadas en hechos y
dimensiones al ser consultadas tienen un mejor tiempo de respuesta que en un que en
un modelado E-R con tablas normalizadas. Aqu lo que se observa es un caso tpico de
confusin de las capas lgica y fsica. El proceso de normalizacin, por definicin,
incrementa el nmero de tablas lgicas.
Puesto que una vista es una representacin lgica, significa que puede rpida y
fcilmente modificarse sin tener que alterar los datos. Comprese lo anterior con el E-E
donde es inevitable el esquema conceptual, el lgico y el fsico, el software de
mantenimiento y extraccin, los costosos procesos de agregacin y carga, amn de su
20/10/2010 11
COORDINACION DE BASES DE DATOS
Para terminar este asunto, afirmamos que la construccin de un gran nmero de bases
de datos modeladas en E-E es un mal concebido intento para dar contexto a las bases
de datos relacionales y un cuento de nunca acabar pues, por cada necesidad de
informacin, el fantico de este enfoque propondr una nueva estrella. Tambin, es
revelador del desconocimiento que se tiene sobre el modelo relacional y sus alcances.
La supuesta y aparente carencia de contexto del modelo relacional es precisamente
donde descansa su inmenso poder. De hecho, a partir de una base de datos
normalizada es posible extraer cualquier contexto de su contenido. En otras palabras, la
informacin que se requiera, cuando se requiera y donde se requiera.
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,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. Sabias palabras!
20/10/2010 12