SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
El 18 de abril del 2003 falleció el Dr. Edgar Frank Codd, a la edad de 79 años, víctima
de un ataque al corazón. Tal vez nunca usted escuchó, conoció o supo del Dr. Codd,
pero lo más probable es que usted a diario utilice cotidianamente tecnología derivada
de las teorías que este brillante matemático y científico de la computación 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 técnicos acerca de una nueva manera de organizar y acceder a los datos. A
partir de estos trabajos publicó en 1970 el artículo A Relational Model of Data for Large
Shared Data Banks, lo que podría traducirse como “Un modelo de datos relacional para
grandes bancos de datos compartidos”.
Codd propuso que los sistemas de bases de datos deberían presentarse a los usuarios
con una visión 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, detrás de una relación puede haber
cualquier estructura de datos compleja que permita una respuesta rápida a una
variedad de consultas.
Este reconocido matemático revoluciono el mundo de la Bases de Datos cuando con su
modelo relacional tipo tabular sustituyo a los modelos tipo jerárquico y tipo redes
aceptados hasta ese entonces. Su modelo intento simplificar la complejidad de las
bases de datos hasta ese momento, eliminando las estructuras explicitas padre / hijo
por una representación de los datos más sencilla de tablas en fila / columna de valores
de datos.
53
COORDINACIÓN
DE BASES DE
DATOS
INTRODUCCIÓN A LAS BASES DE
DATOS RELACIONALES
20/10/2010 2
COORDINACION DE BASES DE DATOS
Un poco de historia.
Cuando la gestión de las bases de datos se popularizó durante los años de 1960, 1970
y 1980 emergieron un puñado de modelos de datos populares. Cada uno de estos
primeros modelos de datos tenían 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.
SISTEMA DE GESTIÓN DE ARCHIVOS
Antes de la introducción de los sistemas de gestión de bases de datos (DBMS) todos
los datos permanentemente almacenados en un sistema informático, tales como la
nómina y los registros de contabilidad, se almacenaban en archivos individuales. Un
sistema de gestión de archivos, generalmente era proporcionado por el fabricante del
computador como parte del sistema operativo, este llevaba la cuenta de los nombres y
las ubicaciones de los archivos. El sistema de gestión de archivos básicamente carecía
de un modelo de datos; no se sabía nada acerca de los contenidos internos de los
archivos. Para el sistema de gestión de archivos, un archivo que contuviera un
documento de procesamiento de texto y un archivo que contuviera datos de nóminas
parecían igual.
El conocimiento acerca del contenido de un archivo (que datos tuviese y como están
organizados) estaba incorporado a los programas de aplicación que utilizaban el archivo
(programas estos antiguos comparables con lo que se desarrollan en estos momentos
con los llamados software anfitriones).
Los problemas de mantener grandes sistemas basados en este tipo de archivos
condujo a finales de la década de 1960 al desarrollo de sistemas de gestión de bases
de datos, o sea DBMS. La idea detrás de estos sistemas era sencilla: tomar la definición
de los contenidos de un archivo y la estructura de los programas individuales, y
almacenarla, junto con los datos, en una base de datos. Utilizando la información de la
base de datos, el DBMS que la controlaba podría tomar un papel mucho más activo en
la gestión de los datos y en los cambios que se les pudiesen hacer a la estructura de la
base de datos.
BASES DE DATOS JERARQUICAS
Nació en base a aquellos requerimientos en donde existía una relación directa entre los
datos de tipo jerárquica. Por ejemplo, se puede tomar a un auto, éste se puede ir
descomponiendo en partes que a su vez se descomponen más y más otras partes cada
vez a mayor nivel de profundidad y complejidad.
20/10/2010 3
COORDINACION DE BASES DE DATOS
Si un fabricante de automóviles decidía producir 10.000 unidades de un modelo de auto
y 5.000 unidades de otro modelo, necesitaba conocer cuantas piezas pedir a sus
proveedores. El producto, un auto, tenía que descomponerse en ensamblajes (motor,
carrocería, chasis, sistema eléctrico, etc.) que a su vez se descomponía en
subensamblajes (caja, válvulas, alternador, etc.) y así cada vez a descomposiciones
más profundas hasta llegar hasta las partes más básicas. El manejo de estas listas de
piezas, conocida por lo general como una cuenta de materiales, era todo un gran
trabajo a la medida de los computadores de la época.
La cuenta de materiales para un producto tenía una estructura jerárquica natural, para
almacenar este tipo de estructura se desarrolló el modelo jerárquico. En este modelo,
cada registro de la base de datos representa una pieza específica. Los registros tenían
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 eléctrico.
En este modelo para poder acceder a los datos de la base de datos se podría:
• Hallar a una pieza en particular en función de su número, por ejemplo la puerta
izquierda.
• Primero descender desde la cabeza (auto) o padre al primer hijo (Carrocería)
• En carrocería descender ahora hacia la puerta izquierda (hijo a su vez de la
carrocería).
Este modelo se caracterizaba por parecerse a lo que es un organigrama o una especie
de árbol genealógico.
La recuperación de los datos en una base de datos tipo jerárquica requería, por lo tanto,
navegar a través de los registros, moviéndose hacia arriba, hacia abajo, o hacia los
lados de un registro de la misma familia cada vez.
El IMS fue el software de manipulación más popular para este tipo de Bases de Datos.
.
BASES DE DATOS TIPO REDES
La estructura sencilla de una base de datos jerárquica se convertía en una desventaja
cuando los datos se iban haciendo cada vez más complejos, voluminosos y asociativos.
Para manejar aplicaciones tales como el procesamiento de pedidos, se desarrolló un
nuevo modelo de datos en red. El modelo de datos en red extendía al modelo jerárquico
permitiendo que un registro participara en múltiples relaciones padre / hijo, ya no
pertenecía a una misma familia. Estas relaciones eran conocidas como conjuntos en el
modelo en red.
20/10/2010 4
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 jerárquica, por ejemplo se podía:
• Hallar a un registro padre específico mediante una clave (por ejemplo, mediante
un número de cliente).
• Descender al hijo en un conjunto en particular (El primer pedido remitido por
este cliente).
• Moverse lateralmente de un hijo al siguiente dentro del conjunto (La orden
siguiente remitida por el mismo cliente).
• Ascender desde un hijo a su padre en otro conjunto (El vendedor que acepto el
pedido).
Una vez más el programador tenia que recorrer la base de datos registro a registro,
especificando esta vez que relación recorrer además de indicar la dirección.
Aunque mejoraban al modelo jerárquico, aunque las bases de datos en red también
resultaban muy rígidas. Las relaciones de conjunto y la estructura de los registros
tenían que ser especificados de antemano. Modificar la estructura de la base de datos
requería típicamente de la reconstrucción de la base de datos completa.
Tanto las bases de datos jerárquicas como las de red eran herramientas para
programadores, pero cuando, por ejemplo, se necesitaba conocer cual es el producto
más popular o más vendido dentro de una base de datos de ventas, un programador
tenia que escribir un programa que recorriera su camino a través de toda la base de
datos para poder obtener la información deseada. La codificación 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 información que se entregaba ya no merecía la pena,
había perdido su oportunidad y validez.
El IDMS fue el software de manipulación más 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 sólo debe preocuparse por el qué consultar y no en el cómo son o fueron
concebidas las estructuras de almacenamiento (lo que ahora se conoce como modelo
físico), 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. Aún hoy se consideran
validas las afirmaciones de Codd tales como: “Los usuarios futuros de grandes bancos
20/10/2010 5
COORDINACION DE BASES DE DATOS
de datos deben ser protegidos de tener que saber cómo están organizados los datos en
la máquina (la representación interna. […]. las actividades de los usuarios en sus
terminales y la mayoría de los programas de aplicación no deberían verse afectados
cuando se cambia la representación interna de los datos o incluso cuando se cambian
algunos aspectos de la representación externa. Se necesitará cambiar la representación
de los datos a menudo como resultado de los cambios en el tráfico de las consultas,
actualizaciones e informes y como consecuencia del crecimiento natural en los tipos de
información almacenada.”
Las desventajas de los modelos jerárquicos y en red condujo a un intenso interés en el
nuevo modelo de datos relacional cuando fue escrito por el Dr. Codd en 1970. El
modelo relacional era en realidad un intento de simplificar la estructura de las bases de
datos.
Puede parecer extraño, pero las ideas de Codd no fueron “recibidas con los brazos
abiertos” en IBM, donde realizaba sus labores de investigación, según afirma Harlwood
Kolsky, un físico y antiguo compañero de Codd; “fue un enfoque revolucionario”,
recuerda Kolsky. El nuevo enfoque de Codd, basado en la teoría matemática de
conjuntos, no tuvo eco inmediato en IBM, que prefirió a IMS, un producto al que se le
había invertido una fuerte cantidad de esfuerzo y dinero.
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 versión 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
características de multiusuario y un lenguaje de consulta estructurado, el SEQUEL que
luego pasaría a llamarse SQL (Structured Query Language). Para entonces Larry
Ellison, un empresario del Valle del Silicón, había 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 características fundamentales. Es preciso resaltar que
todavía hoy algunas de estas reglas son de difícil implementación para los fabricantes
de manejadores de bases de datos relacionales. Además de ser considerado como el
padre del modelo relacional, Codd también incursionó en el modelo multidimensional de
análisis 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 más prestigiosos en el campo de la informática. Muchos de sus
compañeros y seguidores han contribuido, y siguen haciéndolo, a fortalecer el modelo el
cual es, es por muchos, el más utilizado actualmente como sistema de bases de datos.
20/10/2010 6
COORDINACION DE BASES DE DATOS
Desgraciadamente, la definición práctica de base de Datos Relacional resultaba mucho
menos clara que la definición matemática precisa recogida en el artículo de Codd de
1970. Los primeros sistemas de gestión de bases de datos relacionales fallaron en
implementar algunas partes clave del modelo de Codd, y es solo ahora cuando
definitivamente están encontrando su acomodo en productos comerciales. Conforme el
concepto relacional crecía en popularidad, muchas bases de datos que se llamaban así
mismas relacionales no lo eran del todo.
En respuesta a la corrupción del término “RELACIONAL”, el Dr. Codd escribió un
artículo en 1985 estableciendo 12 reglas a seguir para cualquier base de datos que se
llamara “verdaderamente relacional”. Las doce reglas de Codd han sido aceptadas
desde entonces como la definición de un DBMS verdaderamente relacional.
Un concepto básico de Base de Datos Relacional es: Base de Datos en donde todos los
datos visibles al usuario están organizados estrictamente como tablas de valores, y en
donde todas las operaciones de la base de datos operan sobre estas tablas – Regla 1.
La definición esta destinada específicamente a eliminar estructuras tales como los
punteros incorporados en una base de datos jerárquica o en red. Un DBMS relacional
puede representar relaciones padre / hijo pero estas se representan estrictamente para
los valores contenidos en las tablas de las bases de datos.
54
LAS 12 REGLAS DE CODD.
1 Una Base de Datos Relacional es aquella en donde todos los datos visibles al
usuario están 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 interés.
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 Utilización de un lenguaje de bases de datos relacional, tal como el SQL. El
lenguaje debe ser capaz de soportar todas las funciones básicas de un DBMS.
6 Creación y utilización de vistas, que no son más 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 inserción,
supresión y actualización. La regla esta diseñada para prohibir
implementaciones que solo soporten la modificación o recorrido fila a fila de la
base de datos.
8 y 9 Aíslan al usuario o al programa de aplicación de la implementación de bajo
nivel de las bases de datos. Especifican que las técnicas de acceso a
20/10/2010 7
COORDINACION DE BASES DE DATOS
almacenamiento específicas utilizadas por el DBMS, e incluso los cambios a
las estructuras de las tablas en la base de datos, no deberían afectar a la
capacidad del usuario de trabajar con los datos.
10 El lenguaje de bases de datos debería soportar las restricciones de integridad
que restringen los datos que puedan ser introducidos en las bases de datos y
las modificaciones que pueden ser efectuadas en éstas.
11 El lenguaje de bases de datos debe ser capaz de manipular datos distribuidos
localizados en otros sistemas informáticos.
12 Impide que en la base de datos pudieran subvertir su estructura relacional y su
integridad.
LA ESENCIA DEL MODELO
La estructura fundamental del modelo relacional es la relación, 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 relación, mientras que los
atributos de la relación representan las propiedades de la entidad. Por ejemplo, si en la
base de datos se tienen que representar personas, podrá definirse una relación llamada
"Personas", cuyos atributos describen las características de las personas. Cada tupla
(fila – registro) de la relación "Personas" representará una persona concreta. Por
ejemplo, la relación Personas (RFC, nombre, apellido, sexo, estado_civil,
fecha_nacimiento) es apenas una definición de la estructura de la tabla, es decir su
nombre y la lista de atributos que la componen. Si esta estructura se llena con datos,
entonces tendremos una lista de valores individuales para cada tupla, atributo por
atributo. Aunque una relación es más conocida como tabla, las tuplas como filas y los
atributos como columnas, en este escrito usaremos la terminología original y de donde
se deriva el nombre del modelo.
Las tuplas en una relación son un conjunto en el sentido matemático del término, es
decir una colección 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 unívocamente una tupla en una relación (en el ejemplo, el
atributo RFC cumple con esta función). Naturalmente, en una relación puede haber más
combinaciones de atributos que permitan identificar unívocamente 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 permitirían identificar una tupla concreta en una
relación. Esta propiedad de las relaciones y de sus llaves primarias se conoce como
integridad de las entidades.
Cada atributo de una relación se caracteriza por un nombre y por un dominio. El
dominio indica qué valores pueden ser asumidos por una columna de la relación. A
menudo un dominio se define a través de la declaración de un tipo para el atributo (por
ejemplo diciendo que es una cadena de diez caracteres), pero también es posible
20/10/2010 8
COORDINACION DE BASES DE DATOS
definir dominios más complejos y precisos. Por ejemplo, para el atributo "sexo" de
nuestra relación "Personas" podemos definir un dominio por el cual los únicos valores
válidos son 'M' y 'F'; o bien para el atributo "fecha_nacimiento" podremos definir un
dominio por el que se consideren válidas sólo las fechas de nacimiento después del uno
de enero de 1960.
No se debe confundir relación con el mismo término usado en el modelado de Entidad-
Relación que se usa para describir las asociaciones que existen entre entidades.
55
El motor de datos se ocupará de controlar que en los atributos de las relaciones se
incluyan sólo los valores permitidos por sus dominios. Característica fundamental de los
dominios de una base de datos relacional es que sean "atómicos", es decir que los
valores contenidos en los atributos no se puedan separar en valores de dominios más
simples. Más formalmente se dice que no es posible tener atributos con valores
múltiples (multivaluados).
La normalización, o sea la razón y uso de las formas normales, es evitar la repetición
innecesaria de datos (redundancia). Una solución a este problema es repartirlos en
varias relaciones y utilizar referencias por valor entre ellas. Este es un ejemplo típico de
que la tupla de una relación, digamos de Empleados, no deba repetir toda la
información de su departamento, sino que debe utilizar una referencia por valor a la
tupla de la relación Departamento, donde están todos estos datos. Este procedimiento
ahorra espacio de almacenamiento, optimiza el rendimiento y, al eliminar la
redundancia, impide modificaciones parciales o incompletas que podrían dar lugar a
inconsistencias. Existen hasta 6 formas normales pero, en la práctica, se adopta
generalmente hasta la tercera forma normal.
Junto con el modelo, el Dr. Codd también propuso el álgebra relacional, un lenguaje
formal con una serie de operadores que trabajan sobre una o varias relaciones para
obtener otra relación resultado, sin que cambien las relaciones originales. Tanto los
operandos como los resultados son relaciones, por lo que la salida de una operación
puede ser la entrada de otra operación. Esto permite anidar expresiones del álgebra del
mismo modo que se pueden anidar las expresiones aritméticas. Codd originalmente
propuso ocho operandos pero sólo cinco son fundamentales: restricción, proyección,
producto cartesiano, unión y diferencia, que permiten realizar la mayoría de las
operaciones de obtención de datos. Los operadores no fundamentales son la
concatenación (join), la intersección y la división, que se pueden expresar a partir de los
cinco operadores fundamentales. La restricción y la proyección son operaciones unarias
porque operan sobre una sola relación. El resto de las operaciones son binarias porque
trabajan sobre pares de relaciones.
Partiendo del cálculo 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 separación en tres niveles de los sistemas manejadores de bases de datos:
20/10/2010 9
COORDINACION DE BASES DE DATOS
externo, conceptual e interno que vinieron a redundar en lo que ahora se conoce como
subesquema externo, esquema lógico y esquema físico. En otras palabras: los modelos
conceptuales, lógico y físico. Sin embargo, fue el Dr. Codd quien estableció los
fundamentos para esta separación con conceptos tales como la independencia lógica y
física de los datos (reglas 8 y 9), de independencia, integridad y distribución (reglas 10 y
11). Como consecuencia, el acrónimo 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 tendría porqué preocuparse de los aspectos técnicos de
la base de datos: simplemente sus necesidades de información se satisfarían de
acuerdo a su perspectiva de los datos, Igualmente, los programadores de aplicaciones
no tendrían que lidiar con el modelo físico, asunto exclusivo del administrador de la
base de datos (DBA) quien, si así lo determinara conveniente en aras de un mejor
rendimiento, podría modificar el modelo físico de datos sin afectar al modelo lógico.
EL MODELO ENTIDAD RELACION Y EL ESQUEMA EN ESTRELLA
En la medida que el modelo relacional ganó aceptación en la industria surgieron nuevas
ideas y propuestas. En la década de 1990 hubo un fuerte impulso en pro de la
tecnología del data warehousing. Como ocurre frecuentemente con la adopción de
nuevos paradigmas, se registró también un considerable índice de fracasos. La cuestión
fue ¿cómo implementar un data warehouse? De las soluciones emprendidas resaltaron:
a) El modelado Entidad-Relación (E-R) donde las entidades representan
relaciones normalizadas (por lo general, en tercera forma normal); y
b) El esquema en estrella (E-E), donde las entidades se modelan en tablas con
hechos y dimensiones.
La regla para una relación normalizada dice: todos los atributos no llave de una relación
dependen sólo y exclusivamente de la llave. Por definición, 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 diseñador declarar restricciones al manejador sustentadas en la
llave, lo cual garantiza la integridad y consistencia de la base de datos.
Por contraste, el esquema en estrella se fundamenta en una tabla de hechos que
contiene uno o más datos que en lo posible deben ser aditivos o mensurables y una o
más tablas de dimensiones. La llave primaria de la tabla de hechos es una
concatenación de las llaves primarias de cada una de las dimensiones. Los hechos, con
frecuencia datos agregados, pueden pensarse como medidas tomadas de la
intersección de todas las dimensiones.
El propósito de establecer restricciones específicas en las consultas. A partir del
esquema en estrella pueden derivarse “cubos” para su análisis con herramientas OLAP.
La construcción de una base de datos bajo este esquema requiere de una rígida
20/10/2010 10
COORDINACION DE BASES DE DATOS
definición de hechos y dimensiones (muchas veces sin atender las reglas de
normalización) que anticipen la consulta de datos bajo patrones preestablecidos.
Supuestamente bajo el E-E se logran mejores tiempos de respuesta y los usuarios
“comprenden” mejor los alcances del modelo.
El principal problema con el E-E es la rigidez de su diseño que no permite el
descubrimiento de nuevas relaciones: cualquier visión de los datos no prevista es
imposible; además, el usuario debe conocer todas las dimensiones de los datos que
desea explorar. Si son requeridos otros hechos y dimensiones la “estrella” tiene que ser
remodelada y recargada o generarse una nueva. Esto consume tiempo y recursos, e
inhibe el descubrimiento de nuevos patrones de información que pueden ser relevantes
para la organización (minería de datos). Más aún, si hechos y dimensiones son
desnormalizados (grupos repetitivos) estamos ante una aberración del modelo
relacional al permitir redundancia y en riesgo de perder la integridad de la base de
datos puesto que las restricciones sobre las llaves en las relaciones no tienen validez
para mantenerla. En este contexto, el manejador es incapaz de garantizar la integridad,
y si no podemos mantener la integridad y la consistencia de la base de datos en un E-E
¿de qué manera podemos afirmar que los datos almacenados son correctos? Una
peligrosa aproximación a las consecuencias de la Ley de Murphy: “si se permite que
ocurra, ocurrirá”. Por esta razón los diseñadores de un E-E, en el mejor de los casos y
cuando lo hacen, tienen que construir software de mantenimiento para cada base de
datos en E-E a fin de contar con un medio para demostrar su exactitud, una labor
onerosa y no exenta de riesgos perfectamente evitable con otro tipo de soluciones.
El modelado E-R, modela los datos de acuerdo a la manera en que se asocian unos
con otros y, conforme crecen los desafíos de la organización, los datos no necesitan
reacondicionarse para nuevas y desconocidas relaciones. Aquí tenemos la flexibilidad y
belleza del auténtico modelo relacional. El modelado E-R proporciona el sustento para
la naturaleza transaccional de cualquier data warehouse permitiendo el verdadero
análisis exploratorio ejemplificado por la minería de datos. Un modelo E-R es para toda
la organización y cualquier relación posible dentro de la misma también es posible
dentro del mimso modelo. Es oportuno enfatizar que un data warehouse abarca desde
el proceso de recolección, administración y distribución de los datos, no sólo visiones
agregadas y predefinidas. Por lo tanto, los sistemas de información deben sustentarse
en un ambiente capaz y flexible para todo tipo de consultas, sea para el análisis
complejo, o así como también para el nivel de detalle y de agregado de datos.
En este escenario, simple y sencillamente el E-E no soporta los requerimientos a largo
plazo de la organización como un todo. Un data warehouse sustentado en el E-E no
permite al usuario expandir su entendimiento de las asociaciones entre los datos,
cambiar la forma en que se visualiza la organización, penetrar en análisis más
avanzados y/o la generación de tipos de datos emergentes. Se dice que el modelado E-
R es muy complejo como para que los usuarios lo entiendan, suponiendo, por contraste,
que el E-E es fácil de entender. El asunto aquí es que las capas lógica y física de
cualquier modelado de bases de datos no tienen por que ser conocidas por el usuario.
20/10/2010 11
COORDINACION DE BASES DE DATOS
El acceso a una base de datos, por ejemplo la consulta, debe dársele al usuario en
función de metadatos, herramientas profesionales y aplicaciones a la medida. Dicho de
otra forma, en sus propios términos y respetando las reglas del negocio. El hacer
partícipe obligado al usuario de la jerga técnica (e. g., cubos, hipercubos, hechos,
dimensiones, relaciones, asociaciones, llaves, etc.) es desviar a la informática de su
función principal, un ejercicio de petulante auto complacencia que no valdría la pena
siquiera mencionar de no ser por su negativo impacto en la relación con el usuario final
y, en última instancia, en la misión y visión 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 típico de
confusión de las capas lógica y física. El proceso de normalización, por definición,
incrementa el número de tablas lógicas.
Similarmente el E-E, que en rigor es un modelo E-R (degenerado), también es un
modelo lógico. Pero el rendimiento de cualquier manejador de bases de datos no
descansa en la capa lógica sino en la física. El manejador debe ser capaz de permitir
las modificaciones y afinaciones que sean necesarias en la capa física sin que se vea
alterada la capa lógica; en otro caso, tendremos un producto que no cumple con uno de
los fundamentos principales del modelo relacional: la independencia lógica y física de
los datos.
Se dice también que el modelado E-R “es confuso y difícil de navegar”. A esto
respondemos: descubrir la esencia de los datos y presentarlos al usuario como los
necesita es deber ineludible de cualquier buen modelador e implica una ardua labor de
comprensión y descubrimiento donde el usuario es el actor principal. Si somos
negligentes en esta labor estaremos por un lado menospreciando a los usuarios y por
otro desaprovechando las oportunidades que ofrece la organización. Sin duda los
usuarios necesitan de información típica, predefinida, agregada, con cortes bien
explícitos para su consulta y reacomodo a conveniencia es decir, análisis
multidimensional de datos.
Para muchos diseñadores el E-E ha sido la solución. No obstante, el modelado
multidimensional de los datos puede hacerse en la capa lógica, sin comprometer la
integridad y consistencia de la base de datos. Las vistas, que son relaciones
lógicamente definidas, sirven para este propósito al ocultar los detalles del modelo y
presentando los datos conforme a cualquier contexto en particular o necesidad. Por
medio de vistas es posible representar las estructuras multidimensionales que sean
requeridas y ser reaprovechadas por cualquier aplicación, herramienta profesional o
como entrada a una verdadera base de datos multidimensional, tecnología desarrollada
para el propósito de cubos e hipercubos.
Puesto que una vista es una representación lógica, significa que puede rápida y
fácilmente modificarse sin tener que alterar los datos. Compárese lo anterior con el E-E
donde es inevitable el esquema conceptual, el lógico y el físico, el software de
mantenimiento y extracción, los costosos procesos de agregación y carga, amén de su
20/10/2010 12
COORDINACION DE BASES DE DATOS
administración y, por si fuera poco, el dispendioso e innecesario almacenamiento en
disco.
Las vistas son fundamentales en el modelo relacional, aunque los proveedores
comerciales tienen diferentes implementaciones con objeto de mejorar su eficiencia:
así, se habla de vistas materializadas (Oracle) o vistas indizadas (SQL Server) a fin de
que, después de una primera ejecución, las siguientes tengan un óptimo tiempo de
respuesta. La combinación de las relaciones originales y de las vistas es un explosivo
ambiente capaz de potenciar a los usuarios para la creación de consultas cada vez más
complejas, generando más información y conocimiento. ¡Y todo lo anterior sin
comprometer ni el modelo, ni los datos almacenados, ni los recursos de
almacenamiento, ni de la necesidad de software adicional, ni de onerosos procesos de
actualización y mantenimiento! Cuando el E-E ofrezca algo parecido será un placer su
revisión.
Para terminar este asunto, afirmamos que la construcción de un gran número 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
información, el fanático de este enfoque propondrá una nueva “estrella”. También, 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
información que se requiera, cuando se requiera y donde se requiera.
El modelo relacional de bases de datos con sus relaciones normalizadas es una
solución simple y elegante para satisfacer las más diversas condiciones de consulta y
extracción de datos e información.
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 reflexión: “…es importante recordar que las bases de datos se
establecen para beneficio de los usuarios finales, y no para los programadores de
aplicaciones quienes actúan como intermediaros para las necesidades actuales de
procesamiento de datos”. ¡Sabias palabras!

