Presentacion Tema 4

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 40

Grado en Información y

Documentación:
33846 - Bases de datos

Curso académico: 2021-2022

Ariadna Fuertes Seder


Ariadna.Fuertes@uv.es

Departament d’Informàtica
Escola Tècnica Superior d’Enginyeria
Universitat de València
Tema 4: Diseño lógico de Bases
de Datos. Modelo Relacional
◼ Diseño lógico
◼ El modelo relacional
◦ Introducción
◦ Estructura
◦ Dominios
◦ Relaciones
◦ Base de datos relacional
◦ Reglas de integridad relacional
◦ Regla de integridad de las relaciones
◦ Regla de integridad referencial
◦ Manipulación
◼ Principios básicos de diseño lógico
Ariadna Fuertes Seder BBDD Universitat de València
Diseño lógico
 El diseño lógico consiste en una transformación de
modelos.
◦ Se debe convertir el modelo conceptual (en nuestro caso el
modelo E/R) al modelo de la base de datos para el que se está
diseñando, en nuestro caso modelo relacional.

 Será necesario comprobar que el modelo lógico resultante


garantiza las propiedades de eliminación de redundancias,
accesibilidad sencilla de los datos, etc.
◦ Para ello, en el caso de bases de datos relacionales,
recurriremos a la teoría de la normalización, que nos
permitirá obtener las mejores relaciones posibles para un
esquema lógico.

Ariadna Fuertes Seder BBDD Universitat de València 3


Modelo Relacional. Introducción
 El modelo relacional es una forma de estructurar los datos;
es decir, es una receta para representar los datos (tablas), y
la receta para manipular esa representación (álgebra
relacional).
 El Modelo de Datos Relacional es la teoría formal que
constituye los cimientos de los sistemas relacionales.
 Reseñas históricas del Modelo de Datos Relacional:
◦ Años 70: Propuesto por E. Codd en 1970. Está basado en dos ramas
de las matemáticas: la teoría de conjuntos y la lógica de predicados
de primer orden.
◦ Años 80: Se populariza en la práctica (Oracle, Informix, ...). ANSI
define el estándar SQL.
◦ Años 90: Generalización y estandarización (SQL92) y extensiones
del mismo.
Ariadna Fuertes Seder BBDD Universitat de València 4
Modelo Relacional. Introducción
 Razones del éxito del modelo relacional:
◦ Sencillez, una base de datos es un conjunto de tablas.
◦ Modelo teórico sobre el que se sustenta. Su base matemática.
◦ Hace que el modelo sea predecible, fiable y seguro.

 Tres aspectos de los datos de los que se ocupa el


modelo relacional :
◦ De su estructura
◦ De su integridad y
◦ De su manipulación.

Ariadna Fuertes Seder BBDD Universitat de València 5


La estructura relacional
 Base del modelo relacional:
◦ Concepto de RELACIÓN
 Representación:
Columnas → Representan las propiedades
de las tablas
NOMBRE
Atributo 1 Atributo 2 ... Atributo n
xxx xxx ... xxx Tupla 1
xxx xxx ... xxx Tupla 2
... ... ... ... ...
xxx xxx ... xxx Tupla m

Filas → Contienen los valores que toma


cada atributo para cada relación
Ariadna Fuertes Seder BBDD Universitat de València 6
La estructura relacional
 Términos importantes en la estructura de datos
relacional:
◦ Relación. Corresponde con la idea general de una tabla
◦ Tupla. Corresponde a una fila en dicha tabla
◦ Atributo. Es una columna de la tabla
◦ Cardinalidad. Numero de tuplas en la tabla (m)
◦ Grado. Numero de atributos en la tabla (n)
◦ Clave primaria. Es un identificador único para la tabla,
esto es, no hay dos tuplas con igual identificador.
◦ Dominio. Una colección de valores de los cuales uno o
más atributos obtienen sus valores reales.
Ariadna Fuertes Seder BBDD Universitat de València 7
Ejemplo: La relación “persona”
Atributos Grado 6
Persona
1 2 3 4 5 6
DNI Nombre Apellidos Dirección Teléfono Nacimiento
14.167.654 Alberto Gómez Pedrones, 4 963787878 23/02/1958
1 Martínez

