Sei sulla pagina 1di 52

Diseño de un esquema E – R

a tablas
MC Beatriz Beltrán Martínez

Benemérita Universidad Autónoma de


Puebla
Diseño de un esquema
• Un modelo de datos que se ajusta a un esquema de
bases de datos E – R se puede representar por
medio de tablas.

• Se forma una tabla única por cada conjunto de:


– Entidades de la base de datos.
– Relaciones de la base de datos.

• Cada tabla tendrá sus columnas con un nombre


único.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 98


Entidades fuertes

• Sea E un conjunto de entidades fuertes con los


atributos descriptivos a1, a2, ..., an.

– Esta entidad se representa mediante una tabla


llamada E con n columnas distintas.
– Cada fila de la tabla corresponde a una entidad
del conjunto de entidades E.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 99


Entidades fuertes
• El conjunto de entidad préstamo, queda:

Num_prest Importe

• D1 denota el conjunto de todos los números de


préstamos, D2 denota el conjunto de todos los
saldos.
• Cualquier fila consiste de tuplas (v1, v2) donde v1
esta en el conjunto D1 y v2 en D2.
MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 100
Entidades fuertes

• El conjunto de todas las filas posibles de esta tabla


es el producto cartesiano de D1 y D2 denotado por:
D1xD2.

• En general, si se tiene una tabla de n columnas, se


denota por el producto cartesiano de D1, D2, ..., Dn
por D1xD2... xDn.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 101


Entidades débiles

• Sea A un conjunto de entidades débiles con los


atributos a1, a2, ..., am.

• Sea B el conjunto de entidades fuertes del que A


depende.

• Sea la clave primaria de B el conjunto de atributos


b1, b2, ..., bn.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 102


Entidades débiles
• Se representa el conjunto de entidades A mediante
una tabla llamada A por cada uno de los atributos
del conjunto:
– {a1, a2, ..., am}  {b1, b2, ..., bn}
• El conjunto pago quedaría:

Num_pago Fecha_pago Importe Num_prest

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 103


Conjunto de relaciones

• Sea R un conjunto de relaciones.

• Sean a1, a2, ..., am el conjunto de atributos formados


por la unión de las claves primarias de cada uno de
los conjuntos de entidades que participan en R.

• Sean b1, b2, ..., bn los atributos descriptivos de R,


si los hay.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 104


Conjunto de relaciones
• El conjunto de relaciones se representa mediante
una tabla llamada R con una columna por cada uno
de los atributos del conjunto:
– {a1, a2, ..., am}  {b1, b2, ..., bn}
• El conjunto prestatario quedaría:

Id_empleado Num_prest

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 105


Combinación de tablas
• Considerar el conjunto de relaciones AB, varios a
uno del conjunto de entidades A al conjunto de
entidades B y con participación total.
• Se obtienen tres tablas.
• Se pueden combinar las tablas A y AB para formar
una única tabla que sea la unión de ambas.
• En una relación uno a uno, la tabla se puede
combinar con cualquiera del conjunto de entidades.
• Las tablas se pueden combinar incluso si la
participación es parcial, usando valores nulos.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 106


Atributos compuestos y
derivados
• Los atributos compuestos, se manejan creando
un atributo separado por cada uno de los atributos
componentes.
• No se crea una columna separada para el propio
atributo compuesto.
• Si dirección esta compuesto por calle y ciudad; se
crea en la tabla las columnas calle_dir, ciudad_dir,
dirección no tiene una columna.
• Los atributos derivados no crean ninguna entrada
dentro de las tablas.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 107


Atributos multivalorados
• Para estos atributos se crea, como excepción; una
tabla nueva.
• Para el atributo multivalorado M se crea la tabla T
con una columna C que corresponde a la clave
primaria del conjunto de entidades o conjunto de
relaciones del que M es atributo.
• La columna C aparece en el conjunto de entidad
donde esta el atributo multivalorado.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 108