Contenu connexe

Tendances

Tendances (15)

Bases de datos
Bases de datosBases de datos
Bases de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Introducción a las base de datos
Introducción a las base de datosIntroducción a las base de datos
Introducción a las base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Presentación
PresentaciónPresentación
Presentación
 
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?
 
Pris
PrisPris
Pris
 
PROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSPROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOS
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos 5º (2)
Base de datos 5º (2)Base de datos 5º (2)
Base de datos 5º (2)
 
Base de datos jairo
Base de datos jairoBase de datos jairo
Base de datos jairo
 
Base de datos
Base de datosBase de datos
Base de datos
 
Clasificación y modelos de bases de datos
Clasificación y modelos de bases de datosClasificación y modelos de bases de datos
Clasificación y modelos de bases de datos
 
Capitulo 1 Reinosa y Maldonado
Capitulo 1 Reinosa y MaldonadoCapitulo 1 Reinosa y Maldonado
Capitulo 1 Reinosa y Maldonado
 

En vedette

Portafolio Maria Helena Camargo Cruz 177
Portafolio Maria Helena Camargo Cruz 177Portafolio Maria Helena Camargo Cruz 177
Portafolio Maria Helena Camargo Cruz 177mhcamargoc
 
Técnicas de recopilación de información - observacion
Técnicas de recopilación de información - observacionTécnicas de recopilación de información - observacion
Técnicas de recopilación de información - observacionJuan Torres Mery
 
