Informática
Bases de datos

Tu Instituto Online
   


 
Nivel Básico Entidad-Relación: Paso al modelo relacional
Duración aproximada: 2 sesiones.
   
Objetivos Objetivos
  • Aprender los pasos de la transformación del modelo entidad-relación al modelo relacional.
  • Conocer las ventajas que nos ofrece el modelo relacional.
   
Fuentes de información Fuentes de información
   
Contenidos
Contenidos
 

1. Conversión a modelo relacional

Uno de los pasos más importantes a la hora de crear una base de datos es el análisis y diseño de ésta, el cual hemos realizado en el punto anterior. Para ello estudiamos todos sus elementos para extraer la información de una manera ordenada y poder plasmarla en una base de datos.

El siguiente paso consiste en convertir el modelo entidad relación en un modelo relacional, ya que el primero consiste en un modelo conceptual de alto nivel y es necesario convertirlo en un esquema que sea compatible con un sistema gestor de bases de datos.

2. Fases

El paso del modelo conceptual al relacional se realiza mediante una serie de pasos que nos ofrecerán una serie de ventajas:

  • Independencia física: el modo de almacenamiento no influye en la definición de los datos
  • Indpendencia lógica: las operaciones sobre los datos no afectan a los tratamientos
  • Flexibilidad: para ofrecer distintos esquemas externos
  • Uniformidad: que facilita el empleo de los datos
  • Sencillez: es fácil de comprender y utilizar

2.1. Transformación de entidades y atributos

2.1.1. Entidades

Cada entidad del modelo entidad-relación generará una tabla.

Ejemplo

  • Nombre: cadena de 20 caracteres
  • Apellidos: cadena de 30 caracteres
  • Dni: cadena de 9 caracteres
  • Dirección: cadena de 40 caracteres
  • Teléfonos: cadena de 10 caracteres
  • Edad: número de tres dígitos
  • Fecha nacimiento: fecha
  • Nombre: cadena de 10 caracteres
  • Código: cadena de 5 caracteres
  • NIF: cadena de 8 caracteres
  • Nombre: cadena de 10 caracteres
  • Dirección: cadena de 40 caracteres

Las tablas en este caso serán las entidades:

  • Clientes
  • Productos
  • Proveedores

 

2.1.2. Atributos

Una vez tenemos claras las tablas, debemos pasar a distinguir las columnas de las que se compondrán las tablas. Para ello, tenemos que fijarnos en los atributos que tienen las entidades:

  • Cada atributo simple se convertirá en una columna
  • Uno de los atributos, concretamente la clave principal, se convertirá en clave principal de la tabla
  • Cada atributo multivaluado se convertirá en otra tabla cuya clave principal será la unión de la clave primaria de la otra tabla y el atributo
  • Cada atributo compuesto se convertirá en tantas columnas como atributos lo compongan

Ejemplo

Si observamos el ejemplo anterior, obtenemos que las entidades contendrán los siguientes atributos:

  • Clientes: nombre, apellidos, dni, dirección, fecha_nacimiento, edad
  • Productos: nombre, código
  • Proveedores: nombre, nif, dirección

Las claves primarias serán: dni para la tabla Clientes, código para la tabla Productos y nif para la tabla Proveedores. Además, al ser teléfono un atributo multivaluado, se creará otra tabla nueva llamada Teléfonos con dos campos: dni y teléfono, y cuya clave primaria serán, también, ambos campos.

Otro elemento importante en el que tenemos que hacer hincapié es el de los tipos, ya que en el modelo entidad-relación nos los darán, y seremos nosotros los encargados de pasarlos a los tipos del sistema gestor de base de datos.

Si tuviéramos algún atributo compuesto como el que se muestra en la figura:

El proceso sería sencillo:

  • Primero identificamos las entidades y las transformamos en tablas (Usuario)
  • Después observamos los atributos y nos daremos cuenta de que son todos compuestos, por lo que cogeremos los atributos en los que se componen.

 

2.2. Transformación de relaciones

La transformación de relaciones tiene especial relevancia debido a que va unida a las cardinalidades de éstas.

2.2.1. Relaciones 1:1

El primer caso que veremos será el de las relaciones 1:1, la cual relacionará cada ocurrencia de una entidad con la otra ocurrencia de la otra entidad y viceversa. En este caso se seleccionará una de las entidades y se le añadirá, como clave ajena, la clave primaria de la otra entidad, aunque se le deberá añadir una restricción a la clave foránea para que sea única.

Ejemplo

Si observamos el ejemplo siguiente:

observamos que la relación es 1:1, con lo que debemos seleccionar una de las entidades (vamos a seleccionar departamento), y pasarle, como clave ajena, la clave primaria de la tabla director. De este modo, quedará de la siguiente manera:

 

2.2.2. Relaciones 1:N

El segundo caso es el de las relaciones 1:N, es decir, aquellas en las que cada ocurrencia de una entidad se relaciona con más de una de la otra entidad, pero las ocurrencias de cada entidad sólo se relacionan con una de la primera entidad. La solución pasará por añadir, a la entidad que se encuentra al lado del N del vínculo, la clave primaria de la otra entidad como una clave ajena.

Ejemplo

Ponemos un ejemplo para que se vea mejor:

Observamos que la relación es 1:N, por lo que debemos insertar, en la tabla ALUMNO, una nueva columna que se corresponderá con la clave primaria de la tabla CURSO:

 

2.2.3. Relaciones N:M

El tercer caso es el de las relaciones N:M, es decir, aquel en el que cada ocurrencia de una entidad se corresponde con varias de la otra entidad y viceversa. Este caso se resuelve mediante la creación de una tabla intermedia cuyas columnas serán las claves primarias de ambas entidades y cuya clave primaria serán los atributos que sean claves primarias de ambas tablas.

