Está en la página 1de 18

Los modelos de datos definen cómo se modela la estructura lógica de una base de

datos. Los modelos de datos son entidades fundamentales para introducir la


abstracción en una base de datos.

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.

Código Postal
9063635
9345452
6345469
6654760
7754742

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.
La siguiente figura es un ejemplo de un modelo conceptual de datos.
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ásico 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.
 Modificar el modelo de datos físicos en función de las restricciones / requisitos físicos.

Para mas detalles lee el artículo Cómo modelar datos en una base de datos.
La siguiente figura es un ejemplo de un modelo de datos físicos.
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.
La siguiente figura es un ejemplo de un modelo de datos lógicos.
Aquí comparamos 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 ✓
¿Qué es el modelo entidad-relación?
Como ya he comentado este modelo es solo y exclusivamente un
método del que disponemos para diseñar estos esquemas que
posteriormente debemos de implementar en un gestor
de BBDD (bases de datos). Este modelo se representa a través de
diagramas y está formado por varios elementos.

Este modelo habitualmente, además de disponer de un diagrama


que ayuda a entender los datos y como se relacionan entre ellos,
debe de ser completado con un pequeño resumen con la lista de los
atributos y las relaciones de cada elemento.

Elementos del modelo entidad-


relación

Entidad
Las entidades representan cosas u objetos (ya sean reales o
abstractos), que se diferencian claramente entre sí.

Para poder seguir un ejemplo durante el artículo añadiré ejemplos


sobre un taller mecánico, donde se podría crear las siguientes
entidades:

 Coches (objeto físico): contiene la información de cada taller.


 Empleado (objeto físico): información de los trabajadores.
 Cargo del empleado (cosa abstracta): información de la función
del empleado.
Estas entidades se representan en un diagrama con un rectángulos,
como los siguientes.

Atributos
Los atributos definen o identifican las características de entidad (es
el contenido de esta entidad). Cada entidad contiene distintos
atributos, que dan información sobre esta entidad. Estos atributos
pueden ser de distintos tipos (numéricos, texto, fecha...).

Siguiendo el ejemplo de antes podemos analizar los atributos de


nuestra entidad "Coches", que nos darán información sobre los
coches de nuestro supuesto taller.

Unos posibles atributos serían los siguientes: número de


chasis, matrícula, DNI del propietario, marca, modelo y muchos otros
que complementen la información de cada coche.

Los atributos se representan como círculos que descienden de una


entidad, y no es necesario representarlos todos, sino los más
significativos, como a continuación.
En un modelo relacional (ya implementado en una base de datos)
una ejemplo de tabla dentro de una BBDD podría ser el siguiente.

Número de chasis Matrícula DNI del propietario

5tfem5f10ax007210 4817 BFK 45338600L

6hsen2j98as001982 8810 CLM 02405068K

5rgsb7a19js001982 0019 GGL 40588860J

Este ejemplo es con tres atributos, pero un coche podría tener


cientos (si fuese necesario) y seguirían la misma estructura de
columnas, tras implementarlo en una BBDD.

Relación
Es un vínculo que nos permite definir una dependencia entre varias
entidades, es decir, nos permite exigir que varias entidades
compartan ciertos atributos de forma indispensable.

Por ejemplo, los empleados del taller (de la entidad "Empleados")


tienen un cargo (según la entidad "Cargo del empleado"). Es decir,
un atributo de la entidad "Empleados" especificará que cargo tiene
en el taller, y tiene que ser idéntico al que ya existe en la entidad
"Cargo del empleado".

Las relaciones se muestran en los diagramas como rombos, que se


unen a las entidades mediante líneas.
Yo, bajo mi punto de vista, entiendo mejor esto en una tabla (de una
implementación en una BBDD), por lo que voy a poner el ejemplo de
como se representaría (resaltada la relación, que posteriormente
veremos como se haría).

Empleados

Nombre DNI Cargo

Carlos Sánchez 45338600L 001

Pepe Sánchez 02405068K 002

Juan Sánchez 40588860J 002

Cargo del empleado

ID del cargo Descripción

001 Jefe de taller

002 Mecánico

Relaciones de cardinalidad

Podemos encontrar distintos tipos de relaciones según como


participen en ellas las entidades. Es decir, en el caso anterior cada
empleado puede tener un cargo, pero un mismo cargo lo pueden
compartir varios empleados.
Esto complementa a las representaciones de las relaciones, mediante
un intervalo en cada extremo de la relación que especifica
cuantos objetos o cosas (de cada entidad) pueden intervenir en esa
relación.

Uno a uno: Una entidad se relaciona únicamente con otra y


viceversa. Por ejemplo, si tuviésemos una entidad con distintos
chasis y otra con matrículas deberíamos de determinar que cada
chasis solo puede tener una matrícula (y cada matrícula un chasis, ni
más en ningún caso).