La violencia en las aulas
La violencia en las aulasLa violencia en las aulas
La violencia en las aulascarol619539
 
Redes sociales
Redes socialesRedes sociales
Redes sociales11abc
 
Escultura neoclsica-1210184774387340-9
Escultura neoclsica-1210184774387340-9Escultura neoclsica-1210184774387340-9
Escultura neoclsica-1210184774387340-9Jaime Muñoz Olivenza
 
Seguridad al compartir informacion
Seguridad al compartir informacionSeguridad al compartir informacion
Seguridad al compartir informacionJorge Ortega
 
Enciclopedia escolar tematica historia del ecuador
Enciclopedia escolar tematica historia del ecuadorEnciclopedia escolar tematica historia del ecuador
Enciclopedia escolar tematica historia del ecuadorBIBLIOTECA VIRTUAL CASCOL
 
Informe practico sobre violencia familiar en la I.E. Federico Villareal -Anda...
Informe practico sobre violencia familiar en la I.E. Federico Villareal -Anda...Informe practico sobre violencia familiar en la I.E. Federico Villareal -Anda...
Informe practico sobre violencia familiar en la I.E. Federico Villareal -Anda...Ivan Antonio Quino Centeno
 
Secuencia terminada
Secuencia terminadaSecuencia terminada
Secuencia terminadafpallero
 