2 64.237.935 Luisa Ripoll Albert Denia, 64 963573895 12/06/1963


45.126.579 José Pérez Cerdán Escandinavia, 963873333 12/06/1963
3
4 Luis 12
67.677.887 Andrea Martínez Poeta Más 963772564 10/02/1965
4 Zanón Gil, 37

Cardinalidad 4 Clave primaria → DNI


Tupla
Dominios:
nombre, apellidos, dirección → texto
DNI → entero
teléfono → entero de 9 dígitos
Nacimiento → fecha
Ariadna Fuertes Seder BBDD Universitat de València 8
La estructura relacional
 Gráficamente representamos las relaciones mediante tablas.
PERO…
 Relación  Tabla
 Propiedades de las relaciones:
◦ No se admiten filas duplicadas
◦ Las filas y columnas no están ordenadas
◦ El cruce entre una fila y una columna solo puede ser un único valor
 Comparación de terminología:
RELACIÓN TABLA FICHERO

TUPLA FILA REGISTRO


ATRIBUTO COLUMNA CAMPO
GRADO Nº DE COLUMNAS Nº DE CAMPOS
CARDINALIDAD Nº DE FILAS Nº DE REGISTROS

Ariadna Fuertes Seder BBDD Universitat de València 9


Dominios
 El valor de un dato individual es la menor unidad semántica
de información. A estos valores los llamaremos valores
escalares.
 Definición:
◦ Un dominio es un conjunto de valores escalares, todos ellos del
mismo tipo.
 Cada atributo de una relación está definido sobre un único
dominio y toma sus valores reales del dominio.
 Si los atributos podían ser simples o compuestos, entonces:
◦ Un dominio simple es un dominio de valores escalares.
◦ Un dominio compuesto se define como una combinación de dominios
simples.
 Ejemplo: La fecha (entero/entero/entero)

Ariadna Fuertes Seder BBDD Universitat de València 10


Ejemplos de dominios
 Dada la anterior relación “persona”, podríamos
especificar más los dominios como:

 Fijarse que:
◦ Cada atributo tiene asociado un dominio.
◦ Varios atributos pueden asociarse con el mismo dominio.
◦ Estos dominios pueden ser simples o compuestos.
Ariadna Fuertes Seder BBDD Universitat de València 11
Relaciones
 Una Relación sobre un conjunto de dominios D1,D2, · · ·Dn se
compone de dos partes: la cabecera y el cuerpo.
 La cabecera está formada por un conjunto fijo de pares
atributo-dominio (viene a ser la fila de cabeceras de columnas).
entero 9 dígitos texto texto texto entero fecha
DNI Nombre Apellidos Dirección Teléfono Nacimiento

 Def. Formal: Conjunto fijo de pares atributos-dominio


{(A1 : D1), (A2 : D2), · · · (An : Dn)}, de forma que a cada
atributo Aj le corresponde uno y sólo uno de los
dominios subyacentes Dj (j = 1 · · · , n).
Ariadna Fuertes Seder BBDD Universitat de València 12
Relaciones
 El cuerpo está formado por el conjunto variable de tuplas (sería
el conjunto de filas de datos) que a su vez están formadas por los
pares atributo-valor, uno para cada atributo de la cabecera.
Valor 14.167.654 para el atributo DNI
DNI Nombre Apellidos Dirección Teléfono Nacimiento
14.167.654 Alberto Gómez Martínez Pedrones, 4 963787878 23/02/1958
64.237.935 Luisa Ripoll Albert Denia, 64 963573895 12/06/1963
45.126.579 José Luis Pérez Cerdán Escandinavia, 12 963873333 12/06/1963

67.677.887 Andrea Martínez Zanón Poeta Más Gil, 37 963772564 10/02/1965

 Consideraciones:
◦ El número de tuplas que hay en el cuerpo puede variar con el
tiempo y nos indica la cardinalidad de la relación.
◦ El número de atributos que tenemos en la cabecera, el cual no
cambia, nos indica el grado.
Ariadna Fuertes Seder BBDD Universitat de València 13
Relaciones
 Propiedades derivadas de la definición de “relación”
◦ No existen tuplas repetidas.
La existencia de una clave primaria impide que existan tuplas
repetidas.
◦ Las tuplas no están ordenadas.
Una relación está definida como un conjunto, y en un
conjunto no se establece una relación de orden .
◦ Los atributos no están ordenados. Puesto que la cabecera de
una relación también se define como un conjunto, no existe
un orden preestablecido.
◦ Todos los valores de los atributos son atómicos.
Otra forma de expresar esta propiedad es diciendo que todos
los valores de los atributos simples son atómicos, sólo toman
un valor en cada caso.
Ariadna Fuertes Seder BBDD Universitat de València 14
Relaciones
 Tipos de relaciones...
◦ Relaciones base: con nombre, reales y autónoma (parte
directa de la BD, a diferencia de otras relaciones cuya existencia
es más efímera).
◦ Vistas: Es una relación derivada, con nombre pero virtual.
◦ Instantáneas: con nombre, derivadas y reales.
◦ Resultados de una consulta: Es una relación final resultante
de alguna consulta especificada. Puede o no tener nombre. No
tienen persistencia en la BD.
◦ Resultados intermedios: son relaciones resultantes de alguna
expresión relacional anidada dentro de alguna expresión
relacional mayor.
◦ Temporales: con nombre, se destruyen automáticamente en el
momento apropiado.
Ariadna Fuertes Seder BBDD Universitat de València 15
Ejemplo de cabecera y cuerpo de
una relación

 La relación OFICINA tiene la siguiente cabecera:


{(Oid:DOM_OFICINA),(Calle:DOM_CALLE),(Area:DOM_AREA),
(Población: DOM_POB), (Telefono: DOM_TEL_FAX),
(Fax:DOM_TEL_FAX)}
 y una de sus tuplas:
{(Oid:1),(Calle:Lérida),(Área:46009),(Ciudad:Valencia),
(Telefono:963298989), (Fax:963298989)}
 Este conjunto de pares no está ordenado, por lo que la siguiente tupla es
la misma:
{(Telefono:963298989),(Área:46009),(Ciudad:Valencia),(Oid:1),
(Calle:Lérida), (Fax:963298989)}
Ariadna Fuertes Seder BBDD Universitat de València 16
Concepto de valor nulo
 No es exclusivo del modelo relacional, pero
en este contexto es dónde se ha abordado su
estudio de manera más sistemática y donde se
están realizando más investigaciones a fin de
formalizar su tratamiento.
 ¿Qué es el valor nulo?
 Definición:
Es como una señal utilizada para representar
información desconocida, inaplicable, inexistente,
no válida, no proporcionada, indefinida, etc.
Ariadna Fuertes Seder BBDD Universitat de València 17
Concepto de valor nulo
 ¿Por qué es necesario el valor nulo?
 Motivos de necesidad en las B.D.:
◦ Crear tuplas con ciertos atributos desconocidos en ese momento.
◦ P.ej. Nueva persona sin teléfono
◦ Añadir un nuevo atributo a una relación existente (al añadirse, no
tiene ningún valor para las tuplas de la relación).
◦ P.ej. Añadir Profesión
◦ Atributos inaplicables a ciertas tuplas.
◦ P.ej. la profesión para un menor

 ¿Cómo se trabaja con el valor nulo?


◦ El tratamiento de valores nulos exige definir unas operaciones
específicas para el caso de que alguno de los operandos tome
valores nulos, y a introducir operadores especiales.
Ariadna Fuertes Seder BBDD Universitat de València 18
Concepto de valor nulo
 Por ejemplo: Operación de comparación
persona DNI Nombre Apellidos Dirección Teléfono Nacimiento

14.167.654 Alberto Gómez Martínez Pedrones, 4 23/02/1958

64.237.935 Luisa Ripoll Albert Denia, 64 12/06/1963

