Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cap 4 - Modelo de Datos
Cap 4 - Modelo de Datos
Modelos de Datos
• Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma
en que se relacionan.
• Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los
datos para reflejar la realidad deseada.
• Operaciones de manipulación de los datos: típicamente, operaciones de agregado,
borrado, modificación y recuperación de los datos de la base.
Otro enfoque es pensar que un modelo de datos permite describir los elementos de la
realidad que intervienen en un problema dado y la forma en que se relacionan esos elementos entre
sí.
Los modelos de datos definen cómo los datos se conectan entre sí y cómo se procesan y
almacenan dentro del sistema. El primer modelo de datos fue el modelo de datos planos, donde
todos los datos utilizados se mantendrían en el mismo plano. Ejemplo:
Código Postal
9063635
9345452
6345469
6654760
7754742
Los primeros modelos de datos no eran tan científicos, por lo tanto, eran propensos a
introducir muchas anomalías de duplicación y actualización.
Un modelo de datos puede ser concreto o abstracto, y están representados por la notación
de modelado de datos, que a menudo se presenta en formato gráfico. Su enfoque principal es
apoyar y ayudar a los sistemas de información mostrando el formato y la definición de los diferentes
datos involucrados.
Un modelo conceptual de datos identifica las relaciones de más alto nivel entre las
diferentes entidades.
Las consideraciones físicas pueden hacer que el modelo de datos físicos sea bastante
diferente del modelo de datos lógicos.
El modelo de datos físicos será diferente para diferentes Sistemas de Gestión de Base de
datos. Por ejemplo, el tipo de datos para una columna puede ser diferente entre MySQL y SQL
Server.
Los pasos básicos para el diseño del modelo de datos físicos son los siguientes:
Un modelo de datos lógicos describe los datos con el mayor detalle posible,
independientemente de cómo se implementarán físicamente en la base de datos.
Los pasos para diseñar el modelo de datos lógicos son los siguientes:
Comparando estos tres tipos de modelos de datos. La tabla a continuación compara las
diferentes características:
Nombres de entidades ✓ ✓
Relaciones de entidades ✓ ✓
Atributos ✓
Teclas principales ✓ ✓
Foreign Keys ✓ ✓
Nombres de tabla ✓
Nombres de columnas ✓
Ventajas
Desventajas
• Para desarrollar el modelo de datos se deben conocer las características físicas de los
datos almacenados.
• Incluso los cambios más pequeños realizados en la estructura requieren modificaciones
en toda la aplicación.
• No hay un lenguaje de manipulación de modelos establecido en DBMS.
Modelo Relacional
Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San
José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de
datos.
Características
En este modelo todos los datos son almacenados en relaciones, y como cada relación es un
conjunto de datos, el orden en el que estos se almacenen no tiene relevancia (a diferencia de otros
modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de
entender y de utilizar por un usuario no experto. La información puede ser recuperada o
almacenada por medio de consultas que ofrecen una amplia flexibilidad y poder para administrar la
información.
Este modelo considera la base de datos como una colección de relaciones. De manera
simple, una relación representa una tabla que no es más que un conjunto de filas, cada fila es un
conjunto de campos y cada campo representa un valor que interpretado describe el mundo real.
Cada fila también se puede denominar tupla o registro y a cada columna también se le puede llamar
campo o atributo.
Estructura
Las bases de datos relacionales pasan por un proceso al que se le conoce como
normalización de una base de datos, el resultado de dicho proceso es un esquema que permite que
la base de datos sea usada de manera óptima.
La tabla inferior resume algunos de los términos más importantes de las bases de datos
relacionales y el término SQL correspondiente:
Término de bases de
Término SQL Descripción
datos relacionales
Ventajas
Desventajas
Las bases de datos orientadas a objetos (BDOO) se propusieron con el objetivo de satisfacer
las necesidades de las aplicaciones anteriores y así, complementar pero no sustituir a las bases de
datos relacionales.
Elementos
En una BDR, todos los datos se almacenan y se accede a ellos por medio de
relaciones previamente establecidas.
• Relaciones base
• Relaciones derivadas
Algunas no son determinadas por los usuarios, sino que son inherentemente
definidas por el simple hecho de que la BD sea relacional. Algunas otras restricciones las
puede definir el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10.
Las restricciones no son parte informal y formal del modelo relacional, pero son
incluidas porque juegan el rol de organizar mejor los datos. Las restricciones son muy
discutidas junto con los conceptos relacionales.
• Dominios
Clasificación de Claves
• Clave primaria
Una clave primaria es una clave única (puede estar conformada por uno o más
campos de la tabla) elegida entre todas las candidatas que define unívocamente a todos los
demás atributos de la tabla para especificar los datos que serán relacionados con las demás
tablas. La forma de hacer esto (relación entre tablas) es por medio de claves foráneas.
Una clave foránea es una referencia a una clave en otra tabla, determina la relación
existente en dos tablas. Las claves foráneas no necesitan ser claves únicas en la tabla donde
están y sí a donde están referenciadas.
Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de
empleados. Se permite que haya varios empleados en un mismo departamento, pero habrá
uno y solo un departamento por cada clave distinta de departamento en la tabla de
departamentos.
• Clave índice
Las claves índice surgen con la necesidad de tener un acceso más rápido a los datos.
Los índices pueden ser creados con cualquier combinación de campos de una tabla. Las
consultas que filtran registros por medio de estos campos, pueden encontrar los registros
de forma no secuencial usando la clave índice.
Algebra Relacional
Calculo Relacional
El Cálculo relacional es un lenguaje de consulta que describe la respuesta deseada sobre una
Base de datos sin especificar como obtenerla, a diferencia del Álgebra relacional que es de tipo
procedimental, el cálculo relacional es de tipo declarativo; pero siempre ambos métodos logran los
mismos resultados.
Modelo de Red
El inventor original del modelo de red fue Charles Bachman, y con ello fue desarrollado en
una especificación estándar publicada en 1969 por la Conferencia de Lenguajes en Sistemas de
Datos (CODASYL).
Características
El argumento principal a favor del modelo de red, en comparación con el modelo jerárquico,
era que permitió un modelado más natural de relaciones entre entidades. Aunque el modelo
extensamente fuera puesto en práctica y usado, esto falló en hacerse dominante por dos motivos
principales. En primer lugar, la IBM decidió atenerse al modelo jerárquico con extensiones de
semired en sus productos establecidos como IMS Y DL/I. En segundo lugar, eventualmente fue
desplazado por el modelo relacional, que ofreció un nivel más alto, y la interfaz más declarativa.
Hasta principios de los años 1980 las ventajas de las interfaces de bajo nivel de navegación ofrecidos
por jerárquico y bases de datos de red eran persuasivas para muchos usos en gran escala, pero como
el hardware se hizo más rápido, la productividad suplementaria y la flexibilidad del modelo
relacional condujo a la caída en desuso gradual del modelo de red en el uso corporativo de la
empresa.
Historia
Modelo Jerárquico
Un modelo de datos jerárquico es un modelo de datos en el cual los datos son organizados
en una estructura parecida a un árbol. La estructura permite a la información que se repite y usa
relaciones padre/Hijo: cada padre puede tener muchos hijos pero cada hijo sólo tiene un padre.
Todos los atributos de un registro específico son catalogados bajo un tipo de entidad.
En una base de datos, un tipo de entidad es el equivalente de una tabla; cada registro
individual es representado como una fila y un atributo como una columna. Los tipos de entidad son
relacionados el uno con el otro usando 1: Trazar un mapa de n, también conocido como relación de
uno a varios. El ejemplo más aprobado de base de datos jerárquica modela es un IMS diseñado por
la IBM.
Características
A diferencia del modelo relacional, el modelo jerárquico no diferencia una vista lógica de
una vista física de la base de datos. De manera que las relaciones entre datos se establecen siempre
a nivel físico, es decir, mediante referencia a direcciones físicas del medio de almacenamiento
(sectores y pistas).
Los datos se almacenan en la forma de registros, el equivalente a las tuplas del modelo
relacional. Cada registro consta de un conjunto de campos, el equivalente a los atributos del modelo
relacional. Un conjunto de registros con los mismos campos se denomina fichero (record type, en
inglés), el equivalente a las relaciones del modelo relacional.
El modelo jerárquico facilita relaciones padre-hijo, es decir, relaciones 1:N (de uno a varios)
del modelo relacional. Pero a diferencia de este último, las relaciones son unidireccionales. En
justicia, dichas relaciones son hijo-padre, pero no padre-hijo. Por ejemplo, el registro de un
empleado (nodo hijo) puede relacionarse con el registro de su departamento (nodo padre), pero no
al contrario. Esto implica que solamente se puede consultar la base de datos desde los nodos hoja
hacia el nodo raíz. La consulta en el sentido contrario requiere una búsqueda secuencial por todos
los registros de la base de datos (por ejemplo, para consultar todos los empleados de un
departamento). En las bases de datos jerárquicas si existen índices que faciliten esta tarea.
Obsérvese que, a priori, no existen relaciones N:M (de muchos a muchos) en el modelo
jerárquico. Salvo que se simulen mediante varias relaciones 1:N. No obstante, esto puede provocar
problemas de inconsistencia, ya que el gestor de base de datos no controla estas relaciones.
Las relaciones se establecen mediante punteros entre registros. Es decir, un registro hijo
contiene la dirección física en el medio de almacenamiento de su registro padre. Esto tiene una
ventaja fundamental sobre las bases de datos relacionales: el rendimiento. El acceso de un registro
a otro es prácticamente inmediato sin necesidad de consultar tablas de correspondencia.
Las relaciones jerárquicas entre diferentes tipos de datos pueden hacer que sea muy sencillo
responder a determinadas preguntas, pero muy difícil el contestar a otras.
A continuación se mencionan los problemas típicos de las bases de datos jerárquicas y que
no existen en las bases de datos relacionales. Todos estos problemas derivan del hecho de que el
sistema gestor de base de datos no implementa ningún control sobre los propios datos, sino que
queda en manos de las aplicaciones garantizar que se cumplen las condiciones invariantes que se
requieran (por ejemplo, evitar la duplicidad de registros). Dado que todas las aplicaciones están
sujetas a errores y fallos, esto es imposible en la práctica. Además dichas condiciones suelen
romperse ex profeso por motivos operativos (generalmente, ajustes debidos a cambios en el
negocio) sin evaluarse sus consecuencias.
• Duplicidad de registros
• Integridad referencial
No existe garantía de que un registro hijo esté relacionado con un registro padre
válido. Por ejemplo, es posible borrar un nodo padre sin eliminar antes los nodos hijo, de
manera que estos últimos están relacionados con un registro inválido o inexistente..
• Desnormalización
Este no es tanto un problema del modelo jerárquico como del uso que se hace de
él. Sin embargo, a diferencia del modelo relacional, las bases de datos jerárquicas no tienen
controles que impidan la desnormalización de una base de datos. Por ejemplo, no existe el
concepto de campos clave o campos únicos.