diseño de un esquema e – r a tablas mc beatriz beltrán martínez benemérita universidad...
TRANSCRIPT
Diseño de un esquema E – R
a tablasMC 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ínezFCC - BUAP Otoño 2014 2
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ínezFCC - BUAP Otoño 2014 3
Entidades fuertes
El conjunto de entidad préstamo, queda:
MC Beatriz Beltrán MartínezFCC - BUAP Otoño 2014 4
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.
Num_prest Importe
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ínezFCC - BUAP Otoño 2014 5
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ínezFCC - BUAP Otoño 2014 6
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:
MC Beatriz Beltrán MartínezFCC - BUAP Otoño 2014 7
Num_pago Fecha_pago Importe Num_prest
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ínezFCC - BUAP Otoño 2014 8
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:
MC Beatriz Beltrán MartínezFCC - BUAP Otoño 2014 9
Id_empleado Num_prest
Redundancia de tablas
Un conjunto de relaciones uniendo un conjunto de entidades débiles con el correspondiente conjunto de entidades fuertes es un caso especial.
La tabla para este tipo de relaciones es redundante y no es necesario que esté presente en una representación tabular de un diagrama E – R.
MC Beatriz Beltrán MartínezFCC - BUAP Otoño 2014 10
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ínezFCC - BUAP Otoño 2014 11
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ínezFCC - BUAP Otoño 2014 12
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ínezFCC - BUAP Otoño 2014 13
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ínezFCC - BUAP Otoño 2014 14
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ínezFCC - BUAP Otoño 2014 15
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ínezFCC - BUAP Otoño 2014 16
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ínezFCC - BUAP Otoño 2014 17
Modelo Lógico de Bases de
DatosMC 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ínezFCC - BUAP Otoño 2014 19
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ínezFCC - BUAP Otoño 2014 20
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ínezFCC - BUAP Otoño 2014 21
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ínezFCC - BUAP Otoño 2014 22
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ínezFCC - BUAP Otoño 2014 23
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ínezFCC - BUAP Otoño 2014 24
Modelo Relacional
MC Beatriz Beltrán MartínezFCC - BUAP Otoño 2014 25
DEPTO DEPTO# DEPTO# NOMDEPTO NOMBRE PRESUPUESTO DINERO
D1 Comercialización 10000000
D2 Desarrollo 12000000
D3 Investigación 5000000
Relación
Clave Primaria
Tupla
Atributos
DEPTO# NOMBRE DINERODominio
Car
dina
lida
d
Grado
Á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ínezFCC - BUAP Otoño 2014 27
Operaciones
Sea:
MC Beatriz Beltrán MartínezFCC - BUAP Otoño 2014 28
DEPTO DEPTO# NOMDEPTO PRESUPUESTO
D1 Comercialización
10000000
D2 Desarrollo 12000000
D3 Investigación 5000000EMP EMP# NOMEMP DEPTO# SALARIO
E1 López D1 40000
E2 Cheng D1 42000
E3 Pérez D2 30000
E4 Hernández D3 35000
Restringir
DEPTO where PRESUPUESTO > 8000000.
MC Beatriz Beltrán MartínezFCC - BUAP Otoño 2014 29
DEPTO# NOMDEPTO PRESUPUESTO
D1 Comercialización 10000000
D2 Desarrollo 12000000
Proyectar
DEPTO {DEPTO#, PRESUPUESTO}
MC Beatriz Beltrán MartínezFCC - BUAP Otoño 2014 30
DEPTO# PRESUPUESTO
D1 10000000
D2 12000000
D3 5000000
Juntar (join)
DEPTO join EMP
MC Beatriz Beltrán MartínezFCC - BUAP Otoño 2014 31
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
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ínezFCC - BUAP Otoño 2014 32
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ínezFCC - BUAP Otoño 2014 33
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ínezFCC - BUAP Otoño 2014 35
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ínezFCC - BUAP Otoño 2014 36
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ínezFCC - BUAP Otoño 2014 37
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ínezFCC - BUAP Otoño 2014 38
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ínezFCC - BUAP Otoño 2014 39
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ínezFCC - BUAP Otoño 2014 40
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ínezFCC - BUAP Otoño 2014 42
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ínezFCC - BUAP Otoño 2014 43
Operación división
Resulta adecuada para las consultas que incluyen la expresión “para todo”.
Sean dos relaciones, SR, 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ínezFCC - BUAP Otoño 2014 44
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ínezFCC - BUAP Otoño 2014 45
EjemplosMC Beatriz Beltrán Martínez
Benemérita Universidad Autónoma de Puebla
Tabla
Prestatario.
MC Beatriz Beltrán MartínezFCC - BUAP Otoño 2014 47
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
Tabla
Prestamo.
MC Beatriz Beltrán MartínezFCC - BUAP Otoño 2014 48
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
Tabla
MC Beatriz Beltrán MartínezFCC - BUAP Otoño 2014 49
Nombre_cliente No_cuenta
Abril C102
Gómez C101
González C201
González C217
López C222
Ramírez C215
Santos C305
Impositor.
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ínezFCC - BUAP Otoño 2014 50
Ejemplos
Diferencia Nombre_cliente (Impositor)
Nombre_cliente(Prestatario) Producto Cartesiano
r = Prestatario PrestamoSe 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ínezFCC - BUAP Otoño 2014 51
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ínezFCC - BUAP Otoño 2014 52
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ínezFCC - BUAP Otoño 2014 53