Pasos de la capacitación.
Pasos de la capacitación.Pasos de la capacitación.
Pasos de la capacitación.mamr29
 
Estrategias del Servicio al Cliente
Estrategias del Servicio al ClienteEstrategias del Servicio al Cliente
Estrategias del Servicio al Clientecristiandemierda123
 
EL ESTADO COMO ORGANISMO POLITICO LORENZO PINTO
EL ESTADO COMO ORGANISMO POLITICO LORENZO PINTOEL ESTADO COMO ORGANISMO POLITICO LORENZO PINTO
EL ESTADO COMO ORGANISMO POLITICO LORENZO PINTOLorenzo Pinto
 
Propiedades de los Fluidos
Propiedades de los Fluidos Propiedades de los Fluidos
Propiedades de los Fluidos Cosmes11
 

En vedette (20)

Portafolio Maria Helena Camargo Cruz 177
Portafolio Maria Helena Camargo Cruz 177Portafolio Maria Helena Camargo Cruz 177
Portafolio Maria Helena Camargo Cruz 177
 
Presentación10
Presentación10Presentación10
Presentación10
 
animal domestico
animal domestico animal domestico
animal domestico
 
Técnicas de recopilación de información - observacion
Técnicas de recopilación de información - observacionTécnicas de recopilación de información - observacion
Técnicas de recopilación de información - observacion
 
La violencia en las aulas
La violencia en las aulasLa violencia en las aulas
La violencia en las aulas
 
Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Escultura neoclsica-1210184774387340-9
Escultura neoclsica-1210184774387340-9Escultura neoclsica-1210184774387340-9
Escultura neoclsica-1210184774387340-9
 
Seguridad al compartir informacion
Seguridad al compartir informacionSeguridad al compartir informacion
Seguridad al compartir informacion
 
Enciclopedia escolar tematica historia del ecuador
Enciclopedia escolar tematica historia del ecuadorEnciclopedia escolar tematica historia del ecuador
Enciclopedia escolar tematica historia del ecuador
 
Mi cuerpo fitness
Mi cuerpo fitnessMi cuerpo fitness
Mi cuerpo fitness
 
Swilders
SwildersSwilders
Swilders
 
Dbr slide dehdgasgf
Dbr slide dehdgasgfDbr slide dehdgasgf
Dbr slide dehdgasgf
 
Informe practico sobre violencia familiar en la I.E. Federico Villareal -Anda...
Informe practico sobre violencia familiar en la I.E. Federico Villareal -Anda...Informe practico sobre violencia familiar en la I.E. Federico Villareal -Anda...
Informe practico sobre violencia familiar en la I.E. Federico Villareal -Anda...
 
Secuencia terminada
Secuencia terminadaSecuencia terminada
Secuencia terminada
 
Pasos de la capacitación.
Pasos de la capacitación.Pasos de la capacitación.
Pasos de la capacitación.
 
Evidencia sena
Evidencia senaEvidencia sena
Evidencia sena
 
Estrategias del Servicio al Cliente
Estrategias del Servicio al ClienteEstrategias del Servicio al Cliente
Estrategias del Servicio al Cliente
 
La netiqueta
La netiquetaLa netiqueta
La netiqueta
 
EL ESTADO COMO ORGANISMO POLITICO LORENZO PINTO
EL ESTADO COMO ORGANISMO POLITICO LORENZO PINTOEL ESTADO COMO ORGANISMO POLITICO LORENZO PINTO
EL ESTADO COMO ORGANISMO POLITICO LORENZO PINTO
 
Propiedades de los Fluidos
Propiedades de los Fluidos Propiedades de los Fluidos
Propiedades de los Fluidos
 

Similaire à Introduccion a las_bases_de_datos_relacionales

Historia Base de datos
Historia Base de datosHistoria Base de datos
Historia Base de datosingrid vanegas
 
Fundamentos de bases de datos
Fundamentos de bases de datosFundamentos de bases de datos
Fundamentos de bases de datosDiegoVelascoUribe
 
Introduccion a las Bases de Datos
Introduccion a las Bases de DatosIntroduccion a las Bases de Datos
Introduccion a las Bases de DatosCECILIA FLORES
 
Bases de-datos
Bases de-datosBases de-datos
Bases de-datossquall3800
 
Historia basesdatos
Historia basesdatosHistoria basesdatos
Historia basesdatosmafb0004
 
Tecnologia Base Datos - Introduccion
Tecnologia Base Datos - IntroduccionTecnologia Base Datos - Introduccion
Tecnologia Base Datos - IntroduccionGuillermo Soler
 
01. FUNDAMENTOS DE BASE DE DATOS.pptx
01. FUNDAMENTOS DE BASE DE DATOS.pptx01. FUNDAMENTOS DE BASE DE DATOS.pptx
01. FUNDAMENTOS DE BASE DE DATOS.pptxJuanCarlosRomanPerez1
 
Yorman román corredor
Yorman román corredorYorman román corredor
Yorman román corredorYORMANRCG
 
Yorman román corredor
Yorman román corredorYorman román corredor
Yorman román corredorYORMANRCG
 
Base de Datos
Base de DatosBase de Datos
Base de DatosDaryi
 
Base de datos 5º (2)
Base de datos 5º (2)Base de datos 5º (2)
Base de datos 5º (2)eleanavaleria
 
Base de datos presentacion
Base de datos presentacionBase de datos presentacion
Base de datos presentacionluisalvarez594
 
Base de datos
Base de datosBase de datos
Base de datosalex238a
 
Introduccion a las Bases de Datos Relacionales
Introduccion a las Bases de Datos RelacionalesIntroduccion a las Bases de Datos Relacionales
Introduccion a las Bases de Datos Relacionalesesacre
 

Similaire à Introduccion a las_bases_de_datos_relacionales (20)

Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Historia Base de datos
Historia Base de datosHistoria Base de datos
Historia Base de datos
 
Fundamentos de bases de datos
Fundamentos de bases de datosFundamentos de bases de datos
Fundamentos de bases de datos
 
Introduccion a las Bases de Datos
Introduccion a las Bases de DatosIntroduccion a las Bases de Datos
Introduccion a las Bases de Datos
 
Bases de-datos
Bases de-datosBases de-datos
Bases de-datos
 
FUNCIONES DEL DBA - TIPOS DE BASE DE DATOS
FUNCIONES DEL DBA - TIPOS DE BASE DE DATOSFUNCIONES DEL DBA - TIPOS DE BASE DE DATOS
FUNCIONES DEL DBA - TIPOS DE BASE DE DATOS
 
Historia basesdatos
Historia basesdatosHistoria basesdatos
Historia basesdatos
 
Tecnologia Base Datos - Introduccion
Tecnologia Base Datos - IntroduccionTecnologia Base Datos - Introduccion
Tecnologia Base Datos - Introduccion
 
01. FUNDAMENTOS DE BASE DE DATOS.pptx
01. FUNDAMENTOS DE BASE DE DATOS.pptx01. FUNDAMENTOS DE BASE DE DATOS.pptx
01. FUNDAMENTOS DE BASE DE DATOS.pptx
 
Yorman román corredor
Yorman román corredorYorman román corredor
Yorman román corredor
 
Yorman román corredor
Yorman román corredorYorman román corredor
Yorman román corredor
 
Fundamentos de Base de Datos 1.pdf
Fundamentos de Base de Datos 1.pdfFundamentos de Base de Datos 1.pdf
Fundamentos de Base de Datos 1.pdf
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Base de datos 5º (2)
Base de datos 5º (2)Base de datos 5º (2)
Base de datos 5º (2)
 
Base de datos presentacion
Base de datos presentacionBase de datos presentacion
Base de datos presentacion
 
base de datos
base de datos base de datos
base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
base de datos
base de datosbase de datos
base de datos
 
Introduccion a las Bases de Datos Relacionales
Introduccion a las Bases de Datos RelacionalesIntroduccion a las Bases de Datos Relacionales
Introduccion a las Bases de Datos Relacionales
 