45.126.579 José Luis Pérez Cerdán Escandinavia, 12 963873333 12/06/1963

67.677.887 Andrea Martínez Zanón Poeta Más Gil, 37 963772564 10/02/1965

 Pregunta:
◦ ¿Es el teléfono de Alberto igual al de Luisa?
 Respuesta:
◦ No podemos decir que es cierto que sean iguales puesto que estaríamos
afirmando que no son valores “tan desconocidos”...
◦ Pero tampoco podemos decir que es falso que sean iguales...
◦ La única solución que nos queda es decir que quizá sean iguales.
Introduciremos operadores especiales que respondan a la pregunta:
¿Es un “valor desconocido”?
Ariadna Fuertes Seder BBDD Universitat de València 19
Bases de Datos Relacionales
 Definición
◦ Una base de datos relacional es una base de
datos percibida por el usuario como una
colección de relaciones normalizadas de diversos
grados que varía con el tiempo.
◦ Importante el concepto de “percibida por el
usuario” puesto que el modelo relacional se
aplica a los niveles conceptual y externo.

Ariadna Fuertes Seder BBDD Universitat de València 20


Reglas de integridad relacional
 Vamos a ampliar la definición de base de datos relacional
para incluir ciertas reglas de integridad con el propósito de
informar al DBMS de ciertas restricciones del mundo real
para que se puedan impedir esas ocurrencias de valores.
 La mayoría de las reglas son específicas (se aplican a una
BD concreta).
 El modelo relacional incluye dos reglas generales de
integridad, que se aplican a cualquier BD. Se basan en el
concepto de clave:
◦ Clave primaria: regla de integridad de las relaciones.
◦ Clave ajena: regla de integridad referencial.

Ariadna Fuertes Seder BBDD Universitat de València 21


Clave primaria
 Definiciones:
◦ Superclave: conjunto de atributos que identifican de modo único las tuplas de
una relación.
◦ Clave candidata: menor subconjunto de atributos de una superclave que sigue
siendo un identificador único.
◦ Clave primaria: clave elegida entre las candidatas para identificar las tuplas.
◦ Claves alternativas: el resto de claves candidatas.
 Propiedades, independientes del tiempo, de las claves candidatas:
◦ Unicidad: no existen dos tuplas con igual valor de clave candidata.
◦ Minimalidad: no se puede eliminar ningún atributo de la clave candidata sin
destruir la unicidad.
 Las claves primarias constituyen el mecanismo de
direccionamiento a nivel de tuplas básico en un sistema
relacional (modo garantizado para localizar una tupla específica).
Ariadna Fuertes Seder BBDD Universitat de València 22
Regla de integridad de las relaciones
 Ningún componente de la clave primaria de una
relación base puede aceptar nulos.
 Justificación:
◦ 1. - En la realidad las entidades se identifican de modo único →
también en el modelo relacional
◦ 2. - La identificación se realiza por las claves primarias
◦ 3.- Si una clave primaria tiene un nulo, no se puede aplicar la definición
de clave primaria sobre la entidad
◦ 4.- Por tanto, la entidad no se puede identificar, y esto contradice la
definición
 En una base de datos relacional no se puede almacenar
información sobre algo que no se puede identificar.

Ariadna Fuertes Seder BBDD Universitat de València 23


Regla de integridad de las relaciones
 Puntos a destacar:
◦ En las claves primarias compuestas cada valor individual de la clave primaria debe ser no
nulo en su totalidad.
◦ Se aplica a las relaciones base.
◦ Se aplica a las claves primarias.
◦ No se entiende por regla de integridad de las entidades el que los valores de la clave
primaria deben ser únicos.
 Ejemplo:

◦ La relación OFICINA tiene varias claves candidatas.


◦ El atributo Población no es una clave candidata.
◦ El atributo Oid si que es una clave candidata. Los atributos Teléfono y Fax también.

Ariadna Fuertes Seder BBDD Universitat de València 24


Clave ajena
 Definición:
Una clave ajena es un atributo (o conjunto de atributos) de una
relación R2 cuyos valores, si los tiene, deben concordar con los de la
clave primaria de alguna relación R1 (donde R1 y R2 no son
necesariamente distintas).
 El problema de garantizar que la BD no incluya valores no válidos
