Está en la página 1de 63

Bases de Datos

Diseño de una base de datos utilizando


diagramas relacionales
Dr. Carlos Raúl Montaño Espinosa
Matrícula 019851149
Open class
Semana 3
45
10
23
Recomendaciones iniciales.
 En caso de tener algún problema de audio, favor de salir y volver a
iniciar la sesión.
 Verificar que sus altavoces estén encendidos.
 En caso de tener alguna pregunta favor de hacerla en el espacio
respectivo.
 Esta es una clase participativa, por lo que todos debemos aportar
conocimiento.
 Para hacer válidos tus puntos extras deberás entregar contestadas
las preguntas que se harán a lo largo de la clase. Las respuestas se
deberán enviar, en formato UTEL, al apartado de puntos extra con
los siguientes datos de la clase: Semana, hora, tema, nombre del
profesor que impartió la open class y materia.
Objetivos generales
 Identificar las equivalencias de los símbolos de
un diagrama E-R con un diagrama relacional.
 Reglas de transformación de un diagrama E-R a
un diagrama R.
 Establecer las llaves primarias y foráneas del
diagrama relacional.
 Restricciones de llaves primarias y foráneas del
diagrama relacional.
 Elaborar diagramas relacionales.
Antecedentes: elementos de Modelo E-R

Los elementos clave del modelo


entidad-relación (modelo E-R) son:

• Entidades
• Atributos
• Identificadores
• Relaciones

Cardinalidad
Cero o uno. Paciente-habitación
Uno o muchos. Profesor-materia
Uno. Alumno-matrícula
Cero o muchos. Aula-clases
Muchos. Profesor-alumno

Ref. http://aulavirtual.utel.edu.mx/lib/ebook_pearson.php?id_ebook_pearson=323
Elementos del Modelo Relacional (R)
El modelo relacional, es una representación para la
gestión de bases de datos, basado en la lógica de
predicados y en la teoría de conjuntos. Su idea
fundamental es el uso de relaciones. Estas relaciones
podrían considerarse en forma lógica como conjuntos de
datos llamados tuplas.

Departamento (Código, Nombre)


Empleado (Cédula, Nombre, Teléfono,
CodDpto)
Cliente (RIF, Nombre)
Servicio (Código, Nombre)
Presta (CódDpto, CodServ, RIF, Fecha)
Objetivo de un modelo relacional
En el modelo relacional se basa en el concepto
matemático de relación. En este modelo, la información se
representa en forma de “tablas” o relaciones, donde cada
fila de la tabla se interpreta como una relación ordenada
de valores (un conjunto de valores relacionados entre sí).

Ref. http://aulavirtual.utel.edu.mx/lib/ebook_pearson.php?id_ebook_pearson=323
Definiciones del modelo relacional
Grado

Campo c
a
2-tupla r
d
T i
u n
p a
l l
a i
d
a
d

Tabla= Relación = n-tupla


NOMBRE EN EL MODELO E-R NOMBRE MODELO R
ENTIDAD Relación = conjunto de n-tuplas = Tabla
ATRIBUTO Campo = Característica específica (columna)
INSTANCIA Tupla = valores atómicos. = Filas = Registro
Cardinalidad= número de filas o tuplas
Grado = número de campos

Ref. http://aulavirtual.utel.edu.mx/lib/ebook_pearson.php?id_ebook_pearson=323
Propiedades de las relaciones (tablas)
 Cada tabla debe tener un nombre distinto.
 Cada campo (atributo) de la tabla toma un solo valor en cada fila.
 Cada campo (atributo) tiene un nombre distinto en cada tabla
(aunque puede coincidir en tablas distintas).
 Cada registro (fila) es única (no hay tuplas duplicadas).
 Cada fila debe tener un identificador o llave único
 El orden de los campos (atributos) no importa.
 El orden de los registros (filas) no importa.

Tipos de relaciones (tablas)


•Persistentes. Sólo pueden ser borradas por los usuarios
• Bases
• Vistas.
•Temporales
Valores nulos
• El modelo relacional usa un valor especial: Nulo (NULL)
• Indica que un atributo está vacío en una determinada fila
• No es igual a cero, ni es un texto sin valor. Es simplemente la ausencia de valor
• Su gestión es primordial en el modelo relacional
• Si alguien no tiene URL la columna URL valdrá NULL para ese alguien
Llave (clave)
Llave (clave) de una tabla: Tipo de campo que
identifica de manera única a cada una de las instancias de
una tabla. En los diagramas se representan con el nombre
del campo subrayado. Hay ocasiones en que un conjunto
de campos constituyen la clave de una tabla. Algunas
tablas pueden tener más de un campo llave.
CLIENTE
Las llaves se representan subrayando
ID-CLIENTE
el nombre del campo.
Cada campo tiene un dominio.
Grado de una relación es el número de
campos que contiene.
Llaves o claves candidatas
Llave candidata: es un campo, o una combinación de campos, que
identifican de manera única un registro de una tabla. Una fila puede ser
diferenciada de las demás a través de un número de atributos. Esos
atributos forman lo que se llama una clave candidata. Puede haber
varias claves candidatas dentro de una tabla.

