eXe
eXe
eXe
AVISO: Esta página ha sido generada para facilitar la impresión de los contenidos. Los enlaces externos a otras
páginas no serán funcionales.
Interpretación de diagramas
entidad/relación.
Caso práctico
Ada está analizando la manera en la que Juan y María han
comenzando a construir la base de datos que sustentará el sitio
web de juegos online. Parece que la aplicación del modelo
relacional está marchando correctamente, aunque le interesa
que el proceso se realice siguiendo un método lo más
estandarizado posible y que les ofrezca independencia del
SGBD que escojan.
Cuando hemos de desarrollar una base de datos se distinguen claramente dos fases de trabajo:
Análisis y Diseño. En la siguiente tabla te describimos las etapas que forman parte de cada fase.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 1/41
10/12/24, 13:12 eXe
Análisis de relaciones: Se
definirán las relaciones Normalización.
existentes entre entidades.
Llevando a cabo una correcta fase de análisis estaremos dando un paso determinante en el
desarrollo de nuestras bases de datos. El hecho de saltarse el esquema conceptual conlleva un
problema de pérdida de información respecto al problema real a solucionar. El esquema
conceptual debe reflejar todos los aspectos relevantes del mundo real que se va a modelar.
Para la realización de esquemas que ofrezcan una visión global de los datos, Peter Chen en
1976 y 1977 presenta dos artículos en los que se describe el modelo Entidad/Relación
(entity/relationship). Con el paso del tiempo, este modelo ha sufrido modificaciones y mejoras.
Actualmente, el modelo entidad/relación extendido (ERE) es el más aceptado, aunque existen
variaciones que hacen que este modelo no sea totalmente un estándar. Ambos modelos serán
estudiados a lo largo de esta unidad.
Caso práctico
—María, ¿Si un carpintero recibe un encargo de un mueble, en qué crees que se
basa para fabricarlo? —Pregunta Ada.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 2/41
10/12/24, 13:12 eXe
Juan interviene: —Me temo que ya sé por dónde van los tiros,
Ada. ¿Con esa pregunta te estás refiriendo a los esquemas
gráficos que se deben crear para la construcción de bases de
datos?
El modelo de datos E-R representa el significado de los datos, es un modelo semántico. De ahí
que no esté orientado a ningún sistema físico concreto y tampoco tiene un ámbito informático
puro de aplicación, ya que podría utilizarse para describir procesos de producción, estructuras
de empresa, etc. Además, las características actuales de este modelo favorecen la
representación de cualquier tipo de sistema y a cualquier nivel de abstracción o refinamiento, lo
cual da lugar a que se aplique tanto a la representación de problemas que vayan a ser tratados
mediante un sistema informatizado, como manual.
Gracias al modelo Entidad-Relación, creado por Peter Chen en los años setenta, se puede
representar el mundo real mediante una serie de símbolos y expresiones determinados. El
modelo de datos Entidad/Relación (E/R ó E-R) está basado en una percepción consistente en
objetos básicos llamados entidades y relaciones entre estos objetos, estos y otros conceptos se
desarrollan a continuación.
Autoevaluación
La información con la que el modelo Entidad-Relación trabaja ha de ser lo más
detallada y fiel posible a la realidad del problema a representar.
Verdadero. Falso.
3.- Entidades.
Caso práctico
—¿Cada una de las tablas que hemos estado generando equivale a una entidad en
el modelo E/R? —Pregunta Juan.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 3/41
10/12/24, 13:12 eXe
Si utilizamos las bases de datos para guardar información sobre cosas que nos interesan o que
interesan a una organización, ¿No crees que hay que identificar esas cosas primero para poder
guardar información sobre ellas? Para ello, vamos a describir un primer concepto, el de Entidad.
Una entidad puede ser un objeto físico, un concepto o cualquier elemento que queramos
modelar, que tenga importancia para la organización y del que se desee guardar información.
Cada entidad debe poseer alguna característica, o conjunto de ellas, que lo haga único frente al
resto de objetos. Por ejemplo, podemos establecer una entidad llamada ALUMNO que tendrá
una serie de características. El alumnado podría ser distinguido mediante su número de
identificación escolar (NIE), por ejemplo.
¿Ponemos otro ejemplo? Supongamos que tienes que desarrollar el esquema conceptual para
una base de datos de mapas de montaña, los elementos: camping, pista forestal, valle, río, pico,
refugio, etc., son ejemplos de posibles entidades. A la hora de identificar las entidades, hemos
de pensar en nombres que tengan especial importancia dentro del lenguaje propio de la
organización o sistema que vaya a utilizar dicha base de datos. Pero no siempre una entidad
puede ser concreta, como un camping o un río, en ocasiones puede ser abstracta, como un
préstamo, una reserva en un hotel o un concepto.
Un conjunto de entidades serán un grupo de entidades que poseen las mismas características o
propiedades. Por ejemplo, al conjunto de personas que realizan reservas para un hotel de
montaña determinado, se les puede definir como el conjunto de entidades cliente. El conjunto de
entidades río, representará todos los ríos existentes en una determinada zona. Por lo general,
se suele utilizar el término entidad para identificar conjuntos de entidades. Cada elemento del
conjunto de entidades será una ocurrencia de entidad.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 4/41
10/12/24, 13:12 eXe
b. Entidades débiles:
Son aquellas cuya existencia depende de la existencia de otras instancias de entidad. Por
ejemplo, consideremos las entidades EDIFICIO y AULA. Supongamos que puede haber
aulas identificadas con la misma numeración pero en edificios diferentes. La numeración
de cada aula no identificará completamente cada una de ellas. Para poder identificar
completamente un aula es necesario saber también en qué edificio está localizada. Por
tanto, la existencia de una instancia de una entidad débil depende de la existencia de una
instancia de la entidad fuerte con la que se relaciona.
En el modelo E/R una entidad débil se representa con el nombre de la entidad encerrado en un
rectángulo doble. En el gráfico se muestra la representación de la entidad AULA.
Recomendación
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 5/41
10/12/24, 13:12 eXe
Tanto las entidades fuertes como las débiles se nombran habitualmente con
sustantivos en singular.
Puede ser que haya algunos conceptos que aún no hemos desarrollado
(relación, atributo y clave) y que se están utilizando para describir los tipos de
dependencias, no te preocupes, en los siguientes epígrafes te los describimos
claramente.
Autoevaluación
Identifica cuál de las siguientes entidades no podría ser considerada como entidad
débil:
PROVEEDOR (perteneciente a una base de datos de gestión de stocks).
PAGO (perteneciente a una base de datos bancaria).
FAMILIAR (perteneciente a una base de datos hospitalaria).
4.- Atributos.
Caso práctico
Juan muestra a María qué atributos han creado para la
tabla JUEGOS, pero al aplicar el modelo Entidad-Relación
se ha dado cuenta de que le falta algún atributo más.
¿Cómo guardamos información de cada entidad? A través de sus atributos. Las entidades se
representan mediante un conjunto de atributos. Éstos describen características o propiedades
que posee cada miembro de un conjunto de entidades. El mismo atributo establecido para un
conjunto de entidades o, lo que es lo mismo, para un tipo de entidad, almacenará información
parecida para cada ocurrencia de entidad. Pero, cada ocurrencia de entidad tendrá su propio
valor para cada atributo.
Atributo: Cada una de las propiedades o características que tiene un tipo de entidad
o un tipo de relación se denomina atributo; los atributos toman valores de uno o
varios dominios.
Por tanto, un atributo se utilizará para guardar información sobre alguna característica o
propiedad de una entidad o relación. Ejemplos de atributos pueden ser: altura, color, peso, DNI,
fecha, etc. todo dependerá de la información que sea necesaria almacenar.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 6/41
10/12/24, 13:12 eXe
Aunque los dominios suelen ser amplios (números enteros, reales, cadenas de caracteres, etc.),
a la hora de llevar a cabo el desarrollo de una base de datos, es mejor establecer unos límites
adecuados para que el sistema gestor de la base de datos lleve a cabo las verificaciones
oportunas en los datos que se almacenen, garantizando así la integridad de éstos.
Atributo compuesto: son atributos que pueden ser divididos en subpartes, éstas
constituirán otros atributos con significado propio. Por ejemplo, la dirección del jugador
podría considerarse como un atributo compuesto por la calle, el número y la localidad.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 7/41
10/12/24, 13:12 eXe
Autoevaluación
Rellena los huecos en blanco con los conceptos adecuados.
Si en nuestra base de datos tenemos una entidad USUARIO, los atributos password
y login deberán ser atributos ya que son imprescindibles para iniciar o jugar partidas.
En cambio, un posible atributo ranking que indique en qué posición se encuentra el
usuario entre todos los jugadores, podría considerarse un atributo si tenemos en
cuenta la puntuación obtenida por cada usuario.
4.2.- Claves.
En el apartado anterior hablábamos de un tipo de atributo especial
obligatorio, las claves o llaves. Ahora es el momento de abordar con
mayor detalle este concepto.
Por tanto, los valores de los atributos de una entidad deben ser tales que permitan identificar
unívocamente a la entidad. En otras palabras, no se permite que ningún par de entidades
tengan exactamente los mismos valores de sus atributos. Teniendo en cuenta esto, presta
atención a los siguientes conceptos:
Clave primaria (Primary Key): También llamada llave primaria o clave principal. De
todas las claves candidatas, el diseñador de la base de datos ha de escoger una,
que se denominará clave principal o clave primaria. La clave primaria es un atributo o
conjunto de ellos, que toman valores únicos y distintos para cada ocurrencia de
entidad, identificándola unívocamente. No puede contener valores nulos.
Claves alternativas: son el resto de claves candidatas que no han sido escogidas
como clave primaria.
Si se utilizan elipses para representar los atributos, se subrayarán aquellos que formen la
clave primaria.
Si se utilizan círculos para representar los atributos, se utilizará un círculo negro en
aquellos que formen la clave primaria.
Autoevaluación
Sea la entidad TRABAJADOR, con los atributos nombre, apellido_1, apellido_2, dni,
numero_afiliacion_ss, fecha_nacimiento y código_empresa. ¿Los atributos nombre,
apellido_1 y apellido_2 podrían formar una clave candidata?
Sí, y podrían ser elegidos para ser la clave primaria de TRABAJADOR.
No, para esta entidad sólo el atributo dni será la clave primaria.
No, si tenemos en cuenta que puede haber varios trabajadores con el mismo
nombre y apellidos.
Otro ejemplo típico son las relaciones que representan históricos. Este tipo de relaciones suele
constar de datos como fecha y hora. Cuando se emite una factura a un cliente o se le facilita un
duplicado de la misma, es necesario registrar el momento en el que se ha realizado dicha
acción. Para ello, habrá que crear un atributo asociado a la relación entre la entidad CLIENTE y
FACTURA que se encargue de guardar la fecha de emisión.
5.- Relaciones.
Caso práctico
María ha identificado claramente las entidades y atributos que
van a intervenir en su esquema, pero duda a la hora de
representar cómo se van a relacionar dichas entidades.
¿Cómo interactúan entre sí las entidades? A través de las relaciones. La relación o interrelación
es un elemento del modelo Entidad/Relación que permite relacionar datos entre sí. En una
relación se asocia un elemento de una entidad con otro de otra entidad.
Recomendación
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 10/41
10/12/24, 13:12 eXe
Cuando debas dar un nombre a una relación procura que éste haga referencia al
objetivo o motivo de la asociación de entidades. Se suelen utilizar verbos en singular.
Algunos ejemplos podrían ser: forman, poseen, atiende, contrata, hospeda,
supervisa, imparte, etc.
En algunas ocasiones, es interesante que en las líneas que conectan las entidades con la
relación, se indique el papel o rol que desempeña cada entidad en la relación. Como se verá
más adelante, los papeles o roles son especialmente útiles en relaciones reflexivas.
Grado de la relación.
Cardinalidad de la relación.
Cardinalidades de las entidades.
En este gráfico puedes observar cada uno de los tipos de relaciones en función de su grado y su
representación gráfica en el modelo Entidad/Relación.
Autoevaluación
Rellena los huecos con los conceptos adecuados.
En la relación unaria que puedes ver en el gráfico anterior, un empleado puede
ejercer el rol de o el rol de .
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 11/41
10/12/24, 13:12 eXe
Relaciones uno a uno (1:1). Sean las entidades A y B, una instancia u ocurrencia de la
entidad A se relaciona únicamente con otra instancia de la entidad B y viceversa. Por
ejemplo, para cada ocurrencia de la entidad ALUMNO sólo habrá una ocurrencia
relacionada de la entidad EXPEDIENTE y viceversa. O lo que es lo mismo, un alumno
tiene un expediente asociado y un expediente sólo pertenece a un único alumno.
Relaciones uno a muchos (1:N). Sean las entidades A y B, una ocurrencia de la entidad A
se relaciona con muchas ocurrencias de la entidad B y una ocurrencia de la entidad B sólo
estará relacionada con una única ocurrencia de la entidad A. Por ejemplo, para cada
ocurrencia de la entidad DOCENTE puede haber varias ocurrencias de la entidad
ASIGNATURA y para varias ocurrencias de la entidad ASIGNATURA sólo habrá una
ocurrencia relacionada de la entidad DOCENTE (si se establece que una asignatura sólo
puede ser impartida por un único docente). O lo que es lo mismo, un docente puede
impartir varias asignaturas y una asignatura sólo puede ser impartida por un único
docente.
Relaciones muchos a uno (N:1). Sean las entidades A y B, una ocurrencia de la entidad A
está asociada con una única ocurrencia de la entidad B y un ejemplar de la entidad B está
relacionado con muchas ocurrencias de la entidad A. Por ejemplo, Un JUGADOR
pertenece a un único EQUIPO y a un EQUIPO pueden pertenecer muchos jugadores.
Relaciones muchos a muchos (M:N). Sean las entidades A y B, un ejemplar de la entidad A
está relacionado con muchas ocurrencias de la entidad B y viceversa. Por ejemplo, un
alumno puede estar matriculado en varias asignaturas y en una asignatura pueden estar
matriculados varios alumnos.
La cardinalidad de las relaciones puede representarse de varias maneras en los esquemas del
modelo Entidad/Relación. A continuación, te ofrecemos un resumen de las notaciones
clasificadas por autores, más empleadas en la representación de cardinalidad de relaciones.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 12/41
10/12/24, 13:12 eXe
Cardinalidad mínima. Indica el número mínimo de asociaciones en las que aparecerá cada
ocurrencia de la entidad (el valor que se anota es de cero o uno, aunque tenga una
cardinalidad mínima de más de uno, se indica sólo un uno). El valor 0 se pondrá cuando la
participación de la entidad sea opcional.
Cardinalidad máxima. Indica el número máximo de relaciones en las que puede aparecer
cada ocurrencia de la entidad. Puede ser uno, otro valor concreto mayor que uno (tres por
ejemplo) o muchos (se representa con n).
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 13/41
10/12/24, 13:12 eXe
Autoevaluación
Supongamos que seguimos diseñando una base de datos para un sitio de juegos
online. En un punto del proceso de diseño se ha de modelar el siguiente requisito:
cada usuario registrado podrá crear las partidas que desee (a las que otros usuarios
pueden unirse), pero una partida solo podrá estar creada por un único usuario. Un
usuario podrá o no crear partidas. ¿Cuáles serían las etiquetas del tipo (cardinalidad
mínima, cardinalidad máxima) que deberían ponerse junto a las entidades USUARIO
y PARTIDA respectivamente, si éstas están asociadas por la relación CREAR
(partida)?
(1,N) y (0,N)
(1,1) y (1,N)
(1,1) y (0,N)
Caso práctico
María acaba de venir de comprar un tablón de anuncios
de corcho. Va a colgarlo cerca su puesto de trabajo,
junto al de Juan.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 14/41
10/12/24, 13:12 eXe
¿Recuerdas todos y cada uno de los símbolos que hemos utilizado a lo largo de esta unidad?
Es probable que no. Para facilitar tu aprendizaje, te ofrecemos a continuación un resumen
básico de los símbolos utilizados en el modelo Entidad/Relación. Verás que existen diferentes
maneras de representar los mismos elementos, las que aquí se resumen te servirán para
interpretar la gran mayoría de esquemas con los que te puedas encontrar.
Caso práctico
Cuando la representación de determinadas entidades y relaciones se complique, los
miembros de BK Programación necesitarán aplicar alguna técnica adicional que les
permita realizar un modelado adecuado del problema. Ada, está preparando una
presentación en soporte informático con la que enseñará a Juan y María las nuevas
posibilidades que les brinda el modelo Entidad-Relación Extendido.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 15/41
10/12/24, 13:12 eXe
Hemos visto que a través del modelo Entidad/Relación se pueden modelar la gran mayoría de
los requisitos que una base de datos debe cumplir. Pero existen algunos que ofrecen especial
dificultad a la hora de representarlos a través de la simbología tradicional del modelo E/R. Para
solucionar este problema, en el modelo Entidad/Relación Extendido se han incorporado nuevas
extensiones que permiten mejorar la capacidad para representar circunstancias especiales.
Estas extensiones intentan eliminar elementos de difícil o incompleta representación a través de
la simbología existente, como por ejemplo relaciones con cardinalidad N:M, o la no identificación
clara de entidades.
a. Restricción de exclusividad.
Cuando existe una entidad que participa en dos o más
relaciones y cada ocurrencia de dicha entidad sólo puede
pertenecer a una de las relaciones únicamente, decimos
que existe una restricción de exclusividad. Si la ocurrencia
de entidad pertenece a una de las relaciones, no podrá formar parte de la otra. O se
produce una relación o se produce otra pero nunca ambas a la vez.
Por ejemplo, supongamos que un músico puede dirigir una orquesta o tocar en en ella,
pero no puede hacer las dos cosas simultáneamente. Existirán por tanto, dos relaciones
dirige y toca, entre las entidades MUSICO y ORQUESTA, estableciéndose una relación de
exclusividad entre ellas.
b. Restricción de exclusión.
Este tipo de restricción se produce cuando las ocurrencias de las entidades sólo pueden
asociarse utilizando una única relación.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 16/41
10/12/24, 13:12 eXe
Siguiendo con el ejemplo anterior, supongamos que para que un monitor pueda impartir
cursos de cocina sea necesario que reciba previamente dos cursos: nutrición y primeros
auxilios. Como puedes ver, es posible que los cursos que el monitor deba recibir no tengan
que ser los mismos que luego pueda impartir. Aplicando una restricción de inclusividad
entre las relaciones imparte y recibe, estaremos indicando que cualquier ocurrencia de la
entidad MONITOR que participa en una de las relaciones (imparte) tiene que participar
obligatoriamente en la otra (recibe).
Se representará mediante un arco acabado en flecha, que partirá desde la relación que ha
de cumplirse primero hacia la otra relación. Se indicará junto al arco la cardinalidad mínima
y máxima de dicha restricción de inclusividad. En el ejemplo, (2,n) indica que un monitor
ha de recibir 2 cursos antes de poder impartir varios.
d. Restricción de inclusión.
En algunas ocasiones aplicar una restricción de inclusividad no representa totalmente la
realidad a modelar, entonces se hace necesario aplicar una restricción de inclusión que es
aún más fuerte.
Autoevaluación
Supongamos que hemos de modelar mediante el modelo Entidad/Relación
Extendido el siguiente requerimiento de una base de datos: Para que un hombre se
divorcie de una mujer, primero ha de haber estado casado con ella.
Las entidades participantes son MUJER y HOMBRE, que estarán asociadas a través
de dos relaciones: se casa, se divorcia. No tendremos en cuenta la cardinalidad de
ambas relaciones.
¿Qué tipo de restricción sobre las relaciones hemos de establecer en nuestro
esquema para representar correctamente este requisito?
Restricción de exclusividad.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 17/41
10/12/24, 13:12 eXe
Restricción de inclusividad.
Restricción de inclusión.
Cuando estamos diseñando una base de datos puede que nos encontremos con conjuntos de
entidades que posean características comunes, lo que permitiría crear un tipo de entidad de
nivel más alto que englobase dichas características. Y a su vez, puede que necesitemos dividir
un conjunto de entidades en diferentes subgrupos de entidades por tener éstas, características
diferenciadoras. Este proceso de refinamiento ascendente/descendente, permite expresar
mediante la generalización la existencia de tipos de entidades de nivel superior que engloban a
conjuntos de entidades de nivel inferior. A los conjuntos de entidades de nivel superior también
se les denomina superclase o supertipo. A los conjuntos de entidades de nivel inferior se les
denomina subclase o subtipo.
Por tanto, existirá la posibilidad de realizar una especialización de una superclase en subclases,
y análogamente, establecer una generalización de las subclases en superclases. La
generalización es la reunión en una superclase o supertivo de entidad de una serie de subclases
o subtipos de entidades, que poseen características comunes. Las subclases tendrán otras
características que las diferenciarán entre ellas.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 18/41
10/12/24, 13:12 eXe
Debes conocer
Las diferentes restricciones semánticas descritas tienen su representación gráfica, a
través del gráfico que a continuación te mostramos podrás entender mejor su
funcionamiento.
Ejercicio resuelto
Supongamos la existencia de dos entidades TURISMO y CAMION. Los atributos de
la entidad TURISMO son: Num_bastidor, Fecha_fab, precio y Num_puertas. Los
atributos de la entidad CAMION son: Num_bastidor, Fecha_fab, precio, Num_ejes y
Tonelaje.
Si analizamos ambas entidades existen algunos atributos comunes y otros que no.
Por tanto, podremos establecer una jerarquía. Para ello, reuniremos los atributos
comunes y los asociaremos a una nueva entidad superclase denominada
VEHICULO. Las subclases TURISMO y CAMI0N, con sus atributos específicos,
quedarán asociadas a la superclase VEHICULO mediante una jerarquía parcial con
solapamiento. En el siguiente gráfico puedes apreciar la transformación.
7.3.- Agregación.
Abordamos ahora la tercera de las extensiones del modelo
Entidad/Relación Extendido, la Agregación. En el modelo
Entidad/Relación no es posible representar relaciones entre
relaciones. La agregación es una abstracción a través de la
cual las relaciones se tratan como entidades de nivel más
alto, siendo utilizada para expresar relaciones entre
relaciones o entre entidades y relaciones.
Como has podido observar, la representación gráfica de una agregación se caracteriza por
englobar con un rectángulo las entidades y relación a abstraer. De este modo, se crea una
nueva entidad agregada que puede participar en otras relaciones con otras entidades. En este
tipo de relación especial de agregación, la cardinalidad máxima y mínima de la entidad
agregada siempre será (1,1) no indicándose por ello en el esquema.
Autoevaluación
Si hemos de representar a través del modelo E/R Extendido los alumnos
pertenecientes a una clase, podríamos utilizar una agregación del tipo
Compuesto/Componente. ¿Verdadero o Falso?
Verdadero. Falso.
Caso práctico
–La verdad es que a través del esquema que estamos generando, queda más claro
cómo es cada entidad y cada relación. Aplicando estas técnicas creo que vamos a ir
afianzando un método fiable que podremos aplicar en futuros desarrollos – afirma
Juan.
Ada, está echando un vistazo a lo que llevan hecho Juan y María. – Efectivamente
Juan, hay que ser metódicos y no descartar ningún paso, pues podríamos provocar
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 21/41
10/12/24, 13:12 eXe
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 22/41
10/12/24, 13:12 eXe
¿Esto puede ser una entidad o no? Es una pregunta que se repite mucho cuando estamos
en esta etapa. Algunos autores indican que para poder considerarse como entidad se
deben cumplir tres reglas:
Existencia propia.
Cada ejemplar de un tipo de entidad debe poder ser diferenciado del resto de
ejemplares.
Todos los ejemplares de un tipo de entidad deben tener las mismas propiedades.
El número de entidades obtenidas debe ser manejable y según se vayan identificando se
les otorgará nombres, preferiblemente en mayúsculas, representativos de su significado o
función. De esta manera el diagrama será cada vez más legible.
b. Identificación de relaciones: Localizadas las entidades, debemos establecer qué relación
existe entre ellas. Para ello, analizaremos de nuevo el documento de especificación de
requerimientos en busca de verbos o expresiones verbales que conecten unas entidades
con otras. En la gran mayoría de ocasiones encontraremos que las relaciones se
establecen entre dos entidades (relaciones binarias), pero prestaremos especial atención a
las relaciones entre más entidades y a las relaciones recursivas o relaciones unarias.
Cada una de las relaciones establecidas deberá tener asignado un nombre,
preferiblemente en minúsculas, representativo de su significado o acción.
Reflexiona
En ocasiones, el identificador de una relación está compuesto por varias palabras,
como por ejemplo: es supervisado, trabaja para, etc. Es recomendable que utilices
guiones bajos para unir las palabras que forman el identificador.
Autoevaluación
Rellena los huecos con los conceptos adecuados.
Las entidades suelen localizarse en el documento de especificación de
requerimientos a través de y las relaciones a través de . Pero hemos de tener
cuidado, no siempre los representarán entidades, pues podría tratarse de atributos.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 23/41
10/12/24, 13:12 eXe
Nombre y descripción.
Atributos simples que lo componen, si es atributo compuesto.
Método de cálculo, si es atributo derivado o calculado.
En el caso de encontrar atributos asociados a relaciones con cardinalidad uno a muchos,
se valorará asignar ese atributo o atributos a la entidad con mayor cardinalidad
participante en la relación.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 24/41
10/12/24, 13:12 eXe
8.3.- Metodologías.
Hasta aquí, tenemos identificados los elementos necesarios para construir
nuestro diagrama, pero ¿Existe alguna metodología para llevarlo a cabo?
Sí, y además podremos utilizar varias. Partiremos de una versión preliminar
del esquema conceptual o diagrama E/R que, tras sucesivos refinamientos,
será modificado para obtener el diagrama E/R definitivo. Las metodologías
o estrategias disponibles para la elaboración del esquema conceptual son
las siguientes:
¿Cuál de estas metodologías utilizar? Cualquiera de ellas puede ser válida, todo dependerá de
lo fácil y útil que te resulte aplicarlas. Probablemente y, casi sin ser consciente de ello, tú mismo
crearás tu propia metodología combinando las existentes. Pero, como decíamos hace algunos
epígrafes, la práctica es fundamental. Realizando gran cantidad de esquemas, analizándolos y
llevando a cabo modificaciones en ellos es como irás refinando tu técnica de elaboración de
diagramas E/R. Llegará un momento en que sólo con leer el documento de especificación de
requerimientos serás capaz de ir construyendo en tu mente cómo será su representación sobre
el papel, pero paciencia y ve paso a paso.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 25/41
10/12/24, 13:12 eXe
Autoevaluación
Rellena los huecos con los conceptos adecuados.
La metodología en la que se parte de un alto nivel de abstracción y que, tras un
proceso de refinamiento sucesivo, se obtiene el esquema final se denomina:
.
Para que una base de datos funcione óptimamente, hay que empezar realizando un buen
diseño de ella. Es imprescindible que nuestros diagramas E/R controlen la redundancia y, para
ello, debemos analizar el esquema y valorar qué elementos pueden estar incorporando
redundancia a nuestra solución.
Pero hay que tener en cuenta que no siempre que exista un ciclo estaremos ante una
redundancia. Es necesario analizar detenidamente dicho ciclo para determinar si realmente
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 26/41
10/12/24, 13:12 eXe
existe o no redundancia.
Autoevaluación
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 27/41
10/12/24, 13:12 eXe
Si en un diagrama E/R asociamos un atributo a una entidad, pero este atributo debe
asociarse realmente a una relación en la que interviene dicha entidad, estaríamos
incumpliendo la propiedad de:
Completitud.
Corrección semántica.
Corrección sintáctica.
Caso práctico
Juan y María ya han terminado de elaborar el diagrama
E/R, con la ayuda de Ada. Las últimas modificaciones
hechas en éste garantizan que todas las condiciones
establecidas en el documento de especificación de
requerimientos han sido representadas adecuadamente.
Para esta transformación será necesario realizar una serie de pasos preparatorios sobre el
esquema conceptual obtenido en la fase de diseño conceptual. Nos centraremos en la
simplificación y transformación del esquema para que el paso hacia el modelo de datos elegido
(en este caso el modelo relacional) sea mucho más sencilla y efectiva.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 28/41
10/12/24, 13:12 eXe
Entonces, ¿qué pasos son los siguientes a dar? Resumiendo un poco, simplificaremos nuestro
diagrama E/R, lo transformaremos al modelo relacional, aplicaremos normalización y
obtendremos lo que se conoce en el argot como el paso a tablas del esquema conceptual o, lo
que es lo mismo, el esquema lógico. Desde ese momento, basándonos en este esquema,
podremos llevarnos nuestra base de datos a cualquier SGBD basado en el modelo relacional e
implementarla físicamente. Esta implementación física será totalmente dependiente de las
características del SGBD elegido.
Veamos detalladamente cómo llevar a cabo las transformaciones de las que hemos estado
hablando:
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 29/41
10/12/24, 13:12 eXe
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 30/41
10/12/24, 13:12 eXe
Autoevaluación
Sea la entidad ALUMNADO que participa en la relación COLABORA con otra entidad
llamada GRUPO_TRABAJO. Un alumno o alumna puede colaborar en varios grupos
de trabajo simultáneamente y, a su vez, en un grupo de trabajo pueden colaborar un
número indeterminado de alumnos. Se necesita registrar los días en los que el
alumnado colabora con cada grupo de trabajo, para ello se asocia a la relación
COLABORA un atributo denominado fecha_colaboración. Este atributo registrará en
qué fecha un determinado alumno/a ha colaborado en un determinado grupo de
trabajo.
¿Si tuvieras que hacer la transformación de esta parte del esquema conceptual para
eliminar la relación M a N COLABORA, dónde colocarías el atributo
fecha_colaboración?
En la entidad ALUMNADO, ya que en esta entidad es donde se almacenan
todos los datos asociados al alumnado. Si consultamos el alumno o alumna,
sabremos cuándo a colaborado en un grupo.
En una nueva entidad que es combinación de ALUMNADO y
GRUPO_TRABAJO, a la que podríamos llamar ALUMNADO_GRUPO.
En la entidad GRUPO_TRABAJO.
Modificado (ECM) en el que sólo existirán exclusivamente entidades fuertes con sus atributos y
relaciones jerárquicas (1 a N). Pues bien, la aplicación del modelo de datos Relacional es
automática, para ello se deben tener en cuenta las siguientes cuestiones:
Cada entidad débil generará una tabla que incluirá todos sus atributos, añadiéndose a ésta
los atributos que son clave primaria de la entidad fuerte con la que esté relacionada. Estos
atributos añadidos se constituyen como clave foránea que referencia a la entidad fuerte.
Seguidamente, se escogerá una clave primaria para la tabla creada.
Las relaciones Uno a Uno podrán generar una nueva tabla o propagar la clave en función
de la cardinalidad de las entidades.
Las relaciones Uno a Muchos podrán generar una nueva tabla o propagar la clave.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 32/41
10/12/24, 13:12 eXe
Las relaciones reflexivas o cíclicas podrán generar una o varias tablas en función de la
cardinalidad de la relación.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 33/41
10/12/24, 13:12 eXe
Las relaciones Muchos a Muchos se transforman en una tabla que tendrá como clave
primaria las claves primarias de las entidades que asocia.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 34/41
10/12/24, 13:12 eXe
Ejercicio
g p
resuelto
entidades, obtén el paso a tablas de dicho esquema:
Caso práctico
En estos primeros desarrollos Ada debe estar muy
pendiente del trabajo que están realizando Juan y María. El
proceso de transformación del Esquema Conceptual
Modificado al modelo Relacional, requiere cierta experiencia
y concentración. Dada su importancia y dificultad, este
paso deben llevarlo a cabo de manera tranquila y
comentando en grupo las diferentes operaciones que van a
ir realizando.
¿Crees que tu base de datos ya podría construirse directamente sobre el SGBD relacional que
hayas elegido? La respuesta podría ser afirmativa, pero si queremos que nuestra base de datos
funcione con plena fiabilidad, es necesario antes llevar a cabo un proceso de normalización de
las tablas que la componen.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 35/41
10/12/24, 13:12 eXe
Normalización: Proceso que consiste en imponer a las tablas del modelo Relacional
una serie de restricciones a través de un conjunto de transformaciones consecutivas.
Este proceso garantizará que las tablas contienen los atributos necesarios y
suficientes para describir la realidad de la entidad que representan, permitiendo
separar aquellos atributos que por su contenido podrían generar la creación de otra
tabla.
A principios de la década de los setenta, concretamente en 1972, Codd establece una técnica
para llevar a cabo el diseño de la estructura lógica de los datos representados a través del
modelo relacional, a la que denominó normalización. Pero esta técnica no ha de utilizarse para
el diseño de la base de datos, sino como un proceso de refinamiento que debe aplicarse
después de lo que conocemos como “paso a tablas”, o lo que formalmente se denomina
traducción del esquema conceptual al esquema lógico. Este proceso de refinamiento conseguirá
los siguientes objetivos:
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 36/41
10/12/24, 13:12 eXe
Para ilustrar los tipos de dependencias descritas, analiza el siguiente ejercicio resuelto.
Ejercicio
g
resuelto
EMPLEADO( DNI, Nombre, Dirección, Localidad, Cod_Localidad, Nombre_hijo,
Edad_hijo)
LIBRO (Título_libro, Num_ejemplar, Autor, Editorial, Precio)
Apartado a)
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 37/41
10/12/24, 13:12 eXe
Apartado b)
Apartado c)
a. Se crea, a partir de la tabla inicial, una nueva tabla cuyos atributos son los que presentan
dependencia funcional de la clave primaria. La clave de esta tabla será la misma clave
primaria de la tabla inicial. Esta tabla ya estará en 1FN.
b. Con los atributos restantes se crea otra tabla y se elije entre ellos uno que será la clave
primaria de dicha tabla. Comprobaremos si esta segunda tabla está en 1FN. Si es así, la
tabla inicial ya estará normalizada a 1FN y el proceso termina. Si no está en 1FN,
tomaremos la segunda tabla como tabla inicial y repetiremos el proceso.
2ª Forma Normal: Una tabla está en Segunda Forma Normal (2FN o FN2) sí, y sólo sí, está en
1FN y, además, todos los atributos que no pertenecen a la clave dependen funcionalmente de
forma completa de ella. Es obvio que una tabla que esté en 1FN y cuya clave esté compuesta
por un único atributo, estará en 2FN. ¿Cómo se normaliza a Segunda Forma Normal?
a. Se crea, a partir de la tabla inicial, una nueva tabla con los atributos que dependen
funcionalmente de forma completa de la clave. La clave de esta tabla será la misma clave
primaria de la tabla inicial. Esta tabla ya estará en 2FN.
b. Con los atributos restantes, se crea otra tabla que tendrá por clave el subconjunto de
atributos de la clave inicial de los que dependen de forma completa. Se comprueba si esta
tabla está en 2FN. Si es así, la tabla inicial ya está normalizada y el proceso termina. Si no
está en 2FN, tomamos esta segunda tabla como tabla inicial y repetiremos el proceso.
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 38/41
10/12/24, 13:12 eXe
3ª Forma Normal: Una tabla está en Tercera Forma Normal (3FN o FN3) sí, y sólo sí, está en
2FN y, además, cada atributo que no está en la clave primaria no depende transitivamente de la
clave primaria. ¿Cómo se normaliza a Tercera Forma Normal?
a. Se crea, a partir de la tabla inicial, una nueva tabla con los atributos que no poseen
dependencias transitivas de la clave primaria. Esta tabla ya estará en 3FN.
1. Con los atributos restantes, se crea otra tabla con los dos atributos no clave que
intervienen en la dependencia transitiva, y se elije uno de ellos como clave primaria, si
cumple los requisitos para ello. Se comprueba si esta tabla está en 3FN. Si es así, la tabla
inicial ya está normalizada y el proceso termina. Si no está en 3FN, tomamos esta
segunda tabla como tabla inicial y repetiremos el proceso.
Forma Normal de Boyce Codd: Una tabla está en Forma Normal de Boyce-Codd (FNBC o
BCFN) sí, y sólo sí, está en 3FN y todo determinante es una clave candidata. Un determinante
será todo atributo simple o compuesto del que depende funcionalmente de forma completa
algún otro atributo de la tabla. Aquellas tablas en la que todos sus atributos forman parte de la
clave primaria, estarán en FNBC. Por tanto, si encontramos un determinante que no es clave
candidata, la tabla no estará en FNBC. Esta redundancia suele ocurrir por una mala elección de
la clave. Para normalizar a FNBC tendremos que descomponer la tabla inicial en dos, siendo
cuidadosos para evitar la pérdida de información en dicha descomposición.
Existen también la Cuarta Forma Normal (4FN o FN4), Quinta Forma Normal (5FN o FN5) y
Forma Normal de Dominio-Clave (DKFN), aunque se ha recomendado normalizar hasta 3FN o
FNBC. La 4FN se basa en el concepto de Dependencias Multivaluadas, la 5FN en las
Dependencias de Join o de reunión y la DKFN en las restricciones impuestas sobre los dominios
y las claves.
Ejercicio resuelto
g
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 39/41
10/12/24, 13:12 eXe
Comprobamos 1FN:
La tabla COMPRAS está en 1FN ya que todos sus atributos son atómicos y
todos los atributos no clave dependen funcionalmente de la clave.
Comprobamos 2FN:
Una vez hecha esta descomposición, ambas tablas están en 2FN. Todos los
atributos no clave dependen de toda la clave primaria.
Comprobamos 3FN:
PRODUCTO está en 3FN, ya que por el número de atributos que tiene no
puede tener dependencias transitivas.
¿COMPRA1 está en 3FN? Hemos de preguntarnos si existen dependencias
transitivas entre atributos no clave.
cod_prov → nomb_prov
cod_prov → tfno
(siendo cod_prov el código del proveedor y nomb_prov el nombre del
proveedor)
Comprobamos FNBC:
La tabla inicial COMPRAS queda normalizada hasta FNBC del siguiente modo:
cod_prov)
PROVEEDOR (cod_prov, nomb_prov, tfno)
Autoría: NASA
Licencia: Dominio Público.
Procedencia: http://commons.wikimedia.org/wiki/File:Aldrin_Apollo_11_original.j
Autoría: http://www.flickr.com/photos/d_vdm/
Licencia: Creative Commons Attribution-Share Alike 2.0 Generic
Procedencia: http://commons.wikimedia.org/wiki/File:Frank_Zane.jpg
Autoría: Eduloqui
Licencia: Creative Commons Attribution 3.0 Unported
Procedencia: http://commons.wikimedia.org/wiki/File:Password.png
Autoría: Delaroche.
Licencia: Dominio público.
Procedencia:
http://commons.wikimedia.org/wiki/File:Napoleonbonaparte_coloured_drawing.p
https://aulasfp2425.castillalamancha.es/blocks/recopila/view.php?id=112869 41/41