de una clave ajena se conoce como el problema de la integridad
referencial.
 La restricción según la cuál los valores de una clave ajena
determinada deben concordar con los valores de la clave primaria
correspondiente se llama restricción referencial.
 Relación referencial: Relación que contiene a la clave ajena.
 Relación referida u objetivo: Relación que contiene a la clave
primaria.
Ariadna Fuertes Seder BBDD Universitat de València 25
Ejemplo:
Relación referida u objetivo
Clave primaria de la relación empleado
empleado
DNI Nombre Apellidos Dirección Teléfono Nacimiento
14.167.654 Alberto Gómez Martínez Pedrones, 4 963334455 23/02/1958

64.237.935 Luisa Ripoll Albert Denia, 64 963456789 12/06/1963

Relación referencial Clave ajena en la relación puesto


puesto
Id_caja descripción DNI
1 Caja número 1 de la salida 1 14.167.654
2 Caja número 2 de la salida 1 64.237.935
3 Caja número 1 de la salida 2

 Puntos de interés:
◦ La clave ajena y la clave primaria correspondiente deben definirse sobre el mismo dominio
◦ La clave ajena no tiene porqué formar parte de la clave primaria de la relación que la
contiene.
◦ Una relación referida puede ser también referencial con respecto a otro conjunto de
atributos.
◦ En el caso de que una relación sea referida y referencial a la vez podemos hablar de
relación autoreferencial
◦ Las claves ajenas pueden admitir nulos, las claves primarias no.

Ariadna Fuertes Seder BBDD Universitat de València 26


Regla de integridad referencial
 La base de datos no debe contener valores de clave
ajena sin concordancia (cualquier valor no nulo de la clave
ajena debe tener asociado un valor en la clave primaria de la
relación objetivo).
 Manejo de la integridad referencial por el SGBD:
◦ Impedir que se introduzca información que no garantice la integridad
referencial
◦ Permitir la introducción y realizar las acciones necesarias para garantizarla
(depende completamente del diseño)
 Ejemplo: Borrar un valor que es clave primaria en una
relación y ajena en otra
a) Impedir que se pueda borrar
b) Borrar todas las entradas en la relación referencial cuyo valor de la clave
ajena sea el de la clave primaria en cuestión. Operación en cascada
Ariadna Fuertes Seder BBDD Universitat de València 27
Ejemplo de clave ajena y su
concordancia

Ariadna Fuertes Seder BBDD Universitat de València 28


Manejo de las claves ajenas
 Respecto al ejemplo anterior, responder:
1) ¿Puede aceptar nulos esa clave ajena?
2) ¿Qué debe suceder si hay un intento de eliminar el objetivo de
una referencia de clave ajena?
3) ¿Qué debe suceder si hay un intento de modificar la clave primaria
del objetivo de una referencia de clave ajena?
 Respuestas a las preguntas 2 y 3:
◦ Restringida (RESTRICTED): Solo se puede realizar si todavía no
existen referencias.
◦ Se propaga (CASCADE): la operación se propaga, eliminando o
modificando las referencias existentes.
◦ Anula (NULLFILES): se asignan nulos a la clave ajena en todas las
referencias correspondientes a la clave primaria que se desea
eliminar o modificar.
Ariadna Fuertes Seder BBDD Universitat de València 29
Ejercicios propuestos
 Sean las siguientes relaciones que forman parte de una BD relacional:
hotel (idhotel, nombre, ciudad)
habitacion (idhab, idhotel, tipo, precio)
cliente (idcli, nombre, direccion)
reserva (idhotel, idcli, desde, hasta, idhab)

1) Identifica las claves primarias y clave ajenas en este esquema. Explica


como se aplican las reglas de integridad de las entidades y referencial
a estas relaciones.
2) Escribe algunos ejemplos de cuerpos para las relaciones propuestas
(datos) donde se observen las reglas de integridad explicadas.
3) Sugiere alguna restricción adicional que sería apropiada para este
esquema.