A efectos prácticos, el modelo relacional recomienda seleccionar una


sola de las posibles claves candidatas para ser utilizada cuando sea
necesaria: la escogida será la clave primaria de la relación.
Tipos de Llaves
Llave primaria PK (Primary Key): Tipo de campo que identifica
de manera única a cada una de las filas de una tabla. En los
diagramas se representan con el nombre del campo subrayado.
Hay ocasiones en que un conjunto de campos constituyen la PK.
Esta clave proviene de la clave candidata que elijamos para
representar cada fila de manera unívoca.

Llave foránea FK (Foreign Key): Tipo de campo que se utiliza para


mantener dos tablas unidas mediante la referencia a la llave
primaria de otra tabla. Esta tabla se conoce como hija y la tabla
que contiene la llave primaria se llama padre.
Ejemplo de uso de las llaves PK y FK
FK
Estudiante (Matricula, Nombre, Apellido, Carrera)

Carrera (Clave, Descripción)


PK
Esquema
Esquema: es una descripción de su estructura interna; es decir, los atributos
que la componen, contiene los metadatos de la relación. El esquema tiene la
forma R (A1, ... , An), donde R es el nombre de la relación o tupla y el resto son
los campos.

Ejemplos:
grupo (idgrupo, nombre, formación, desintegracion)
genero(idgenero, descripción)
Pregunta 1

1. ¿Cuáles son los elementos que conforman el


modelo relacional y cómo se dividen?
2. ¿Cómo se representan, en forma gráfica, cada
uno de los elementos que conforman el
modelo relacional?
Transformación de entidades fuertes  Tabla

Empleado
• Cedula
• primNombre
• primApellido
• segApellido
• telefono

Diagrama E-R

Empleado(cedula, primNombre, primApellido, segApellido, Teléfono)

PK Subatributos del atributo compuesto


Nombre
Transformación de entidades fuertes  Tabla

• Por cada tipo de entidad fuerte del esquema E-R se crea una
relación R que contenga todos los atributos simples y no
multivaluados de E.

Empleado
• Cedula
• primNombre
• primApellido
• segApellido
• telefono

Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono)


Transformación de entidades fuertes  Tabla

• Además, dado que el modelo relacional no admite los valores no


atómicos, R contendrá también sólo los atributos simples que
formen parte de cada atributo compuesto.

Empleado
• Cedula
• primNombre
• primApellido
• segApellido
• telefono

Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono)


Transformación de entidades fuertes  Tabla

• Como clave primaria de R se escogerá el atributo o atributos


simples que formen parte de la clave primaria de E. Los atributos
derivados se ignoran.

Empleado
• Cedula
• primNombre
• primApellido
• segApellido
• telefono

Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono)


Transformación de entidades débiles  Tabla

Diagrama E-R

PK FK
Hito( Código_Hito, Cédula, Día, Mes, Año, Descripción_Hito)

Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono)


PK
Transformación de entidades débiles y atributos  Tabla

• Por cada tipo de entidad débil del esquema ER se crea una


relación R que contenga todos los atributos simples y no
multivaluados.

Hito
• Código_Hito
• Dia
• Mes
• Año
• Descripción_Hito

Hito(Código_Hito, Día, Mes, Año, Descripción_Hito)


PK
Transformación de entidades débiles y atributos  Tabla
• Además, dado que el modelo relacional no admite los valores no
atómicos, contendrá también sólo los atributos simples que
formen parte de cada atributo compuesto (no multivaluado).

Hito
• Código_Hito
• Dia
• Mes
• Año
• Descripción_Hito

Hito(Código_Hito, Día, Mes, Año, Descripción_Hito)


PK
Transformación de entidades débiles y atributos  Tabla
• Como clave primaria se escogerá el atributo o atributos simples
que formen parte del discriminante de la entidad débil, además
de la clave primaria de la entidad fuerte de la que dependa.