Ejemplo

Como ejemplo:

Observamos que la relación es N:M, por lo que creamos una nueva tabla con el nombre de la relación (ASISTE) y cuyas columnas serán DNI y CÓDIGO:

 

3. Ejemplos de diseño

3.1. Gabinete de abogados

Dado el siguiente esquema entidad-relación y el listado de dominios, generaremos el modelo relacional:

DOMINIOS:

  • num expediente: número 4 dígitos
  • fecha inicio: fecha
  • fecha fin: fecha
  • estado: cadena de 10 caracteres
  • dni: cadena de 9 caracteres
  • nombre: cadena de 20 caracteres
  • apellidos: cadena de 20 caracteres
  • dirección: cadena de 30 caracteres
  • fecha nacimiento: fecha
  • número colegiado: número de 5 dígitos
  • casos ganados: número de 5 dígitos

3.1.1. Fase 1

Primero transformamos las entidades en tablas y los atributos en columnas:

El atributo compuesto (período), tal y como hemos explicado, se descompondrá en los dos de los que se compone (fecha inicio y fecha fin).

3.1.2. Fase 2

El siguiente paso es transformar las relaciones. Para ello, la relación corresponder, al ser 1:N, hará que se pase la clave primaria de la tabla cliente a la tabla asunto como clave ajena. Además, la relación llevar, al ser N:M, se convertirá en una tabla con las columnas dni y num_expediente, es decir, las claves primarias de ambas tablas:

 

3.2. Videoclub

Dado el siguiente esquema entidad-relación y el listado de dominios generaremos el modelo relacional:

DOMINIOS:

  • número: número de 4 dígitos
  • nombre: cadena de 30 caracteres
  • dirección: cadena de 30 caracteres
  • teléfono: cadena de 10 caracteres
  • director favorito: cadena de 30 caracteres
  • título: cadena de 30 caracteres
  • género: cadena de 10 caracteres
  • director: cadena de 30 caracteres
  • actor: cadena de 30 caracteres
  • año: número de 4 dígitos
  • estanterías: número de 2 dígitos
  • total películas: número de 2 dígitos
  • fecha compra: fecha
  • num serie: cadena de 10 dígitos
  • ubicación: cadena de 10 dígitos

3.2.1. Fase 1

Primero transformamos las entidades en tablas y los atributos en columnas:

Como se puede observar, los atributos multivaluados directores y actores se convierten en tablas cuyos atributos son: el propio atributo y la clave primaria de la tabla con la que se relacionan.

3.2.2. Fase 2

Ahora convertimos las relaciones:

En el caso de la relación sacar, como es N:M, se convierte en una tabla cuyas columnas son las claves primarias de las tablas con las que se relaciona. Sin embargo, en el caso de la relación guardar, al ser 1:N, el atributo num serie se introducirá en la tabla películas (parte N) como clave ajena.

  
Ejercicios
Ejercicio
 

Diagrama

  • Descarga la plantilla de diagrama. DESCARGAR
  • Renombra el archivo descargado como "dibpasoscaso1".
  • Aplica las fases explicadas para obtener el modelo relacional del siguiente diagrama (ten en cuenta los dominios de los atributos). Representa cada fase en una diapositiva distinta.

 

DOMINIOS:

  • cod cliente: número de 4 dígitos
  • nombre: cadena de 30 caracteres
  • calle: cadena de 20 caracteres
  • portal: número de 3 dígitos
  • piso: cadena de 4 caracteres
  • precio: número de 4 dígitos
  • cod producto: número de 4 dígitos
  • número: número de 3 dígitos
  • teléfono: cadena de 10 caracteres
  • cod depart: número de 5 dígitos

Subir el diagrama

  • Sube el fichero "dibpasoscaso1" a la plataforma.
   
Ejercicios
Ejercicio
   
 

Diagrama

  • Descarga la plantilla de diagrama. DESCARGAR
  • Renombra el archivo descargado como "dibpasoscaso2".
  • Aplica las fases explicadas para obtener el modelo relacional del siguiente diagrama (ten en cuenta los dominios de los atributos). Representa cada fase en una diapositiva distinta.

 

DOMINIOS:

  • cod aparato: número de 4 dígitos
  • descripción: cadena de 20 caracteres
  • categoría: cadena de 10 caracteres
  • tamaño: número de 2 dígitos
  • cod componente: número de 3 dígitos
  • nombre: cadena de 10 caracteres
  • cif: cadena de 9 caracteres
  • num empleados: número de 3 dígitos
  • nombre: cadena de 10 caracteres

Subir el diagrama

  • Sube el fichero "dibpasoscaso2" a la plataforma.
   
   
Creditos Créditos
Licencia de Creative Commons

Este documento es de dominio público bajo licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.
TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. v. 2.0.2.1.0

No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.

Los reconocimientos se realizan en el apartado Fuentes de información.

Los iconos empleados están protegidos por la licencia LGPL y se han obtenido de:
https://commons.wikimedia.org/wiki/Crystal_Clear
https://www.openclipart.org


Licencia de Creative Commons

Todas las capturas de pantalla tienen copyright y pertenecen a TuInsitutoOnline.com.

TuInstitutoOnline.com permite su uso siempre y cuando se muestren desde el dominio www.tuinstituoonline.com y NO PERMITE enlazar a ellas desde otros lugares.

Además, la estructura diseñada para mostrar el contenido de las unidades es propiedad de TuInstitutoOnline.com.

TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. Versión 2021.