Ariadna Fuertes Seder BBDD Universitat de València 30


Manipulación
 Codd propuso dos alternativas para establecer la base formal en lo
referente a la manipulación de la información por parte del modelo
relacional:
• Álgebra relacional
• Cálculo relacional
 Codd demostró que ambos formalismos son equivalentes → para cada
expresión del álgebra existe su expresión en el cálculo y viceversa.
Diferencias:
 El álgebra relacional:
◦ ofrece un conjunto de operadores que permiten construir una relación que
contiene la información que se busca en la B.D.
◦ La formulación es prescriptiva (proporciona un procedimiento para resolver
el problema).
 El cálculo relacional:
◦ solo define la notación que permite describir las propiedades que deben
cumplir las tuplas de la relación resultante.
◦ La formulación es descriptiva (solo plantea el problema).
Ariadna Fuertes Seder BBDD Universitat de València 31
Principios básicos de diseño lógico
 El paso de un esquema en el modelo E/R al
relacional está basado en los tres principios
siguientes:
◦ Todo tipo de entidad se convierte en una
relación.
◦ Todo tipo de relación N:M se transforma en una
relación.
◦ Todo tipo de relación 1:N se traduce en el
fenómeno de propagación de clave o se crea una
nueva relación.
Ariadna Fuertes Seder BBDD Universitat de València 32
Aplicación de las reglas generales
 Transformación de las entidades
◦ Cada tipo de entidad se debe convertir en una relación
base
 Transformación de los atributos de las entidades
◦ Cada atributo de una entidad se debe transformar en una
columna en la relación base
 Los atributos principales de la entidad pasan a ser la clave primaria
de la relación
 El resto de atributos son columnas de la relación y pueden tomar
valores nulos

Ariadna Fuertes Seder BBDD Universitat de València 33


Aplicación de las reglas generales
 Transformación de las relaciones
◦ Relaciones M:N → Nueva relación (incluye los atributos
de la relación, si hay, y las claves primarias de las
entidades)
◦ Relaciones 1:N → Dos modos de transformar:
 Propagar la clave de la entidad con cardinalidad 1 a la de N
 Crear una nueva relación. Recomendable cuando:
 1) Pueden aparecer muchos nulos (cardinalidad mínima de la entidad 1 es cero)
 2) Se prevé que la relación pase a ser M:N en el futuro
 3) Si la relación tiene atributos propios

◦ Relaciones 1:1 → Caso particular de las anteriores.


Relación 1 Relación 2 Acción
(0 , 1) (0 , 1) Crear nueva relación
(0 , 1) (1 , 1) Propagar clave de R2 a R1
(1 , 1) (1 , 1) Propagación indiferente
Ariadna Fuertes Seder BBDD Universitat de València 34
Aplicación de las reglas generales
 Transformación de atributos de relaciones
◦ Se convierten en columnas de la relación
◦ Si alguno de los atributos es principal → formará parte
de la clave primaria
 Transformación de las relaciones exclusivas
◦ Se deberán definir las restricciones pertinentes (CHECK)
 Transformación de atributos compuestos
◦ El modelo relacional no los contempla. Alternativas:
 Consideramos el atributo compuesto como simple
 Considerar cada uno de los componentes como simple

Ariadna Fuertes Seder BBDD Universitat de València 35


Aplicación de las reglas generales
 Transformación de Entidades/Relaciones débiles
◦ Una entidad débil iba asociada a relaciones 1:N → propagar la clave
de la entidad fuerte a la débil formando parte de la clave primaria de
la débil
 Transformación de la generalización
◦ Englobar los atributos de la entidad y los subtipos en una sola
relación (con el atributo de distinción de subtipos)
◦ O crear una relación para el supertipo y tantas relaciones como
subtipos existan.
◦ Crear solo relaciones para los subtipos añadiendo los atributos del
supertipo
 Transformación de la agregación
◦ Se transforma primero el nivel más alto y después se trata la relación
resultante como si fuera una “nueva entidad” a relacionar con el nivel
más bajo
Ariadna Fuertes Seder BBDD Universitat de València 36
Ejemplo resuelto
Nombre Autor Cod_aut