Uno a varios o varios a uno: determina que un registro de una


entidad puede estar relacionado con varios de otra entidad, pero en
esta entidad existir solo una vez. Como ha sido en el caso anterior
del trabajador del taller.

Varios a varios: determina que una entidad puede relacionarse con


otra con ninguno o varios registros y viceversa. Por ejemplo, en el
taller un coche puede ser reparado por varios mecánicos distintos y
esos mecánicos pueden reparar varios coches distintos.

Los indicadores numéricos indican el primero el número mínimo de


registros en una relación y posteriormente el máximo (si no hay
límite se representa con una "n").
Claves
Es el atributo de una entidad, al que le aplicamos una restricción que
lo distingue de los demás registros (no permitiendo que el atributo
específico se repita en la entidad) o le aplica un vínculo (exactamente
como comentábamos en las relaciones). Estos son los distintos tipos:

Superclave: aplica una clave o restricción a varios atributos de la


entidad, para así asegurarse que en su conjunto no se repitan varias
veces y así no poder entrar en dudas al querer identificar un registro.

Clave primaria: identifica inequívocamente un solo atributo no


permitiendo que se repita en la misma entidad. Como sería la
matrícula o el número de chasis de un coche (no puede existir dos
veces el mismo).

Clave externa o clave foránea: este campo tiene que estar


estrictamente relacionado con la clave primaria de otra entidad, para
así exigir que exista previamente ese clave. Anteriormente hemos
hablado de ello cuando comentábamos que un empleado
indispensablemente tiene que tener un cargo (que lo hemos
representado numéricamente), por lo cual si intentásemos darle un
cargo inexistente el gestor de bases de datos nos devolvería un error
Introducción del modelo conceptual de datos.

El modelo conceptual de datos Son los orientados a objetos Descripción de estructuras de


datos y restricciones de integridad. Se usan fundamentalmente durante la etapa de
análisis de un problema dado y están orientados a representar los elementos que intervienen
en ese problema y sus relaciones.

El modelado de datos es el proceso de ordenar los datos y sus relaciones con el fin de
desarrollar el modelo lógico de la base de datos. Los objetivos que se pretenden son:
conseguir estructuras de datos flexibles, estables y normalizados y, separar procesos de los
datos.
La modelización de los datos procesados por un Sistema de información se realiza en
diferentes niveles consecutivos de abstracción:
 Nivel Conceptual: a este nivel se realiza una formalización de los datos almacenados
en el sistema (los de los almacenes del DFD) mediante una descripción de las entidades
(objetos materiales o inmateriales del sistema), los atributos (propiedades) de estas entidades
y las posibles relaciones entre ellas. Este modelo se realiza durante la fase de análisis del
sistema.
 Nivel Lógico: mientras que el modelo conceptual es independiente del tipo de
software de gestión de información, en el nivel lógico se realiza la adaptación de aquel
modelo (ya validado) al tipo de Sistema de Gestión de Base de Datos (relacional, jerárquico
o en red) que se vaya a utilizar. Al final se obtiene un modelo lógico de registros que
representa la estructura de los datos (a nivel de registros lógicos) en dicho sistema. Este
modelo se realiza durante la fase de diseño del sistema, se suele completar con información
adicional sobre el volumen de los datos y la forma de acceso a los mismos.

 Nivel Físico: a este nivel se debe determinar cómo se organiza físicamente el


almacenamiento de los datos en ficheros. Todos estos detalles se pueden ignorar, ya que son
competencia del Sistema de Gestión de Base de Datos que se utilice.
Con la modelización de los datos, además de especificar las características de la información,
se pretende conseguir la simplificación de las estructuras definidas en el DD del proyecto,
buscando y eliminando los elementos de datos (campos de registro) redundantes, para lo cual
se produce una reorganización de estas estructuras para eliminar repeticiones, proceso que se
conoce con el nombre de normalización.

 Identificación de elementos del modelo E/R.

Entidad

Se trata de un objeto del que se recoge información de interés de cara a la base de datos.
Gráficamente se representan mediante un rectángulo. Un ejemplo seria la entidad banco,
donde se recogerían los datos relativos a ese banco, como puede ser el nombre, el número
de sucursal, la dirección, entre otros.

Dentro de las entidades pueden ser fuertes o débiles. Las fuertes son las que no dependen
de otras entidades para existir, mientras que las entidades débiles siempre dependen de otra
entidad sino no tienen sentido por ellas mismas.

Relación

Podemos definir la relación como una asociación de dos o más entidades. A cada relación
se le asigna un nombre para poder distinguirla de las demás y saber su función dentro del
modelo entidad-relación. Otra característica es el grado de relación, siendo las de grado 1
relaciones que solo relacionan una entidad consigo misma. Las de grado 2 son relaciones
que asocian dos entidades distintas, y las de grado n que se tratan de relaciones que unen
más de dos entidades.