Hito
• Código_Hito
• Cédula
PK FK • Dia
Hito(Código_Hito, Cédula, Día, Mes, Año, Descripción_Hito) • Mes
• Año
Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono) • Descripción_Hito
PK
Transformación de entidades
Proyecto
• Numero_Proyecto
• Nombre_Proyecto
• Descripción_Proyecto

Diagrama E-R

Proyecto(Numero_proyecto, Nombre_Proyecto, Descripción_Proyecto)

PK compuesta
Transformación de vínculos 1:1

Regla de transformación.

Por cada tipo de relación del esquema E-R, de cardinalidad 1:1, se


identifican a las relaciones S y T del esquema relacional que
representan a los tipos de entidad participantes. Se escoge una de
las dos relaciones (por ejemplo S) y se incluye como clave foránea
de S la clave primaria de T. Además, se incluyen en S todos los
atributos (no multivaluados) del tipo de relación, incluidos
aquellos que conformen un atributo compuesto. Los atributos
derivados se ignoran.
Transformación de vínculos 1:1

Diagrama E-R

PK FK
Departamento(Número_Dpto, Nombre_Dpto, Cédula)

Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono)


PK
Transformación de vínculos 1:1

Número_Dpto
Nombre_Dpto
- Cédula

PK FK
Departamento(Número_Dpto, Nombre_Dpto, Cédula)

Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono)


PK
Transformación de vínculos 1:N

Regla de transformación.

Por cada tipo de relación, del esquema E-R, de cardinalidad 1:N se


identifica a la relación S que representa al tipo de entidad
participante del lado N y a la relación T que representa al tipo de
entidad participante del lado 1. Se incluye como clave foránea de S
la clave primaria de T. Se incluyen también en S los atributos (no
multivaluados) del tipo de relación, incluidos aquellos que
conformen un atributo compuesto. Los atributos derivados se
ignoran.
Transformación de vínculos 1:N

Diagrama E-R

PK FK
Empleado(PrimNombre, PrimApellido, SegApellido, Teléfono, Cédula, Numero_Dpto)

Departamento(Número_Dpto, Nombre_Dpto)
PK
Transformación de vínculos 1:N

Número_Dpto
Nombre_Dpto

PK FK
Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono, Numero_Dpto)

Departamento(Número_Dpto, Nombre_Dpto)
PK
Transformación de vínculos M:N
Regla de transformación.

Por cada tipo de relación, del esquema E_R, de cardinalidad M:N


se crea una nueva relación S que tendrá como atributos de clave
foránea los atributos que formen la clave primaria de los dos tipos
de entidad participantes en la relación. Además, S incluirá los
atributos simples (no multivaluados) del tipo de relación, incluidos
aquellos que conformen un atributo compuesto. La clave primaria
de S estará formado por los atributos de clave primaria de los tipos
de entidad participantes en el tipo de relación. Los atributos
derivados se ignoran.
Transformación de vínculos M:N

Diagrama E-R

PK
Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono)

FK FK
Trabaja_en(Cédula, Numero_Proyecto, Horas)

Proyecto(Número_proyecto, Nombre_Proyecto)
PK
Transformación de vínculos M:N

Número_proyecto
Nombre_proyecto

Cédula
Numero Proyecto

PK
Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono)

FK FK
Trabaja_en(Cédula, Numero_Proyecto, Horas)

Proyecto(Número_proyecto, Nombre_Proyecto)
PK
Transformación de cardinalidad 1:N

Usuario
PK • Nick
• Nombre
• Apellidos
• E_mail
• Password

Canción
•PKId_cancion
• Nick FK
• Género
• Autor
Diagrama E-R • Título
• Fecha
• Duración
PK • Bitrate
Usuario(Nick, Nombre, Apellidos, E-mail, Password)
Canción(Id_canción, Nick,Género, Autor, Título, Fecha, Duración, Bitrace)
PK FK
Transformación de cardinalidad 1:N

Diagrama E-R

FK FK PK
Hito(Numero_proyecto, Nombre_Proyecto, Código_Hito, Fecha_Hito, Descripción_Hito)

Proyecto(Numero_proyecto, Nombre_Proyecto,, Descripción_Poyecto)


PK PK
Pregunta 2

1. Enuncia toda las reglas de transformación


del modelo E-R al relacional.
2. ¿En qué coinciden todas la reglas de
transformación del modelo E-R al relacional?
3. ¿Qué es un diagrama de esquema y de qué
forma se usa?
Restricciones
Reglas de integridad o restricciones
Integridad de relaciones: Ningún atributo que forme parte
de una llave primaria puede aceptar valores nulos.

Integridad referencial: Si en una relación hay alguna llave