Generalización
• Hay dos métodos para transformar a forma tabular
un diagrama de E – R:

1. Crear una tabla para el conjunto de entidades


de nivel más alto. Para cada conjunto de
entidades de nivel más bajo, crear una tabla
que incluya una columna para cada uno de los
atributos de ese conjunto de entidades más una
columna por cada atributo de la clave primaria
del conjunto de entidades del nivel más alto.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 109


Generalización

2. Se tiene cuando la generalización es disjunta y


completa. No se crea una tabla para el conjunto
de entidades de más alto nivel. En su lugar,
para cada conjunto de entidades de mas bajo
nivel se crea una tabla que incluya una columna
por cada atributo del conjunto de entidades de
nivel más bajo más una columna por cada
atributo del conjunto de entidades de nivel más
alto.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 110


Generalización
• Con el primer método se tendrían las tablas:
– Cuenta, con atributos: No_cta, Saldo.
– Cta_Ahorro, con atributos: No_cta, TasaInterés.
– Cta_Cheque, con atributos: No_cta,
SaldoDeudor.
• Con el segundo método se tendrían las tablas:
– Cta_Ahorro, con atributos: No_cta, Saldo,
TasaInterés.
– Cta_Cheque, con atributos: No_cta, Saldo,
SaldoDeudor.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 111


Agregación

• Se agrega una columna en la relación agregada por


cada atributo de clave primaria del conjunto de
entidades que esta asociado y con el conjunto de
relaciones al que esta unido.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 112


Modelo Lógico de Bases de
Datos
MC Beatriz Beltrán Martínez

Benemérita Universidad Autónoma de


Puebla
Modelo Relacional
• Consiste de un conjunto de tablas a cada una de las
cuales se les asigna un nombre exclusivo.

• Cada tabla tiene la estructura, donde cada fila de la


tabla representa una relación entre un conjunto de
valores.

• Las columnas se les conoce como atributos.

• Para cada atributo hay un conjunto de valores


permitidos, llamado dominio de ese atributo.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 114


Definiciones
• Se utiliza los términos matemáticos tupla en lugar
de fila; y relación (o varrel – variable de relación) en
lugar de tabla.

• Se exige que para toda relación (varrel) r, los


dominios de todos los atributos de r sean atómicos.

• Un dominio es atómico si los elementos del dominio


se consideran indivisibles.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 115


Definiciones
• Se define una relación como subconjuntos de
productos cartesianos de los dominios.

• Una variable tupla es una variable que representa a


una tupla, esto es, una tupla que representa al
conjunto de todas las tuplas.

• El orden en que aparecen las tuplas es irrelevante,


dado que una relación es un conjunto.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 116


Dominio
• No se admiten valores múltiples, por lo tanto la
intersección de un renglón con una columna tiene
un sólo valor, nunca un conjunto de valores.

• Es posible que varios atributos tengan el mismo


dominio.

• Un valor de dominio que es miembro de todos los


dominios posibles es el valor nulo, que indica que el
valor es desconocido o no existe.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 117


Tuplas
• Como cada atributo tiene un dominio, el cual es una
descripción física y lógica de valores permitidos:

– No existen 2 tuplas en la tabla que sean


idénticas.

– No hay un orden entre tuplas o atributos.

– La información en las bases de datos son


representados como datos explícitos, no existen
apuntadores o ligas entre las tablas.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 118


Clave primaria
• Se consideran los conceptos de:
– Superclave: es un conjunto de uno o más
atributos que tomados colectivamente, permiten
identificar de forma única una entidad en el
conjunto de identidades.
– Claves candidatas: superclaves minimales.
– Clave primaria: denota una clave candidata que
es elegida como elemento principal para
identificar la entidad.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 119


Modelo Relacional
Relación
Clave Primaria
DEPTO DEPTO# DEPTO# NOMDEPTO NOMBRE PRESUPUESTO DINERO

D1 Comercialización 10000000
Cardinalidad