Las relaciones se representas gráficamente con rombos, dentro de ellas se coloca el nombre
de la relación.

El tipo de relación se define tomando los máximos de las cardinalidades que intervienen en
la relación.

Hay cuatro tipos posibles:

 Una a una (1:1). En este tipo de relación, una vez fijado un elemento de una entidad se
conoce la otra. Ejemplo: nación y capital.

 Una a muchas (1: N). Ejemplo: cliente y pedidos.

 Muchas a una (N: 1). Simetría respecto al tipo anterior según el punto de visto de una u otra
entidad.

 Muchas a muchas (N: N). Ejemplo: personas y viviendas.

Atributo

Se define como cada una de las propiedades de una entidad o relación. Cada atributo tiene
un nombre y todos los posibles valores que puede tener. Dentro de una entidad tiene que
haber un atributo principal que identifica a la entidad y su valor tiene que ser único. Un
ejemplo de atributo principal seria el DNI dentro de la entidad persona.

Ponemos un ejemplo de lo que seria un esquema del modelo entidad-relación.


 Conjunto de entidades, atributos relaciones.

Conjunto de entidades

Un conjunto de entidades es un contenedor lógico para las instancias de un tipo de entidad y


las instancias de cualquier tipo que se deriven de ese tipo de entidad.
El conjunto de entidades no es una construcción de modelado de datos, ya que no describe
la estructura de los datos. En su lugar, un conjunto de entidades proporciona una construcción
para que un entorno de hospedaje o de almacenamiento (como Common Language Runtime
o una base de datos de SQL Server) agrupe las instancias del tipo de entidad y se puedan
asignar a un almacén de datos.

Atributos en relaciones

Las relaciones también pueden tener atributos asociados. Se representan igual que los
atributos de las entidades. Un ejemplo típico son las relaciones de tipo "histórico" donde debe
constar una fecha o una hora. Por ejemplo, supongamos que es necesario hacer constar la
fecha de emisión de una factura a un cliente, y que es posible emitir duplicados de la factura
(con distinta fecha). En tal caso, el atributo "Fecha de emisión" de la factura debería colocarse
en la relación "se emite".
 Multiplicidad de relaciones entre entidades.

Es el número de instancias de un tipo que están relacionadas. Una relación binaria existe
entre un libro y su autor, por ejemplo, porque cada libro tiene al menos un autor. La relación
se especifica entre la clase Book y la clase Author, pero la multiplicidad de esta relación no
es necesariamente de un libro a un autor. La multiplicidad de la relación indica el número de
autores que tiene un libro y el número de libros que cada autor ha escrito. El grado de la
relación en este ejemplo es binario. La multiplicidad de la relación es varios a varios.

Uno a uno:

Una entidad en A se asocia con a los sumo una entidad en B, Y una entidad en B se asocia
con a lo sumo una entidad en A.

Varios a uno:

Una entidad A se asocia con a lo sumo una entidad en B. Una entidad en B, sin embargo se
puede asociar con cualquier número de entidades en A.

Uno a varios:

Una entidad A se asocia con cualquier número de entidades en B. Una entidad en B, sin
embargo, se puede asociar con a lo sumo una entidad en A.

Varios a varios:

Una entidad en A se asocia con cualquier número de entidades en B, y una entidad en B se


asocia con cualquier número de entidades en A.

 Relaciones multidireccionales.

Conversión de relaciones multidireccionales a binarias Las Relaciones Multidireccionales


pueden ser transformadas en un conjunto de relaciones binarias de mucho a uno
introduciendo un conjunto entidad conexión.
 Roles en las relaciones.

El papel de la entidad es la función que desempeña una entidad en una relación. Los roles
representan el papel que juega una entidad en una determinada relación.

Los nombres de rol se deben usar, sobre todo, en los tipos de relación reflexivos, para evitar
ambigüedad

 Atributos en las relaciones.

Las relaciones también pueden tener atributos asociados. Se representan igual que los
atributos de las entidades. Un ejemplo típico son las relaciones de tipo "histórico" donde debe
constar una fecha o una hora. Por ejemplo, supongamos que es necesario hacer constar la
fecha de emisión de una factura a un cliente, y que es posible emitir duplicados de la factura
(con distinta fecha). En tal caso, el atributo "Fecha de emisión" de la factura debería colocarse
en la relación "se emite".

Atributos

Se representan mediante un círculo o elipse etiquetado mediante un nombre en su