foránea (FK), sus valores deben coincidir con valores de la llave
primaria (PK) a la que hace referencia, o bien, deben ser
completamente nulos.
Reglas de integridad referencial
Para cada clave foránea, de la base de datos, habrá que contestar a tres preguntas:

1. Regla de los nulos: ¿Tiene sentido que la clave ajena acepte nulos?
2. Regla de borrado: ¿Qué ocurre si se intenta borrar la tupla referenciada por la
llave foránea?
a) Restringir: no se permite borrar la tupla referenciada.
b) Propagar: se borra la tupla referenciada y se propaga el borrado a las tuplas
que la referencian mediante la llave foránea.
c) Anular: se borra la tupla referenciada y las tuplas que la referenciaban
ponen a nulo la llave foránea (sólo si acepta nulos).
3. Regla de modificación: ¿Qué ocurre si se intenta modificar el valor de la llave
primaria de la tupla referenciada por la llave ajena?
a) Restringir: no se permite modificar el valor de la llave primaria de la tupla
referenciada.
b) Propagar: si se modifica el valor de la llave primaria de la tupla referenciada,
se debe propagar la modificación a las tuplas que la referencian mediante la
llave foránea.
Ejercicio 1. Identifique para cada una de las siguientes entidades
los atributos que podrían servir de llaves primarias (PK):

Respuestas:
Para tabla DEPARTAMENTO  ID_depto (PK) (es necesario crear la llave primaria)
Para tabla EMPLEADO  id (PK)
Para tabla CLIENTE  ninguno (se debe crear un campo ID_cliente (PK) numérico)
Para tabla PROYECTO  código (PK)
Cardinalidad entre relaciones
Identifique la cardinalidad para representar lo siguiente y
Transfórmelo al modelo relacional:

1. Cada cliente puede ser el que origina una o muchas órdenes y cada
orden debe ser originada por uno y sólo un cliente.
2. Cada orden debe ser emitida para uno o muchos artículos y cada artículo
puede ser comprado vía una o muchas órdenes.
3. Pasar los diagramas E-R al modelo relacional
cliente(id_cliente, nombre)
CLIENTE 1 Origina N ORDEN
orden(id_orden, id_cliente)

orden(id_orden)
orden_articulo(id_orden,id_articulo)
ORDEN N Emitida M ARTÍCULO
articulo(id_articulo)
CLIENTES

PRODUCTO. LÁCTEOS

PROVEEDORES
Diagrama simple entidad-relación a modelos relacional

N:M N:M

Cliente(RFC, nombre, dirección) Compra


Cliente Producto
RFC
Compra(RFC, Refrencia, valor, fecha, RFC Refrencia
Refrencia
Total de compra) nombre descripción
valor
dirección precio
fecha
Producto(Referencia, descripcion, precio) Total de
compra
Le contratan para hacer el modelo relacional de una BD que permita apoyar
la gestión de un sistema de ventas. La empresa necesita llevar un control de
proveedores, clientes, productos y ventas de la siguiente forma:
1. Un proveedor tiene una RUT, nombre, dirección, teléfono y página web.
2. La dirección se entiende por calle, número, comuna y ciudad.
3. Un cliente también tiene RUT, nombre, dirección, pero puede tener
varios teléfonos de contacto.
4. Un producto tiene un id único, nombre, precio actual, stock y nombre
del proveedor. Además se organizan en categorías, y cada producto va
sólo en una categoría.
5. Una categoría tiene id, nombre y descripción.
6. Por razones de contabilidad, se debe registrar la información de cada
venta con un id, fecha, cliente, descuento y monto final.
7. Además se debe guardar el precio al momento de la venta, la cantidad
vendida y el monto total por el producto.
Un proveedor tiene una RUT, nombre, dirección, teléfono y página web

Proveedor
RUT_proveedor
Página web
nombre
teléfono

Proveedor (RUT_proveedor, página web, nombre, teléfono)


1. Un proveedor tiene una RUT, nombre, dirección, teléfono y página web.
2. La dirección se entiende por calle, número, colonia y ciudad.

Proveedor

RUT_proveedor

Página web

nombre

teléfono

ciudad

calle

número

colonia

Proveedor (RUT-proveedor, página web, nombre, teléfono, ciudad, calle, número, colonia)
Pregunta 3

1. Termina la transformación del modelo E-R al


relacional del ejercicio anterior.
https://1drv.ms/f/s!AsiTCY_FPh97lUclqF8Tvclq4OKL
Dr. Carlos Raúl Montaño Espinosa
Matrícula 51149

También podría gustarte