D2 Desarrollo 12000000 Tupla


D3 Investigación 5000000

Atributos
Grado

Dominio DEPTO# NOMBRE DINERO

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 120


Álgebra Relacional
MC Beatriz Beltrán Martínez

Benemérita Universidad Autónoma de


Puebla
Álgebra Relacional
• El modelo relacional se basa en el modelo
relacional de datos.
• De manera intuitiva, significa que en dichos
sistemas hay:
1. Aspecto estructural.
2. Aspecto de integridad.
3. Aspecto de manipulación.
• Operación restringir.
• Operación proyectar.
• Operación juntar.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 122


Operaciones
Sea:
DEPTO DEPTO# NOMDEPTO PRESUPUESTO
D1 Comercialización 10000000
D2 Desarrollo 12000000
D3 Investigación 5000000

EMP EMP# NOMEMP DEPTO# SALARIO


E1 López D1 40000
E2 Cheng D1 42000
E3 Pérez D2 30000
E4 Hernández D3 35000

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 123


Restringir
• DEPTO where PRESUPUESTO > 8000000.

DEPTO# NOMDEPTO PRESUPUESTO


D1 Comercialización 10000000
D2 Desarrollo 12000000

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 124


Proyectar
• DEPTO {DEPTO#, PRESUPUESTO}

DEPTO# PRESUPUESTO
D1 10000000
D2 12000000
D3 5000000

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 125


Juntar (join)
• DEPTO join EMP

DEPTO# NOMDEPTO PRESUPUESTO EMP# NOMEMP SALARIO

D1 Comercialización 10000000 E1 López 40000


D1 Comercialización 10000000 E2 Cheng 42000
D2 Desarrollo 12000000 E3 Pérez 30000
D3 Investigación 5000000 E4 Hernández 35000

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 126


Propiedades
• Al decir que la salida de cada operación es otra
tabla, se habla desde el punto de vista conceptual.

• Si los resultados intermedios se materializan se le


denomina evaluación materializada.

• Si los resultados materializados son cedidos, se le


llama evaluación canalizada.

• Al hecho de que a partir de una tabla siempre se


obtiene otra se le conoce como propiedad de
cerradura.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 127


Formalización

• Es un lenguaje de consulta procedimental.


• Consta de operaciones que toman una o dos
relaciones y producen como resultado una nueva
relación.

• Se tienen operaciones:
– Fundamentales.
– Adicionales.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 128


Operaciones Fundamentales
MC Beatriz Beltrán Martínez

Benemérita Universidad Autónoma de


Puebla
Operación de selección
• Selecciona tuplas que satisfacen un predicado
dado.
• En general se permiten las comparaciones que
utilizan: =, ≠,  o  en el predicado de selección.
• Además se pueden combinar varios predicados en
una mayor utilizando conectivas y (^) y o ().
• El predicado puede incluir comparaciones con dos
atributos.
• Cualquier evaluación con nulo da falso.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 130


Operación de proyección

• Es una operación unaria que devuelve su relación


de argumento, excluyendo algunos argumentos.
• Dado que las relaciones son conjuntos, se eliminan
todas las filas repetidas.
• Se mencionan los atributos que se desea que
aparezcan en la relación resultante.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 131


Operación de unión
• Operación binaria, que toma dos relaciones del
mismo tipo y toma las tuplas que aparecen en una o
bien en la otra relación.
• Dado que las relaciones son conjuntos se eliminan
las tuplas repetidas.
• Se debe asegurar que las uniones se realicen entre
relaciones compatibles.
– Misma aridad.
– Dominio i-ésimo iguales en ambas relaciones.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 132


Operación de diferencia

• Operación binaria, que toma dos relaciones del


mismo tipo y toma las tuplas que aparecen en la
primera relación que no aparecen en la segunda
relación.
• Al igual que en la unión se debe considerar que las
relaciones sean compatibles.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 133


Operación producto cartesiano
• Permite combinar información de cualesquiera dos
relaciones.
• Es equivalente al producto cartesiano definido en
matemáticas.
• Se pide que los nombres de las relaciones no
sean iguales.
• Se crea una tupla a partir de cada par de tuplas
posibles.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 134


Operación de renombramiento

• Devuelve una relación con nombre.

• Esta operación permite también cambiar el nombre


de los atributos.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 135


Operaciones Adicionales
MC Beatriz Beltrán Martínez

Benemérita Universidad Autónoma de


Puebla
Operación reunión natural
• Es una operación binaria, que permite combinar
ciertas selecciones y un producto cartesiano en una
sola operación.
• Forma un producto cartesiano de sus dos
argumentos, realiza una selección forzando la
igualdad de los atributos que aparecen en ambos
esquemas de relación y finalmente, elimina los
atributos repetidos.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 137


Operación intersección
• Operación binaria, que toma dos relaciones del
mismo tipo y toma las tuplas que aparecen en la
primera relación pero que también aparecen en la
segunda relación.
• Al igual que en la unión se debe considerar que las
relaciones sean compatibles.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 138


Operación división
• Resulta adecuada para las consultas que incluyen
la expresión “para todo”.
• Sean dos relaciones, SR, la división es el
esquema de R – S. Una tupla esta en la división si
y sólo si cumple:
– t esta en la unión de R – S sobre R.
– Para cada tupla ts de s hay una tupla tr de r que
cumple con las condiciones:
i. tr[S] = ts[S]
ii.tr[R – S] =t
– Tarea: Cuando y para que se utiliza

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 139


Operación asignación
• Actúa similar a la asignación de los lenguajes de
programación convencionales.

• La evaluación de la asignación no hace que se


muestre ninguna relación al usuario.

• La variable a la que se asignó puede utilizarse


después en otras operaciones relacionales.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 140


Ejemplos
MC Beatriz Beltrán Martínez

Benemérita Universidad Autónoma de


Puebla
Tabla
Prestatario.
Nombre_cliente No_prestamo
Fernández P16
Gómez P93
Gómez P15
López P14
Pérez P17
Santos P11
Arellano P29
Martínez P17

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 142


Tabla
Prestamo.

Nombre_Suc No_prestamo Importe


Mirador P11 900
Centro P14 1500
Fuertes P15 1500
Fuertes P16 1300
Centro P17 1000
Ánimas P23 2000
Dorada P93 500

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 143


Tabla
Impositor.

Nombre_cliente No_cuenta
Abril C102
Gómez C101
González C201
González C217
López C222
Ramírez C215
Santos C305

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 144


Ejemplos
• Selección
Nombre_Suc=‘Fuertes’(Prestamo)
Nombre_Suc=‘Fuertes’^ Importe>1400(Prestamo)

• Proyección
No_prestamo, Importe(Prestamo)

• Unión
Nombre_cliente (Prestatario)  Nombre_cliente(Impositor)

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 145


Ejemplos
• Diferencia
Nombre_cliente (Impositor)   Nombre_cliente(Prestatario)

• Producto Cartesiano
r = Prestatario  Prestamo
Se quiere averiguar los nombres de todos los
clientes que tienen un préstamo en los Fuertes.
Nombre_cliente (Prestatario.No_prestamo = Prestamo.No_prestamo
(Nombre_Suc=‘Fuertes’ (Prestatario  Prestamo)))

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 146


Ejemplos
• Renombramiento
x(E) Renombra la expresión E como x.
x(A1 A2 ... An)(E) Renombra atributos

• Reunión
Nombre_cliente, No_prestamo, Importe(Prestatario
[] Prestamo)

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 147


Ejemplos

• Intersección
Nombre_cliente (Prestatario)  Nombre_cliente(Impositor)

• División
Tarea: Plantear un problema que se resuelva
usando la operación división.

MC Beatriz Beltrán Martínez FCC - BUAP Otoño 2018 148

Potrebbero piacerti anche