(1,N)

Escribe
Cod_eje Cod_tem
Titulo
(1,M)
(1,M) (1,1) (0, M) (1, N)
Ejemplar Tiene Libro Trata Tema
(0,M) (0, M)
Fech_pre Cod_lib Año
Descrip
Fech_dev
Presta Escrito en
Nombre

(0,N) Tf (1, N)

Socio DNI Cod_idi Idioma Descrip

 Transformación de las entidades


Cada tipo de entidad se debe convertir en una relación base
 Transformación de atributos de relaciones
Se convierten en columnas de la relación
Si alguno de los atributos es principal → formará parte de la clave primaria
AUTOR LIBRO EJEMPLAR
Codigo_autor Codigo_libro Codigo_ejem p
Nombre Titulo lar
Año
SOCIO
IDIOMA TEMA
DNI
Codigo_idioma Codigo_tem a
Nombre
Descripción Descripción
Telefono
Ariadna Fuertes Seder BBDD Universitat de València 37
Ejemplo resuelto Nombre Autor Cod_aut

(1,N)

Escribe
Cod_eje Cod_tem
Titulo
(1,M)
(1,M) (1,1) (0, M) (1, N)
Ejemplar Tiene Libro Trata Tema
(0,M) (0, M)
Fech_pre Cod_lib Año
Descrip
Fech_dev
Presta Escrito en
Nombre

(0,N) Tf (1, N)

Socio DNI Cod_idi Idioma Descrip

 Transformación de Entidades/Relaciones débiles


Una entidad débil iba asociada a relaciones 1:N → propagar la clave de la
entidad fuerte a la débil formando parte de la clave primaria de la débil
AUTOR LIBRO EJEMPLAR
Codigo_autor Codigo_libro Codigo_libro
Nombre Titulo Codigo_ejem plar
Año
SOCIO
IDIOMA TEMA
DNI
Codigo_idioma Codigo_tem a
Nombre
Descripción Descripción
Telefono

Ariadna Fuertes Seder BBDD Universitat de València 38


Ejemplo resuelto
Nombre Autor Cod_aut

(1,N)

Escribe
Cod_eje Cod_tem
Titulo
(1,M)
(1,M) (1,1) (0, M) (1,N)
Ejemplar Tiene Libro Trata Tema
(0,M) (0,M)
Fech_pre Cod_lib Año
Descrip
Fech_dev
Presta Escrito en
Nombre

(0,N) Tf (1,N)

Socio DNI Cod_idi Idioma Descrip

 Transformación de las relaciones


Relaciones M:N → Nueva relación (incluye los atributos de la relación,
si hay, y las claves primarias de las entidades)

 Transformación de atributos de relaciones


Se convierten en columnas de la relación
Si alguno de los atributos es principal → formará parte de la clave
primaria

Ariadna Fuertes Seder BBDD Universitat de València 39


Ejemplo resuelto
Nombre Autor Cod_aut

(1,N)

Escribe
Cod_eje Cod_tem
Titulo
(1,M)
(1,M) (1,1) (0,M) (1,N)
Ejemplar Tiene Libro Trata Tema
(0,M) (0,M)
Fech_pre Cod_lib Año
Descrip
Fech_dev
Presta Escrito en
Nombre

(0,N) Tf (1,N)

Socio DNI Cod_idi Idioma Descrip

EJEMPLAR ESCRIBE AUTOR


Codigo_libro Codigo_autor Codigo_autor
Codigo_ejemplar Codigo_libro Nombre

LIBRO TRATA
PRESTA
Codigo_libro Codigo_libro
Codigo_libro Titulo Codigo_tema
Codigo_ejemplar Año
DNI
Fecha_pre ESCRITO_EN
Fecha_dev
Codigo_libro
Codigo_idioma TEMA
SOCIO
IDIOMA Codigo_tema
DNI
Nombre Codigo_idioma Descripción
Telefono Descripción

Ariadna Fuertes Seder BBDD Universitat de València 40

También podría gustarte