Introduccion a las_bases_de_datos_relacionales

  • 1. El 18 de abril del 2003 falleció el Dr. Edgar Frank Codd, a la edad de 79 años, víctima de un ataque al corazón. Tal vez nunca usted escuchó, conoció o supo del Dr. Codd, pero lo más probable es que usted a diario utilice cotidianamente tecnología derivada de las teorías que este brillante matemático y científico de la computación 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 técnicos acerca de una nueva manera de organizar y acceder a los datos. A partir de estos trabajos publicó en 1970 el artículo A Relational Model of Data for Large Shared Data Banks, lo que podría traducirse como “Un modelo de datos relacional para grandes bancos de datos compartidos”. Codd propuso que los sistemas de bases de datos deberían presentarse a los usuarios con una visión 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, detrás de una relación puede haber cualquier estructura de datos compleja que permita una respuesta rápida a una variedad de consultas. Este reconocido matemático revoluciono el mundo de la Bases de Datos cuando con su modelo relacional tipo tabular sustituyo a los modelos tipo jerárquico y tipo redes aceptados hasta ese entonces. Su modelo intento simplificar la complejidad de las bases de datos hasta ese momento, eliminando las estructuras explicitas padre / hijo por una representación de los datos más sencilla de tablas en fila / columna de valores de datos. 53 COORDINACIÓN DE BASES DE DATOS INTRODUCCIÓN A LAS BASES DE DATOS RELACIONALES
  • 2. 20/10/2010 2 COORDINACION DE BASES DE DATOS Un poco de historia. Cuando la gestión de las bases de datos se popularizó durante los años de 1960, 1970 y 1980 emergieron un puñado de modelos de datos populares. Cada uno de estos primeros modelos de datos tenían 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. SISTEMA DE GESTIÓN DE ARCHIVOS Antes de la introducción de los sistemas de gestión de bases de datos (DBMS) todos los datos permanentemente almacenados en un sistema informático, tales como la nómina y los registros de contabilidad, se almacenaban en archivos individuales. Un sistema de gestión de archivos, generalmente era proporcionado por el fabricante del computador como parte del sistema operativo, este llevaba la cuenta de los nombres y las ubicaciones de los archivos. El sistema de gestión de archivos básicamente carecía de un modelo de datos; no se sabía nada acerca de los contenidos internos de los archivos. Para el sistema de gestión de archivos, un archivo que contuviera un documento de procesamiento de texto y un archivo que contuviera datos de nóminas parecían igual. El conocimiento acerca del contenido de un archivo (que datos tuviese y como están organizados) estaba incorporado a los programas de aplicación que utilizaban el archivo (programas estos antiguos comparables con lo que se desarrollan en estos momentos con los llamados software anfitriones). Los problemas de mantener grandes sistemas basados en este tipo de archivos condujo a finales de la década de 1960 al desarrollo de sistemas de gestión de bases de datos, o sea DBMS. La idea detrás de estos sistemas era sencilla: tomar la definición de los contenidos de un archivo y la estructura de los programas individuales, y almacenarla, junto con los datos, en una base de datos. Utilizando la información de la base de datos, el DBMS que la controlaba podría tomar un papel mucho más activo en la gestión de los datos y en los cambios que se les pudiesen hacer a la estructura de la base de datos. BASES DE DATOS JERARQUICAS Nació en base a aquellos requerimientos en donde existía una relación directa entre los datos de tipo jerárquica. Por ejemplo, se puede tomar a un auto, éste se puede ir descomponiendo en partes que a su vez se descomponen más y más otras partes cada vez a mayor nivel de profundidad y complejidad.
  • 3. 20/10/2010 3 COORDINACION DE BASES DE DATOS Si un fabricante de automóviles decidía producir 10.000 unidades de un modelo de auto y 5.000 unidades de otro modelo, necesitaba conocer cuantas piezas pedir a sus proveedores. El producto, un auto, tenía que descomponerse en ensamblajes (motor, carrocería, chasis, sistema eléctrico, etc.) que a su vez se descomponía en subensamblajes (caja, válvulas, alternador, etc.) y así cada vez a descomposiciones más profundas hasta llegar hasta las partes más básicas. El manejo de estas listas de piezas, conocida por lo general como una cuenta de materiales, era todo un gran trabajo a la medida de los computadores de la época. La cuenta de materiales para un producto tenía una estructura jerárquica natural, para almacenar este tipo de estructura se desarrolló el modelo jerárquico. En este modelo, cada registro de la base de datos representa una pieza específica. Los registros tenían 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 eléctrico. En este modelo para poder acceder a los datos de la base de datos se podría: • Hallar a una pieza en particular en función de su número, por ejemplo la puerta izquierda. • Primero descender desde la cabeza (auto) o padre al primer hijo (Carrocería) • En carrocería descender ahora hacia la puerta izquierda (hijo a su vez de la carrocería). Este modelo se caracterizaba por parecerse a lo que es un organigrama o una especie de árbol genealógico. La recuperación de los datos en una base de datos tipo jerárquica requería, por lo tanto, navegar a través de los registros, moviéndose hacia arriba, hacia abajo, o hacia los lados de un registro de la misma familia cada vez. El IMS fue el software de manipulación más popular para este tipo de Bases de Datos. . BASES DE DATOS TIPO REDES La estructura sencilla de una base de datos jerárquica se convertía en una desventaja cuando los datos se iban haciendo cada vez más complejos, voluminosos y asociativos. Para manejar aplicaciones tales como el procesamiento de pedidos, se desarrolló un nuevo modelo de datos en red. El modelo de datos en red extendía al modelo jerárquico permitiendo que un registro participara en múltiples relaciones padre / hijo, ya no pertenecía a una misma familia. Estas relaciones eran conocidas como conjuntos en el modelo en red.
  • 4. 20/10/2010 4 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 jerárquica, por ejemplo se podía: • Hallar a un registro padre específico mediante una clave (por ejemplo, mediante un número de cliente). • Descender al hijo en un conjunto en particular (El primer pedido remitido por este cliente). • Moverse lateralmente de un hijo al siguiente dentro del conjunto (La orden siguiente remitida por el mismo cliente). • Ascender desde un hijo a su padre en otro conjunto (El vendedor que acepto el pedido). Una vez más el programador tenia que recorrer la base de datos registro a registro, especificando esta vez que relación recorrer además de indicar la dirección. Aunque mejoraban al modelo jerárquico, aunque las bases de datos en red también resultaban muy rígidas. Las relaciones de conjunto y la estructura de los registros tenían que ser especificados de antemano. Modificar la estructura de la base de datos requería típicamente de la reconstrucción de la base de datos completa. Tanto las bases de datos jerárquicas como las de red eran herramientas para programadores, pero cuando, por ejemplo, se necesitaba conocer cual es el producto más popular o más vendido dentro de una base de datos de ventas, un programador tenia que escribir un programa que recorriera su camino a través de toda la base de datos para poder obtener la información deseada. La codificación 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 información que se entregaba ya no merecía la pena, había perdido su oportunidad y validez. El IDMS fue el software de manipulación más 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 sólo debe preocuparse por el qué consultar y no en el cómo son o fueron concebidas las estructuras de almacenamiento (lo que ahora se conoce como modelo físico), 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. Aún hoy se consideran validas las afirmaciones de Codd tales como: “Los usuarios futuros de grandes bancos
  • 5. 20/10/2010 5 COORDINACION DE BASES DE DATOS de datos deben ser protegidos de tener que saber cómo están organizados los datos en la máquina (la representación interna. […]. las actividades de los usuarios en sus terminales y la mayoría de los programas de aplicación no deberían verse afectados cuando se cambia la representación interna de los datos o incluso cuando se cambian algunos aspectos de la representación externa. Se necesitará cambiar la representación de los datos a menudo como resultado de los cambios en el tráfico de las consultas, actualizaciones e informes y como consecuencia del crecimiento natural en los tipos de información almacenada.” Las desventajas de los modelos jerárquicos y en red condujo a un intenso interés en el nuevo modelo de datos relacional cuando fue escrito por el Dr. Codd en 1970. El modelo relacional era en realidad un intento de simplificar la estructura de las bases de datos. Puede parecer extraño, pero las ideas de Codd no fueron “recibidas con los brazos abiertos” en IBM, donde realizaba sus labores de investigación, según afirma Harlwood Kolsky, un físico y antiguo compañero de Codd; “fue un enfoque revolucionario”, recuerda Kolsky. El nuevo enfoque de Codd, basado en la teoría matemática de conjuntos, no tuvo eco inmediato en IBM, que prefirió a IMS, un producto al que se le había invertido una fuerte cantidad de esfuerzo y dinero. 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 versión 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 características de multiusuario y un lenguaje de consulta estructurado, el SEQUEL que luego pasaría a llamarse SQL (Structured Query Language). Para entonces Larry Ellison, un empresario del Valle del Silicón, había 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 características fundamentales. Es preciso resaltar que todavía hoy algunas de estas reglas son de difícil implementación para los fabricantes de manejadores de bases de datos relacionales. Además de ser considerado como el padre del modelo relacional, Codd también incursionó en el modelo multidimensional de análisis 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 más prestigiosos en el campo de la informática. Muchos de sus compañeros y seguidores han contribuido, y siguen haciéndolo, a fortalecer el modelo el cual es, es por muchos, el más utilizado actualmente como sistema de bases de datos.
  • 6. 20/10/2010 6 COORDINACION DE BASES DE DATOS Desgraciadamente, la definición práctica de base de Datos Relacional resultaba mucho menos clara que la definición matemática precisa recogida en el artículo de Codd de 1970. Los primeros sistemas de gestión de bases de datos relacionales fallaron en implementar algunas partes clave del modelo de Codd, y es solo ahora cuando definitivamente están encontrando su acomodo en productos comerciales. Conforme el concepto relacional crecía en popularidad, muchas bases de datos que se llamaban así mismas relacionales no lo eran del todo. En respuesta a la corrupción del término “RELACIONAL”, el Dr. Codd escribió un artículo en 1985 estableciendo 12 reglas a seguir para cualquier base de datos que se llamara “verdaderamente relacional”. Las doce reglas de Codd han sido aceptadas desde entonces como la definición de un DBMS verdaderamente relacional. Un concepto básico de Base de Datos Relacional es: Base de Datos en donde todos los datos visibles al usuario están organizados estrictamente como tablas de valores, y en donde todas las operaciones de la base de datos operan sobre estas tablas – Regla 1. La definición esta destinada específicamente a eliminar estructuras tales como los punteros incorporados en una base de datos jerárquica o en red. Un DBMS relacional puede representar relaciones padre / hijo pero estas se representan estrictamente para los valores contenidos en las tablas de las bases de datos. 54 LAS 12 REGLAS DE CODD. 1 Una Base de Datos Relacional es aquella en donde todos los datos visibles al usuario están 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 interés. 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 Utilización de un lenguaje de bases de datos relacional, tal como el SQL. El lenguaje debe ser capaz de soportar todas las funciones básicas de un DBMS. 6 Creación y utilización de vistas, que no son más 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 inserción, supresión y actualización. La regla esta diseñada para prohibir implementaciones que solo soporten la modificación o recorrido fila a fila de la base de datos. 8 y 9 Aíslan al usuario o al programa de aplicación de la implementación de bajo nivel de las bases de datos. Especifican que las técnicas de acceso a
  • 7. 20/10/2010 7 COORDINACION DE BASES DE DATOS almacenamiento específicas utilizadas por el DBMS, e incluso los cambios a las estructuras de las tablas en la base de datos, no deberían afectar a la capacidad del usuario de trabajar con los datos. 10 El lenguaje de bases de datos debería soportar las restricciones de integridad que restringen los datos que puedan ser introducidos en las bases de datos y las modificaciones que pueden ser efectuadas en éstas. 11 El lenguaje de bases de datos debe ser capaz de manipular datos distribuidos localizados en otros sistemas informáticos. 12 Impide que en la base de datos pudieran subvertir su estructura relacional y su integridad. LA ESENCIA DEL MODELO La estructura fundamental del modelo relacional es la relación, 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 relación, mientras que los atributos de la relación representan las propiedades de la entidad. Por ejemplo, si en la base de datos se tienen que representar personas, podrá definirse una relación llamada "Personas", cuyos atributos describen las características de las personas. Cada tupla (fila – registro) de la relación "Personas" representará una persona concreta. Por ejemplo, la relación Personas (RFC, nombre, apellido, sexo, estado_civil, fecha_nacimiento) es apenas una definición de la estructura de la tabla, es decir su nombre y la lista de atributos que la componen. Si esta estructura se llena con datos, entonces tendremos una lista de valores individuales para cada tupla, atributo por atributo. Aunque una relación es más conocida como tabla, las tuplas como filas y los atributos como columnas, en este escrito usaremos la terminología original y de donde se deriva el nombre del modelo. Las tuplas en una relación son un conjunto en el sentido matemático del término, es decir una colección 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 unívocamente una tupla en una relación (en el ejemplo, el atributo RFC cumple con esta función). Naturalmente, en una relación puede haber más combinaciones de atributos que permitan identificar unívocamente 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 permitirían identificar una tupla concreta en una relación. Esta propiedad de las relaciones y de sus llaves primarias se conoce como integridad de las entidades. Cada atributo de una relación se caracteriza por un nombre y por un dominio. El dominio indica qué valores pueden ser asumidos por una columna de la relación. A menudo un dominio se define a través de la declaración de un tipo para el atributo (por ejemplo diciendo que es una cadena de diez caracteres), pero también es posible
  • 8. 20/10/2010 8 COORDINACION DE BASES DE DATOS definir dominios más complejos y precisos. Por ejemplo, para el atributo "sexo" de nuestra relación "Personas" podemos definir un dominio por el cual los únicos valores válidos son 'M' y 'F'; o bien para el atributo "fecha_nacimiento" podremos definir un dominio por el que se consideren válidas sólo las fechas de nacimiento después del uno de enero de 1960. No se debe confundir relación con el mismo término usado en el modelado de Entidad- Relación que se usa para describir las asociaciones que existen entre entidades. 55 El motor de datos se ocupará de controlar que en los atributos de las relaciones se incluyan sólo los valores permitidos por sus dominios. Característica fundamental de los dominios de una base de datos relacional es que sean "atómicos", es decir que los valores contenidos en los atributos no se puedan separar en valores de dominios más simples. Más formalmente se dice que no es posible tener atributos con valores múltiples (multivaluados). La normalización, o sea la razón y uso de las formas normales, es evitar la repetición innecesaria de datos (redundancia). Una solución a este problema es repartirlos en varias relaciones y utilizar referencias por valor entre ellas. Este es un ejemplo típico de que la tupla de una relación, digamos de Empleados, no deba repetir toda la información de su departamento, sino que debe utilizar una referencia por valor a la tupla de la relación Departamento, donde están todos estos datos. Este procedimiento ahorra espacio de almacenamiento, optimiza el rendimiento y, al eliminar la redundancia, impide modificaciones parciales o incompletas que podrían dar lugar a inconsistencias. Existen hasta 6 formas normales pero, en la práctica, se adopta generalmente hasta la tercera forma normal. Junto con el modelo, el Dr. Codd también propuso el álgebra relacional, un lenguaje formal con una serie de operadores que trabajan sobre una o varias relaciones para obtener otra relación resultado, sin que cambien las relaciones originales. Tanto los operandos como los resultados son relaciones, por lo que la salida de una operación puede ser la entrada de otra operación. Esto permite anidar expresiones del álgebra del mismo modo que se pueden anidar las expresiones aritméticas. Codd originalmente propuso ocho operandos pero sólo cinco son fundamentales: restricción, proyección, producto cartesiano, unión y diferencia, que permiten realizar la mayoría de las operaciones de obtención de datos. Los operadores no fundamentales son la concatenación (join), la intersección y la división, que se pueden expresar a partir de los cinco operadores fundamentales. La restricción y la proyección son operaciones unarias porque operan sobre una sola relación. El resto de las operaciones son binarias porque trabajan sobre pares de relaciones. Partiendo del cálculo 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 separación en tres niveles de los sistemas manejadores de bases de datos:
  • 9. 20/10/2010 9 COORDINACION DE BASES DE DATOS externo, conceptual e interno que vinieron a redundar en lo que ahora se conoce como subesquema externo, esquema lógico y esquema físico. En otras palabras: los modelos conceptuales, lógico y físico. Sin embargo, fue el Dr. Codd quien estableció los fundamentos para esta separación con conceptos tales como la independencia lógica y física de los datos (reglas 8 y 9), de independencia, integridad y distribución (reglas 10 y 11). Como consecuencia, el acrónimo 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 tendría porqué preocuparse de los aspectos técnicos de la base de datos: simplemente sus necesidades de información se satisfarían de acuerdo a su perspectiva de los datos, Igualmente, los programadores de aplicaciones no tendrían que lidiar con el modelo físico, asunto exclusivo del administrador de la base de datos (DBA) quien, si así lo determinara conveniente en aras de un mejor rendimiento, podría modificar el modelo físico de datos sin afectar al modelo lógico. EL MODELO ENTIDAD RELACION Y EL ESQUEMA EN ESTRELLA En la medida que el modelo relacional ganó aceptación en la industria surgieron nuevas ideas y propuestas. En la década de 1990 hubo un fuerte impulso en pro de la tecnología del data warehousing. Como ocurre frecuentemente con la adopción de nuevos paradigmas, se registró también un considerable índice de fracasos. La cuestión fue ¿cómo implementar un data warehouse? De las soluciones emprendidas resaltaron: a) El modelado Entidad-Relación (E-R) donde las entidades representan relaciones normalizadas (por lo general, en tercera forma normal); y b) El esquema en estrella (E-E), donde las entidades se modelan en tablas con hechos y dimensiones. La regla para una relación normalizada dice: todos los atributos no llave de una relación dependen sólo y exclusivamente de la llave. Por definición, 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 diseñador declarar restricciones al manejador sustentadas en la llave, lo cual garantiza la integridad y consistencia de la base de datos. Por contraste, el esquema en estrella se fundamenta en una tabla de hechos que contiene uno o más datos que en lo posible deben ser aditivos o mensurables y una o más tablas de dimensiones. La llave primaria de la tabla de hechos es una concatenación de las llaves primarias de cada una de las dimensiones. Los hechos, con frecuencia datos agregados, pueden pensarse como medidas tomadas de la intersección de todas las dimensiones. El propósito de establecer restricciones específicas en las consultas. A partir del esquema en estrella pueden derivarse “cubos” para su análisis con herramientas OLAP. La construcción de una base de datos bajo este esquema requiere de una rígida
  • 10. 20/10/2010 10 COORDINACION DE BASES DE DATOS definición de hechos y dimensiones (muchas veces sin atender las reglas de normalización) que anticipen la consulta de datos bajo patrones preestablecidos. Supuestamente bajo el E-E se logran mejores tiempos de respuesta y los usuarios “comprenden” mejor los alcances del modelo. El principal problema con el E-E es la rigidez de su diseño que no permite el descubrimiento de nuevas relaciones: cualquier visión de los datos no prevista es imposible; además, el usuario debe conocer todas las dimensiones de los datos que desea explorar. Si son requeridos otros hechos y dimensiones la “estrella” tiene que ser remodelada y recargada o generarse una nueva. Esto consume tiempo y recursos, e inhibe el descubrimiento de nuevos patrones de información que pueden ser relevantes para la organización (minería de datos). Más aún, si hechos y dimensiones son desnormalizados (grupos repetitivos) estamos ante una aberración del modelo relacional al permitir redundancia y en riesgo de perder la integridad de la base de datos puesto que las restricciones sobre las llaves en las relaciones no tienen validez para mantenerla. En este contexto, el manejador es incapaz de garantizar la integridad, y si no podemos mantener la integridad y la consistencia de la base de datos en un E-E ¿de qué manera podemos afirmar que los datos almacenados son correctos? Una peligrosa aproximación a las consecuencias de la Ley de Murphy: “si se permite que ocurra, ocurrirá”. Por esta razón los diseñadores de un E-E, en el mejor de los casos y cuando lo hacen, tienen que construir software de mantenimiento para cada base de datos en E-E a fin de contar con un medio para demostrar su exactitud, una labor onerosa y no exenta de riesgos perfectamente evitable con otro tipo de soluciones. El modelado E-R, modela los datos de acuerdo a la manera en que se asocian unos con otros y, conforme crecen los desafíos de la organización, los datos no necesitan reacondicionarse para nuevas y desconocidas relaciones. Aquí tenemos la flexibilidad y belleza del auténtico modelo relacional. El modelado E-R proporciona el sustento para la naturaleza transaccional de cualquier data warehouse permitiendo el verdadero análisis exploratorio ejemplificado por la minería de datos. Un modelo E-R es para toda la organización y cualquier relación posible dentro de la misma también es posible dentro del mimso modelo. Es oportuno enfatizar que un data warehouse abarca desde el proceso de recolección, administración y distribución de los datos, no sólo visiones agregadas y predefinidas. Por lo tanto, los sistemas de información deben sustentarse en un ambiente capaz y flexible para todo tipo de consultas, sea para el análisis complejo, o así como también para el nivel de detalle y de agregado de datos. En este escenario, simple y sencillamente el E-E no soporta los requerimientos a largo plazo de la organización como un todo. Un data warehouse sustentado en el E-E no permite al usuario expandir su entendimiento de las asociaciones entre los datos, cambiar la forma en que se visualiza la organización, penetrar en análisis más avanzados y/o la generación de tipos de datos emergentes. Se dice que el modelado E- R es muy complejo como para que los usuarios lo entiendan, suponiendo, por contraste, que el E-E es fácil de entender. El asunto aquí es que las capas lógica y física de cualquier modelado de bases de datos no tienen por que ser conocidas por el usuario.
  • 11. 20/10/2010 11 COORDINACION DE BASES DE DATOS El acceso a una base de datos, por ejemplo la consulta, debe dársele al usuario en función de metadatos, herramientas profesionales y aplicaciones a la medida. Dicho de otra forma, en sus propios términos y respetando las reglas del negocio. El hacer partícipe obligado al usuario de la jerga técnica (e. g., cubos, hipercubos, hechos, dimensiones, relaciones, asociaciones, llaves, etc.) es desviar a la informática de su función principal, un ejercicio de petulante auto complacencia que no valdría la pena siquiera mencionar de no ser por su negativo impacto en la relación con el usuario final y, en última instancia, en la misión y visión 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 típico de confusión de las capas lógica y física. El proceso de normalización, por definición, incrementa el número de tablas lógicas. Similarmente el E-E, que en rigor es un modelo E-R (degenerado), también es un modelo lógico. Pero el rendimiento de cualquier manejador de bases de datos no descansa en la capa lógica sino en la física. El manejador debe ser capaz de permitir las modificaciones y afinaciones que sean necesarias en la capa física sin que se vea alterada la capa lógica; en otro caso, tendremos un producto que no cumple con uno de los fundamentos principales del modelo relacional: la independencia lógica y física de los datos. Se dice también que el modelado E-R “es confuso y difícil de navegar”. A esto respondemos: descubrir la esencia de los datos y presentarlos al usuario como los necesita es deber ineludible de cualquier buen modelador e implica una ardua labor de comprensión y descubrimiento donde el usuario es el actor principal. Si somos negligentes en esta labor estaremos por un lado menospreciando a los usuarios y por otro desaprovechando las oportunidades que ofrece la organización. Sin duda los usuarios necesitan de información típica, predefinida, agregada, con cortes bien explícitos para su consulta y reacomodo a conveniencia es decir, análisis multidimensional de datos. Para muchos diseñadores el E-E ha sido la solución. No obstante, el modelado multidimensional de los datos puede hacerse en la capa lógica, sin comprometer la integridad y consistencia de la base de datos. Las vistas, que son relaciones lógicamente definidas, sirven para este propósito al ocultar los detalles del modelo y presentando los datos conforme a cualquier contexto en particular o necesidad. Por medio de vistas es posible representar las estructuras multidimensionales que sean requeridas y ser reaprovechadas por cualquier aplicación, herramienta profesional o como entrada a una verdadera base de datos multidimensional, tecnología desarrollada para el propósito de cubos e hipercubos. Puesto que una vista es una representación lógica, significa que puede rápida y fácilmente modificarse sin tener que alterar los datos. Compárese lo anterior con el E-E donde es inevitable el esquema conceptual, el lógico y el físico, el software de mantenimiento y extracción, los costosos procesos de agregación y carga, amén de su
  • 12. 20/10/2010 12 COORDINACION DE BASES DE DATOS administración y, por si fuera poco, el dispendioso e innecesario almacenamiento en disco. Las vistas son fundamentales en el modelo relacional, aunque los proveedores comerciales tienen diferentes implementaciones con objeto de mejorar su eficiencia: así, se habla de vistas materializadas (Oracle) o vistas indizadas (SQL Server) a fin de que, después de una primera ejecución, las siguientes tengan un óptimo tiempo de respuesta. La combinación de las relaciones originales y de las vistas es un explosivo ambiente capaz de potenciar a los usuarios para la creación de consultas cada vez más complejas, generando más información y conocimiento. ¡Y todo lo anterior sin comprometer ni el modelo, ni los datos almacenados, ni los recursos de almacenamiento, ni de la necesidad de software adicional, ni de onerosos procesos de actualización y mantenimiento! Cuando el E-E ofrezca algo parecido será un placer su revisión. Para terminar este asunto, afirmamos que la construcción de un gran número 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 información, el fanático de este enfoque propondrá una nueva “estrella”. También, 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 información que se requiera, cuando se requiera y donde se requiera. El modelo relacional de bases de datos con sus relaciones normalizadas es una solución simple y elegante para satisfacer las más diversas condiciones de consulta y extracción de datos e información. 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 reflexión: “…es importante recordar que las bases de datos se establecen para beneficio de los usuarios finales, y no para los programadores de aplicaciones quienes actúan como intermediaros para las necesidades actuales de procesamiento de datos”. ¡Sabias palabras!