interior. Cuando un atributo es identificativo de la entidad se suele subrayar dicha
etiqueta. Por motivos de legibilidad, los atributos suelen no aparecer representados
en el diagrama entidad-relación, sino descritos textualmente en otros documentos
adjuntos.
Relaciones
Se representan mediante un rombo etiquetado en su interior con un verbo. Este
rombo se debe unir mediante líneas con las entidades (rectángulos) que relaciona,
para así saber cuál es la relación que lleva cada uno.

 Conservación de relaciones multidireccionales a binarias notación.

Notación
 Es un modelo relacional sencillo ampliamente extendido.
 Rectángulo, que representan conjuntos de entidades.

 Rombos, que representan relaciones.


 Líneas, que unen atributos a conjuntos de entidades y conjuntos.
 Líneas dobles, que indican participación total de una entidad en un conjunto de
relaciones.
 Elipses dobles, que representan atributos multivalorados.

 Elipses discontinuas, que de notan atributos derivados.

 Extensión del modelo E/R, especificación, generalización, entidades subtipos.

Extensión del modelo entidad-relación

Un diagrama o modelo entidad-relación (a veces denominado por sus siglas, E-R "Entity
relationship", o, "DER" Diagrama de Entidad Relación) es una herramienta para
el modelado de datos de un sistema de información. Estos modelos expresan entidades
relevantes para un sistema de información así como sus interrelaciones y propiedades.
El Modelo Entidad-Relación Extendido incluye todos los conceptos del Entidad-Relación e
incorpora los conceptos de Subclase y superclase con los conceptos asociados de
Especialización y Generalización. Otro nuevo concepto incluido por el ERE es el de
Categoría. Asociado a estos conceptos.
Especialización:

Es el resultado de tomar un subconjunto de entidades de alto nivel para formar un conjunto


de entidades de más bajo nivel. En la generalización cada entidad de alto nivel debe ser
también una entidad de bajo nivel. La especialización no tiene este limitante.se representa
por medio de un triángulo denominado con la etiqueta "ISA", se distingue de la
generalización por el grosor de las líneas que conectan al triángulo con las entidades. La
especialización denota la diferencia entre los conjuntos de entidades de alto y bajo nivel.

Generalización:

Es el resultado de la unión de 2 o más conjuntos de entidades (de bajo nivel) para producir
un conjunto de entidades de más alto nivel. La generalización se usa para hacer resaltar los
parecidos entre tipos de entidades de nivel más bajo y ocultar sus diferencias. La
generalización consiste en identificar todos aquellos atributos iguales de un conjunto de
entidades para formar una entidad(es) global(es) con dichos atributos semejantes, dicha
entidad(es) global(es) quedara a un nivel más alto al de las entidades origen.

Entidades subtipos:
Son entidades que modelan características particulares que diferencian una o varias
entidades que poseen ciertas características comunes pero también poseen características
que las diferencian entre sí. Por ejemplo, una empresa puede manejar distintos tipos de
clientes. Todos los clientes poseen características comunes como Identificación, nombre y
deuda pero dependiendo del tipo de cliente cada uno posee datos particulares. Esta
situación se puede representar como una clase entidad cliente con todos los atributos
comunes a todos los tipos de clientes (clase entidad súper tipo) y un conjunto entidad por
cada tipo de cliente existente, las cuales heredan todos los atributos de la entidad súper tipo,
incluyendo la clave primaria (entidades subtipo).

 Entidades súper tipos.

Entidades súper tipos:

Un super tipo es una entidad que queda completamente definida como la unión de dos o
más entidades. A éstas últimas se les llama subtipos de la entidad súper tipo.

* Cada ocurrencia de la entidad súper tipo debe ser parte de una y sólo una entidad subtipo.
Los subtipos son excluyentes.

* Puede haber anidamiento: un subtipo de una entidad puede ser el super tipo de otras

 herencia de atributos

Una propiedad crucial de las entidades de nivel más alto y más bajo creadas mediante
especialización y generalización es la herencia de atributos. Los atributos de los conjuntos
de entidades de nivel más alto se dice que son heredados por los conjuntos de entidades de
nivel más bajo. Por ejemplo, cliente y empleado heredan los atributos de persona.
Así, cliente se describe mediante sus atributos nombre, calle y ciudad y adicionalmente por
el atributo id-cliente; empleado se describe mediante sus atributos nombre, calle y ciudad y,
adicionalmente por los atributos id-empleado y sueldo.

Un conjunto de entidades de nivel más bajo (o subclase) también hereda la participación en


los conjuntos de relaciones en los que su entidad de nivel más alto (o superclase) participa.

Ambos conjuntos de entidades oficial, cajero y secretaria participan en el conjunto de


relaciones trabaja-para. La herencia de atributos se aplica en todas las capas de los conjuntos
de entidades de nivel más bajo. Los conjuntos de entidades anteriores pueden participar
cualquier relación en que participe el conjunto de entidades persona.

También podría gustarte