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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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 FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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 FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
Generalización Hay dos métodos para transformar a forma tabular un diagrama de E – R: 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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
Generalización 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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
Modelo Relacional Relación Clave Primaria Tupla Atributos Grado DEPTO DEPTO# NOMDEPTO NOMBRE PRESUPUESTO DINERO D1 Comercialización 10000000 D2 Desarrollo 12000000 D3 Investigación 5000000 Cardinalidad Tupla DEPTO# NOMBRE DINERO Atributos Grado Dominio FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
MC Beatriz Beltrán Martínez Benemérita Universidad Autónoma de Puebla Á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: Aspecto estructural. Aspecto de integridad. Aspecto de manipulación. Operación restringir. Operación proyectar. Operación juntar. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
Operaciones Sea: DEPTO EMP DEPTO# NOMDEPTO PRESUPUESTO EMP# NOMEMP Comercialización 10000000 D2 Desarrollo 12000000 D3 Investigación 5000000 EMP EMP# NOMEMP DEPTO# SALARIO E1 López D1 40000 E2 Cheng 42000 E3 Pérez D2 30000 E4 Hernández D3 35000 FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
Restringir DEPTO where PRESUPUESTO > 8000000. DEPTO# NOMDEPTO Comercialización 10000000 D2 Desarrollo 12000000 FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
Proyectar DEPTO {DEPTO#, PRESUPUESTO} DEPTO# PRESUPUESTO D1 10000000 12000000 D3 5000000 FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
Juntar (join) DEPTO join EMP D1 Comercialización 10000000 E1 López NOMDEPTO PRESUPUESTO EMP# NOMEMP SALARIO D1 Comercialización 10000000 E1 López 40000 E2 Cheng 42000 D2 Desarrollo 12000000 E3 Pérez 30000 D3 Investigación 5000000 E4 Hernández 35000 FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
Operación de renombramiento Devuelve una relación con nombre. Esta operación permite también cambiar el nombre de los atributos. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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: tr[S] = ts[S] tr[R – S] =t Tarea: Cuando y para que se utiliza FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
MC Beatriz Beltrán Martínez Benemérita Universidad Autónoma de Puebla 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 López P14 Pérez P17 Santos P11 Arellano P29 Martínez FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
Tabla Prestamo. Nombre_Suc No_prestamo Importe Mirador P11 900 Centro 1500 Fuertes P15 P16 1300 P17 1000 Ánimas P23 2000 Dorada P93 500 FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
Tabla Impositor. Nombre_cliente No_cuenta Abril C102 Gómez C101 González C201 C217 López C222 Ramírez C215 Santos C305 FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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) FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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))) FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
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) FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez
Ejemplos Intersección Nombre_cliente (Prestatario) Nombre_cliente(Impositor) División Tarea: Plantear un problema que se resuelva usando la operación división. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez