Está en la página 1de 12

MATERIA: BASE DE DATOS 8-4-2020

Modelos de Datos

Un modelo de datos es un lenguaje orientado a hablar de una base de datos. Típicamente


un modelo de datos permite describir:

• 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.

También ayudan a evitar la redundancia de datos. La información almacenada en los


modelos de datos es de gran importancia para las empresas porque dicta las relaciones entre las
tablas de la base de datos, las claves externas y los eventos involucrados.

PROF.: JOSÉ A. GONZÁLEZ S. 1


MATERIA: BASE DE DATOS 8-4-2020

Los tres tipos básicos de modelo de datos son:

1. Modelos de datos conceptuales


2. Modelos de datos físicos
3. Modelos de datos lógicos

1. Modelos de datos conceptuales

Un modelo conceptual de datos identifica las relaciones de más alto nivel entre las
diferentes entidades.

Las características del modelo conceptual de datos incluyen:

• Incluye las entidades importantes y las relaciones entre ellas.


• No se especifica ningún atributo.
• No se especifica ninguna clave principal.

2. Modelos de datos físicos

El modelo de datos físicos representa cómo se construirá el modelo en la base de datos. Un


modelo de base de datos física muestra todas las estructuras de tabla, incluidos el nombre de
columna, el tipo de datos de columna, las restricciones de columna, la clave principal, la clave
externa y las relaciones entre las tablas.

Las características de un modelo de datos físicos incluyen:

• Especificación de todas las tablas y columnas.


• Las claves externas se usan para identificar relaciones entre tablas.
• La desnormalización puede ocurrir según los requisitos del usuario.

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:

• Convertir entidades en tablas.


• Convertir relaciones en claves externas.
• Convertir atributos en columnas.

PROF.: JOSÉ A. GONZÁLEZ S. 2


MATERIA: BASE DE DATOS 8-4-2020

• Modificar el modelo de datos físicos en función de las restricciones / requisitos


físicos.

3. Modelos de datos lógicos

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.

Las características de un modelo de datos lógicos incluyen:

• Incluye todas las entidades y relaciones entre ellos.


• Todos los atributos para cada entidad están especificados.
• La clave principal para cada entidad está especificada.
• Se especifican las claves externas (claves que identifican la relación entre diferentes
entidades).
• La normalización ocurre en este nivel.

Los pasos para diseñar el modelo de datos lógicos son los siguientes:

• Especifique claves primarias para todas las entidades.


• Encuentra las relaciones entre diferentes entidades.
• Encuentra todos los atributos para cada entidad.
• Resuelva las relaciones de muchos a muchos.
• Normalización.

Comparando estos tres tipos de modelos de datos. La tabla a continuación compara las
diferentes características:

Característica Conceptual Lógico Física

Nombres de entidades ✓ ✓

Relaciones de entidades ✓ ✓

Atributos ✓

Teclas principales ✓ ✓

Foreign Keys ✓ ✓

Nombres de tabla ✓

Nombres de columnas ✓

Tipos de datos de columna ✓

PROF.: JOSÉ A. GONZÁLEZ S. 3


MATERIA: BASE DE DATOS 8-4-2020

Ventajas y desventajas de los modelos de datos

Ventajas

• El objetivo principal de un modelo de datos es asegurarse de que los objetos de datos


ofrecidos por el equipo funcional se representen con precisión.
• El modelo de datos debe ser lo suficientemente detallado para ser utilizado para
construir la base de datos física.
• La información en el modelo de datos se puede utilizar para definir la relación entre
tablas, claves primarias y externas y procedimientos almacenados.
• El modelo de datos ayuda a las empresas a comunicarse dentro y entre las
organizaciones.
• El modelo de datos ayuda a documentar las asignaciones de datos en el proceso ETL
• Ayuda a reconocer las fuentes de datos correctas para poblar el modelo.

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.

Modelos de Datos Lógicos

Modelo Relacional

El modelo relacional, para el modelado y la gestión de bases de datos, es un modelo de


datos basado en la lógica de predicados y en la teoría de conjuntos.

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.

Su idea fundamental es el uso de relaciones. Estas relaciones podrían considerarse en forma


lógica como conjuntos de datos llamados tuplas. Pese a que esta es la teoría de las bases de datos
relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de
imaginar, pensando en cada relación como si fuese una tabla que está compuesta por registros (cada
fila de la tabla sería un registro o "tupla") y columnas (también llamadas "campos").

PROF.: JOSÉ A. GONZÁLEZ S. 4


MATERIA: BASE DE DATOS 8-4-2020

Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar


datos dinámicamente.

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.

Para manipular la información utilizamos un lenguaje relacional, actualmente se cuenta con


dos lenguajes formales el Álgebra relacional y el Cálculo relacional. El Álgebra relacional permite
describir la forma de realizar una consulta, en cambio, el Cálculo relacional solamente indica lo que
se desea devolver.

Estructura

La base de datos se organiza en dos marcadas secciones; el esquema y los datos (o


instancia). El esquema es la definición de la estructura de la base de datos y principalmente
almacena los siguientes datos:

• El nombre de cada tabla.


• El nombre de cada columna.
• El tipo de dato de cada columna.
• La tabla a la que pertenece cada columna.

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.

Los datos o instancia es el contenido de la base de datos en un momento dado. Es en sí, el


contenido de todos los registros.

PROF.: JOSÉ A. GONZÁLEZ S. 5


MATERIA: BASE DE DATOS 8-4-2020

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

Un conjunto de datos, que representa un ítem


Fila Tupla o registro
simple.

Un elemento etiquetado de una tupla, p.e.


Columna Atributo o campo
"Dirección" o "Fecha de nacimiento".

Un conjunto de tuplas compartiendo los mismos


Tabla Relación o Base relvar
atributos; un conjunto de filas y columnas.

Vista o conjunto Cualquier conjunto de tuplas; un reporte o informe


Relvar derivado
de resultados de datos de una RDBMS en respuesta a una consulta.

Ventajas

• Provee herramientas que garantizan evitar la duplicidad de registros.


• Garantiza la integridad referencial, así, al eliminar un registro elimina todos los
registros relacionados dependientes.
• Favorece la normalización por ser más comprensible y aplicable.

Desventajas

• Presentan deficiencias con datos gráficos, multimedia, CAD y sistemas de


información geográfica.
• No se manipulan de forma eficiente los bloques de texto como tipo de dato.

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.

PROF.: JOSÉ A. GONZÁLEZ S. 6


MATERIA: BASE DE DATOS 8-4-2020

Elementos

• Relaciones (características en común)

En una BDR, todos los datos se almacenan y se accede a ellos por medio de
relaciones previamente establecidas.

• Relaciones base

Las relaciones que almacenan datos son llamadas relaciones base y su


implementación es llamada "tabla".

• Relaciones derivadas

Otras relaciones no almacenan datos, pero son calculadas al aplicar operaciones


relacionales. Estas relaciones son llamadas relaciones derivadas y su implementación es
llamada "vista" o "consulta". Las relaciones derivadas son convenientes, ya que expresan
información de varias relaciones actuando como si fuera una sola tabla.

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 proveen un método de implementar "reglas" en la base de datos.


Las restricciones limitan los datos que pueden ser almacenados en las tablas. Usualmente
se definen usando expresiones que dan como resultado un valor booleano, indicando si los
datos satisfacen la restricción o no.

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

Un dominio describe un conjunto de posibles valores para cierto atributo. Como un


dominio restringe los valores del atributo, puede ser considerado como una restricción.
Matemáticamente, atribuir un dominio a un atributo significa "cualquier valor de este
atributo debe ser elemento del conjunto especificado".

Distintos tipos de dominios son: enteros, cadenas de texto, fecha, no procedurales,


etc. Cada tabla puede tener uno o más campos cuyos valores identifican de forma única
cada registro de dicha tabla, es decir, no pueden existir dos o más registros diferentes cuyos
valores en dichos campos sean idénticos. Este conjunto de campos se llama clave única.
Pueden existir varias claves únicas en una determinada tabla, y a cada una de estas suele
llamársele candidata a clave primaria.

PROF.: JOSÉ A. GONZÁLEZ S. 7


MATERIA: BASE DE DATOS 8-4-2020

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.

• Clave externa o foránea

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.

Las bases de datos relacionales incluyen múltiples técnicas de ordenamiento, cada


una de ellas es óptima para cierta distribución de datos y tamaño de la relación.

Los índices generalmente no se consideran parte de la base de datos, pues son un


detalle agregado. Sin embargo, las claves índices son desarrolladas por el mismo grupo de
programadores que las otras partes de la base de datos.

Algebra Relacional

El álgebra relacional es un conjunto de operaciones que describen paso a paso cómo


computar una respuesta sobre las relaciones, tal y como éstas son definidas en el modelo relacional.
Denominada de tipo procedimental, a diferencia del Cálculo relacional que es de tipo declarativo.

PROF.: JOSÉ A. GONZÁLEZ S. 8


MATERIA: BASE DE DATOS 8-4-2020

Describe el aspecto de la manipulación de datos. Estas operaciones se usan como una


representación intermedia de una consulta a una base de datos y, debido a sus propiedades
algebraicas, sirven para obtener una versión más optimizada y eficiente de dicha consulta.

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 modelo de red es un modelo de base de datos concebido como un modo flexible de


representar objetos y su relación.

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

PROF.: JOSÉ A. GONZÁLEZ S. 9


MATERIA: BASE DE DATOS 8-4-2020

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

En 1969, la Conferencia de Lenguajes en Sistemas de Datos (CODASYL) estableció la primera


especificación del modelo de base de datos de red. Esto fue seguido de una segunda publicación en
1971, que se hizo la base para la mayor parte de puestas en práctica. El trabajo subsecuente
continuado en principios de los años 1980, que culminan en una especificación de ISO, pero esto
tenía poca influencia sobre estos productos.

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.

PROF.: JOSÉ A. GONZÁLEZ S. 10


MATERIA: BASE DE DATOS 8-4-2020

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.

Limitaciones del modelo jerárquico

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

No se garantiza la inexistencia de registros duplicados. Esto también es cierto para


los campos "clave". Es decir, no se garantiza que dos registros cualesquiera tengan
diferentes valores en un subconjunto concreto de campos.

• 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..

PROF.: JOSÉ A. GONZÁLEZ S. 11


MATERIA: BASE DE DATOS 8-4-2020

• 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.

La desnormalización permite ingresar redundancia de una forma controlada, seguir


a una serie de pasos conlleva a:

 Combinar las relaciones.


 Duplicar los atributos no claves.
 Introducción de grupos repetitivos.
 Crear tablas de extracción.

Cuando se debe desnormalizar:

 Se debe desnormalizar para optimizar el esquema relacional.


 Para hacer referencia a la combinación de 2 relaciones que forman una sola
relación.

PROF.: JOSÉ A. GONZÁLEZ S. 12

También podría gustarte