cc302 – Módulo 3 Bibliografía: Sistemas de bases de datos Ramez Elmasri y Shamkant B. Navathe Fundamentos de  bases de datos Henry F.  y Abraham Silverschatz Sistemas de Bases de Datos. Diseño, Implementación y Admón Peter Rob y Carlos Coronel Modelo Relacional Prof. J. Ignacio Vázquez Herrera
Modelos de datos Alto nivel o Conceptuales De implementación o Lógicos Bajo nivel o Físicos El Modelo  Entidad-Relación  o  Entidad-Vínculo  cae dentro de la clasificación de Modelos de Datos de Alto Nivel o Conceptuales.
Proceso del diseño de Bases de Datos Minimundo Recolección de análisis de requerimientos Diseño Conceptual Diseño Lógico Diseño Físico Modelo Entidad-Relación Modelo Relacional Independiente Del SGBD Específico para Cada SGBD
Conceptos básicos del Modelo Relacional El Modelo Relacional fue introducido  en 1970 por Ted Codd  (IBM). Representa la BD como una  Colección de Relaciones . Una  Relación  se visualiza como una  tabla de valores . Cada  Fila  representa una  colección de valores de datos relacionados entre sí . Dichos valores son  hechos del mundo real . El nombre de la tabla y columnas ayudan a interpretar su significado. LUGARES_DEPTOS NUMEROD LUGARD 1 Tlaquepaue 4 Guadalajara 5 Zapopan 5 Zapotlanejo 5 Guadalajara PROYECTO NOMBREP NUMEROP LUGARP NUMD ProductoX 1 Guadalajara 5 ProductoY 2 Zapotlanejo 5 ProductoZ 3 Tlaquepaque 5 Automatización 10 Guadalajara 4 Reorganización 20 Tlaquepaque 1 NuevasPrestaciones 30 Zapopan 4 DEPARTAMENTO NOMBRED NUMEROD NSSGTE FECHAINICGTE Investigación 5 333445555 22-MAY-78 Administración 4 987654321 01-ENE-85 Dirección 1 888665555 19-JUN-71 TRABAJA_EN NSS NUMP HORAS 123456789 1 32.5 123456789 2 7.5 666884444 3 40.0 453453453 1 20.0 453453453 2 20.0 333445555 2 10.0 333445555 3 10.0 333445555 10 10.0 333445555 20 10.0 999887777 30 30.0 999887777 10 10.0 987987987 10 35.0 987987987 30 5.0 987987987 30 20.0 987987987 20 15.0 888665555 20 NULO
Conceptos básicos del Modelo Relacional Los elementos del modelo relacional son llamados  Relaciones,   Tuplas y Atributos. Tradicionalmente, en las aplicaciones DBMS (SGBD) son conocidos como  tablas,   registros (o filas) y campos (o columnas) .  Atributos Nombre de la relación Tuplas ESTUDIANTE Nombre NSS TelParticular Dirección TelOficina Edad Prom Benjamín Baeza 305-61-2435 36-46-23-89 Balboa 2918 Nulo 10 3.21 Karla Armenta 381-62-1245 36-56-72-35 Maíz 125 Nulo 18 2.89 Diego Domínguez 422-11-2320 36-51-28-74 Espina 3452 36-22-11-67 25 3.53 Carlos Cortés 489-22-1100 38-56-23-45 Libertad 265 36-45-79-34 28 3.25
Conceptos básicos del Modelo Relacional Un  Dominio  es un conjunto de valores atómicos, es decir: no indivisibles: Números de Seguro Social, Calificaciones, Edades, Números Telefónicos, Nombres, etc. Un  Dominio  debe tener un Nombre, Tipo de Datos y Formato. El  Grado de una Relación  es el número de atributos n del esquema R. La  Cardinalidad  de una Relación es el número de tuplas que la forman. Cardinalidad de la relación: 3 El atributo NSS cuyo dominio son los números del seguro social Grado de la relación: 7 Nombre de La relación ESTUDIANTE Nombre NSS TelParticular Dirección TelOficina Edad Prom Benjamín Baeza 305-61-2435 36-46-23-89 Balboa 2918 Nulo 10 3.21 Karla Armenta 381-62-1245 36-56-72-35 Maíz 125 Nulo 18 2.89 Diego Domínguez 422-11-2320 36-51-28-74 Espina 3452 36-22-11-67 25 3.53
Notación del Modelo Relacional Esquema de relación : R(A 1 , A 2 , ..., A n ) Tupla de grado n : t=<v 1 ,v 2 , ..., v n > Valor de t  para el atributo A i  :  t[A i ] Dominio de A i  : dom(A i ) Subtupla de t :  t[A 1 , A 2 , ..., A z ] Ejemplo: Esquema de relación :  Clientes(nombreCli, dniCli, domicilio) Dominio de dniCli :   Números enteros postivos Tupla :   t=<“Johnson”, “1”, “La Reina nº7”> Valor de tupla :   t[nombreCli] Subtupla :   t[nombreCli, domicilio]
Ejemplares y Esquemas de Relación  Un  Ejemplar de Relación  o relación r(R) es un subconjunto del producto cartesiano de los dominios que definen a R. Un  Esquema de Relación  R  se compone de un nombre de relación R, y una lista de atributos A 1 , A 2  A 3 , ….., A n ; cada uno de los cuales es el nombre de un papel desempeñado por un dominio D o dom(A i ). Un   Esquema de Relación  es relativamente  estático  (no cambia mucho con el tiempo), mientras que un  Ejemplar de Relación  en un momento dado refleja el  estado actual de la relación . Es posible que  varios atributos  tengan el mismo dominio, siempre y cuando indiquen  diferentes papeles  (o roles) como en los atributos TelParticular y TelOficina de la siguiente relación. ESTUDIANTE Nombre NSS TelParticular Dirección TelOficina Edad Prom Benjamín Baeza 305-61-2435 36-46-23-89 Balboa 2918 Nulo 10 3.21 Karla Armenta 381-62-1245 36-56-72-35 Maíz 125 Nulo 18 2.89 Diego Domínguez 422-11-2320 36-51-28-74 Espina 3452 36-22-11-67 25 3.53
Ejemplares y Esquemas de Relación  Un  Ejemplar de Relación  o relación r(R) es un subconjunto del producto cartesiano de los dominios que definen a R. r(R)    dom(A 1 )  X  dom(A 2 )  X  ……  X  dom(A n ) Dado el esquema de relación R(A 1 ,A 2 ), donde los dominios de los atributos A 1  y A 2  son: dom(A 1 ) = {a,b,c} dom(A 2 ) = {d,e} El producto cartesiano de los dominios que definen a R { dom(A 1 ) X dom(A 2 ) } daría: Los ejemplares de relación r 1 (R), r 2 (R) y r 3 (R):  Cumplen con la definición anterior, pues son todos subconjuntos de los dominios que definen a R  El producto cartesiano se refiere a todas las combinaciones posibles que se pueden presentar con los dominios de R r1 A 1 A 2 a d c e r2 A 1 A 2 b d c d A 1 A 2 a d a e b d b e c d c e r3 A 1 A 2 a e b e
Características de las Relaciones Una Relación se define como un conjunto de tuplas. Ya que en la teoría matemática de conjuntos los elementos no están ordenados,  las tuplas de una relación no tienen orden específico . Una Tupla se define como una lista ordenada de valores, así que  el orden de los valores de una tupla  sí es importante . Por ser una relación un conjunto de tuplas, se infiere que cada tupla es diferente En el modelo Relacional no se admiten atributos multivaluados o atributos compuestos ESTUDIANTE Nombre NSS TelParticular Dirección TelOficina Edad Prom Benjamín Baeza 305-61-2435 36-46-23-89 Balboa 2918 Nulo 10 3.21 Karla Armenta 381-62-1245 36-56-72-35 Maíz 125 Nulo 18 2.89 Diego Domínguez 422-11-2320 36-51-28-74 Espina 3452 36-22-11-67 25 3.53 Carlos Cortés 489-22-1100 38-56-23-45 Libertad 265 36-45-79-34 28 3.25
Esquema de BD Relacional Un esquema de base de datos relacional es un  conjunto de esquemas de relaciones  y un  conjunto de restricciones de integridad . EMPLEADO DEPARTAMENTO LUGARES_DEPTOS PROYECTO TRABAJA_EN DEPENDIENTE Conjunto de esquema de relaciones . Falta definir el conjunto de restricciones de integridad NUMEROD LUGARD NSSE NUMP HORAS NOMBREP NUMEROP LUGARP NUMD NSS NOMBRE_DEPENDIENTE SEXO FECHAN PARENTESCO NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND NOMBRED NUMEROD NSSGTE FECHAINICGTE
Esquema de BD Relacional Restricciones de Dominio . El valor de cada atributo A debe ser un valor atómico del dominio dom(A) para ese atributo. Restricciones de clave . Debido a que en un conjunto todos los elementos son diferentes, todas las tuplas en una relación son diferentes. Una Clave está formada por uno o más atributos y describe a una tupla unívocamente (le da carácter de unicidad). Restricción de Integridad de Entidades . Puesto que una clave primaria identifica unívocamente a una relación, no puede ser nula. Restricción de Integridad Referencial . Una tupla en una relación que haga referencia a otra relación deberá referirse a una tupla existente en esa relación. Restricciones de Integridad Semántica . Se imponen a partir de determinadas reglas de negocios, por ejemplo: Un empleado no debe exceder el salario de un supervisor.
Restricciones de clave EMPLEADO DEPARTAMENTO LUGARES_DEPTOS PROYECTO TRABAJA_EN DEPENDIENTE Cada uno de los  esquemas de relación  que conforman el  esquema de BD  debe tener uno o más  atributos claves , que sirven para identificar de manera única a una tupla. NUMEROD LUGARD NSSE NUMP HORAS NOMBREP NUMEROP LUGARP NUMD NSS NOMBRE_DEPENDIENTE SEXO FECHAN PARENTESCO NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND NOMBRED NUMEROD NSSGTE FECHAINICGTE
Claves (Llaves) Superclave . Es un conjunto de uno o más atributos que tomados colectivamente, permiten identificar de manera única a una entidad. Por definición todos los atributos de una relación forman una superclave. Una superclave puede descomponerse a su vez en otras superclaves. Clave Candidata . Una superclave mínima, tal que no contenga otras superclaves. Clave Primaria (o principal) . Clave candidata que es elegida para identificar una entidad, buscando que los atributos que la conforman nunca cambien. Clave Foránea (o externa) . Se dice de la clave primaria de la cual dependen otras entidades (como las entidades débiles). Clave Parcial . En el caso de una entidad débil, es un atributo que se utiliza como discriminador y que junto con la clave foránea forma la clave principal.
SuperClaves Técnicamente, el conjunto de todos los atributos forman una superclave, porque le dan unicidad a la relación Pero igual cumplen los siguientes subconjuntos: num_eco, matricula; maticula, serie_motor; serie_motor, marca; Etc,etc. VEHICULO NUM_ECO MATRICULA SERIE_MOTOR MARCA MODELO CHOFER
Claves Candidatas y Claves Primarias En la relación VEHICULO se pueden encontrar dos superclaves mínimas (no se pueden dividir en otras superclaves): matricula  y  serie_motor Como ambas describen unívocamente a la entidad se les denomina  claves candidatas Como es más probable que el atributo “matricula” cambie con el tiempo (como en un robo de placas), se elige el atributo  serie_motor como clave primaria (o clave principal)  puesto que el número de serie del motor por lo general no cambia VEHICULO NUM_ECO MATRICULA SERIE_MOTOR MARCA MODELO CHOFER
Claves Foráneas El atributo “ chofer ” se puede considerar como  clave foránea , si en lugar de escribir nombres de personas como valores, se indican códigos que hacen referencia al nombre del chofer (o número del seguro social) en otra relación. VEHICULO EMPLEADO NUM_ECO MATRICULA SERIE_MOTOR MARCA MODELO CHOFER NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND
Claves Parciales Son aquellas que  no  describen unívocamente a una relación. La relación DEPENDIENTE no cuenta con una clave primaria o principal propia. Su clave principal la forman: la clave foránea NSS y la clave parcial NOMBRE_DEPENDIENTE. NOMBRE_DEPENDIENTE por sí solo no puede ser clave principal puesto que sus valores se pueden repetir. EMPLEADO DEPENDIENTE Clave parcial o atributo discriminador Clave foránea NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND NSS NOMBRE_DEPENDIENTE SEXO FECHAN PARENTESCO
Restricción de Integridad Referencial La  restricción de integridad referencial  establece que una tupla en una relación que haga referencia a otra relación deberá referirse a una tupla existente en esa relación. Por ejemplo: si se elimina el departamento 5 se violaría esta restricción si hubiera empleados en dicho departamento LUGARD NUMEROD HORAS NUMP NSSE NUMD LUGARP NUMEROP NOMBREP PARENTESCO FECHAN SEXO NOMBRE_ DEPENDIENTE NSS SEXO DIRECCION FECHAN NSS APELLIDO INIC ND NSSUPER SALARIO NOMBREP FECHAINICGTE NSSGTE NUMEROD NOMBRED EMPLEADO DEPARTAMENTO LUGARES_DEPTOS PROYECTO TRABAJA_EN DEPENDIENTE
Ejemplar de una BD Relacional Base de Datos COMPAÑIA EMPLEADO NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND José B Silva 123456789 09-ENE-55 Fresno 731, Guadalajara  M 30000 333445555 5 Federico T Vizcarra 333445555 08-DIC-45 Valle 638, León M 40000 888665555 5 Alicia J Zapata 999887777 19-JUL-58 Castillo 3321, Monterrey F 25000 987654321 4 Jazmín S Valdés 987654321 20-JUN-31 Bravo 291, Guadalajara F 43000 888665555 4 Ramón K Nieto 666884444 15-SEP-52 Independencia 35, León M 38000 333445555 5 Josefa A Esparza 453453453 31-JUL-62 Canción 1450, Zapopan F 25000 333445555 5 Ahmed V Jabbar 987987987 29-MAR-59 Dallas 980, Tlaquepaque M 25000 987654321 4 Jaime E Botello 888665555 10-NOV-27 Sorgo 450, Zapopan M 55000 Nulo 1 LUGARES_DEPTOS NUMEROD LUGARD 1 Tlaquepaue 4 Guadalajara 5 Zapopan 5 Zapotlanejo 5 Guadalajara DEPENDIENTE NSS NOMBRE_DEPENDIENTE SEXO FECHAN PARENTESCO 333445555 Alicia F 05-ABR-76 HIJA 333445555 Teodoro M 25-OCT-73 HIJO 333445555 Jobita F 03-MAY-48 CONYUGE 987654321 Abdiel M 29-FEB-32 CONYUGE 123456789 Miguel M 01-ENE-78 HIJO 123456789 Alicia F 31-DIC-78 HIJA 123456789 Elizabeth F 05-MAY-57 CONYUGE PROYECTO NOMBREP NUMEROP LUGARP NUMD ProductoX 1 Guadalajara 5 ProductoY 2 Zapotlanejo 5 ProductoZ 3 Tlaquepaque 5 Automatización 10 Guadalajara 4 Reorganización 20 Tlaquepaque 1 NuevasPrestaciones 30 Zapopan 4 DEPARTAMENTO NOMBRED NUMEROD NSSGTE FECHAINICGTE Investigación 5 333445555 22-MAY-78 Administración 4 987654321 01-ENE-85 Dirección 1 888665555 19-JUN-71 TRABAJA_EN NSS NUMP HORAS 123456789 1 32.5 123456789 2 7.5 666884444 3 40.0 453453453 1 20.0 453453453 2 20.0 333445555 2 10.0 333445555 3 10.0 333445555 10 10.0 333445555 20 10.0 999887777 30 30.0 999887777 10 10.0 987987987 10 35.0 987987987 30 5.0 987987987 30 20.0 987987987 20 15.0 888665555 20 NULO
Operaciones del Modelo Relacional Insertar Eliminar Modificar Seleccionar Proyectar Reunión Unión Intersección Diferencia Producto Cartesiano Teoría de Conjuntos Algebra Relacional Operaciones de Actualización Operaciones de BD Relacionales Propias del Sistema Gestor de Base de Datos (SGBD)
Operaciones de Actualización Insertar .- proporciona una lista de atributos para una nueva tupla  t  que se ha de insertar en la relación R. No deberá violar ninguno de los cuatro tipos de restricciones (de Dominio, de Clave, Integridad de Entidades, Integridad Referencial). Insertar < ‘ProductoW’, ‘3’, ‘Zapotlanejo’, ‘4’ > Insertar < ‘ProductoH’, ‘4’, ‘Guadalajara’, ‘5’ > Es aceptada Viola la restricción de clave, pues ya existe otra tupla con el mismo valor de NUMEROP PROYECTO NOMBREP NUMEROP LUGARP NUMD ProductoX 1 Guadalajara 5 ProductoY 2 Zapotlanejo 5 ProductoZ 3 Tlaquepaque 5 Automatización 10 Guadalajara 4 NuevasPrestaciones 30 Zapopan 4
Operaciones de Actualización Eliminar .- Solo puede violar la integridad referencial, si las claves foráneas (externas) de otras tuplas de la BD hacen referencia a la tupla que se ha de eliminar. Eliminar la tupla EMPLEADO  con NSS = ‘123456789’ No es aceptable pues dos tuplas de TRABAJA_EN hacen referencia a esta tupla EMPLEADO TRABAJA_EN NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSUPER ND José B Silva 123456789 M 30000 333445555 5 Federico T Vizcarra 333445555 M 40000 888665555 5 Josefa A Esparza 453453453 F 25000 333445555 5 Ahmed V Jabbar 987987987 M 25000 987654321 4 Jaime E Botello 888665555 M 55000 Nulo 1 NSS NUMP HORAS 123456789 1 32.5 123456789 2 7.5 987987987 30 5.0 987987987 20 15.0 888665555 20 NULO
Operaciones de Actualización Modificar .- Modificar un atributo que sea clave primaria puede violar las restricciones de integridad, puesto que equivale a eliminar una tupla e insertar una nueva en su lugar. Modificar un atributo que no sea clave primaria o clave externa (foránea) casi nunca causa problemas, solo hay que constatar que sea del tipo de datos correcto y que esté en el dominio. Modificar la tupla EMPLEADO  con NSS = ‘123456789’ Cambiándolo a  ‘987654321’ Viola la Integridad Referencial, pues en la tabla TRABAJA_EN hay una clave externa que hace referencia a NSS. EMPLEADO TRABAJA_EN NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSUPER ND José B Silva 123456789 M 30000 333445555 5 Federico T Vizcarra 333445555 M 40000 888665555 5 Josefa A Esparza 453453453 F 25000 333445555 5 Ahmed V Jabbar 987987987 M 25000 987654321 4 Jaime E Botello 888665555 M 55000 Nulo 1 NSS NUMP HORAS 123456789 1 32.5 123456789 2 7.5 987987987 30 5.0 987987987 20 15.0 888665555 20 NULO
Algebra Relacional Un  lenguaje de consulta  es aquel en el que el usuario puede solicitar información de la base de datos. Suele ser de más alto nivel que los lenguajes de programación estándar, y se clasifican en  procedimentales y no procedimentales (o declarativos) . En un  lenguaje procedimental  el usuario da instrucciones al sistema para que realice una serie de operaciones sobre la base de datos con el fin de obtener el resultado deseado. En un  lenguaje no procedimental (o declarativo)  el usuario describe la información deseada sin dar un procedimiento concreto sobre cómo obtener esa información. El Álgebra Relacional es un lenguaje de consulta procedimental . Consta de un conjunto de operaciones que toman una o dos relaciones como entrada y producen una nueva relación como salida.
Operaciones del Algebra Relacional Seleccionar .- La operación de  selección  selecciona algunas tuplas que satisfacen un predicado determinado. Se utiliza la letra griega sigma (  ) para indicarla. Sintaxis:   <predicado> (relación) Ejemplo: Dada la relación EMPLEADO: Obtener las tuplas cuyo SALARIO es mayor de 30000  SALARIO>30000  (EMPLEADO)  Relación resultante NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSSUPER ND José B Silva 123456789 M 30000 333445555 5 Federico T Vizcarra 333445555 M 40000 888665555 5 Josefa A Esparza 453453453 F 25000 333445555 5 Ahmed V Jabbar 987987987 M 25000 987654321 4 Jaime E Botello 888665555 M 55000 Nulo 1 NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSSUPER ND Federico T Vizcarra 333445555 M 40000 888665555 5 Jaime E Botello 888665555 M 55000 Nulo 1
Operaciones del Algebra Relacional Proyectar .- Es una operación unaria que devuelve su relación argumento con ciertas columnas omitidas. Puesto que la relación es un conjunto, no elimina las filas duplicadas. La proyección se denota por la letra griega pi  (  ). Sintaxis:   <lista de columnas> (relación) Ejemplo: Dada la relación EMPLEADO: Obtener las columnas NOMBREP, APELLIDO Y NSS  NOMBREP,APELLIDO,NSS  (EMPLEADO) Relación resultante A diferencia de la operación “Seleccionar”, la operación “Proyectar” no es conmutativa. NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSSUPER ND José B Silva 123456789 M 30000 333445555 5 Federico T Vizcarra 333445555 M 40000 888665555 5 Josefa A Esparza 453453453 F 25000 333445555 5 Ahmed V Jabbar 987987987 M 25000 987654321 4 Jaime E Botello 888665555 M 55000 Nulo 1 NOMBREP APELLIDO NSS José Silva 123456789 Federico Vizcarra 333445555 Josefa Esparza 453453453 Ahmed Jabbar 987987987 Jaime Botello 888665555
Operaciones del Algebra Relacional En la práctica, la mayoría de las veces se requiere combinar dos o más operaciones para obtener una determinada consulta. Ejemplo: Encontrar Los nombres y apellidos de las mujeres que ganan más de 20000:  NOMBREP, APELLIDO  (  σ SALARIO>20000 ^ SEXO=F  (EMPLEADO) ) Relación resultante EMPLEADO NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND José B Silva 123456789 09-ENE-55 Fresno 731, Guadalajara  M 30000 333445555 5 Federico T Vizcarra 333445555 08-DIC-45 Valle 638, León M 40000 888665555 5 Alicia J Zapata 999887777 19-JUL-58 Castillo 3321, Monterrey F 20000 987654321 4 Jazmín S Valdés 987654321 20-JUN-31 Bravo 291, Guadalajara F 43000 888665555 4 Ramón K Nieto 666884444 15-SEP-52 Independencia 35, León M 38000 333445555 5 Josefa A Esparza 453453453 31-JUL-62 Canción 1450, Zapopan F 25000 333445555 5 Ahmed V Jabbar 987987987 29-MAR-59 Dallas 980, Tlaquepaque M 25000 987654321 4 Jaime E Botello 888665555 10-NOV-27 Sorgo 450, Zapopan M 55000 Nulo 1 NOMBREP APELLIDO Jazmín Valdés Josefa Esparza
Operaciones del Algebra Relacional Unión .- Devuelve una relación que incluye las tuplas que están en R o en S o en ambas. Las relaciones que se unan han de tener los mismos tipos de atributos (deben ser compatibles), y se eliminan las tuplas repetidas.  La unión se denota por  R  U  S  Ejemplo: Encontrar  ESTUDIANTE  U  PROFESOR : Relación resultante Nótese como las tuplas repetidas en PROFESOR fueron eliminadas U = ESTUDIANTE NP AP Susana Yañez Ramón Sánchez Josué Landa Bárbara Jaimes Amanda Flores Jaime Vélez Ernesto Gómez NP AP Susana Yañez Ramón Sánchez Josué Landa Bárbara Jaimes Amanda Flores Jaime Vélez Ernesto Gómez Ricardo Bueno José Silva Francisco Jiménez PROFESOR NOMBREP APELLIDO Susana Yañez Ricardo Bueno José Silva Francisco Jiménez Ramón Sánchez
Operaciones del Algebra Relacional Unión (cont) .- En muchas ocasiones la unión se aplica cuando la consulta implica una disyunción (OR).  Por ejemplo: Se desea listar los números del seguro social de los empleados   que trabajan en el departamento 5  O   que supervisan directamente a un empleado que trabaja en dicho departamento. Relación resultante Nótese como las tuplas repetidas fueron eliminadas =  NSS  (  σ ND=5  (EMPLEADO) )  NSSSUPER  (  σ ND=5  (EMPLEADO) ) U NSS 123456789 333445555 666884444 453453453 888665555
Operaciones del Algebra Relacional Unión (cont) .- La operación unión no es tan común porque la mayoría de las veces se puede reemplazar con el uso de dos condiciones unidas por una disyunción dentro del predicado de la selección. Ejemplo: Listar los NSS de los empleados que trabajan en el departamento 5 o en el departamento 1: O bien: Relación resultante =  NSS  (  σ ND=5   v ND=1  (EMPLEADO) )  NSS  (  σ ND=5  (EMPLEADO) ) U  NSS  (  σ ND=3  (EMPLEADO) ) NSS 123456789 333445555 666884444 453453453 888665555
Operaciones del Algebra Relacional Intersección .- Devuelve una relación que incluye las tuplas que están tanto en R como en S. Las relaciones han de tener los mismos tipos de atributos (deben ser compatibles). La Intersección es conmutativa. La intersección se denota por  R  ∩  S  Ejemplo: Encontrar  ESTUDIANTE  ∩  PROFESOR : Relación resultante ∩ = ESTUDIANTE NP AP Susana Yañez Ramón Sánchez Josué Landa Bárbara Jaimes Amanda Flores Jaime Vélez Ernesto Gómez NP AP Susana Yañez Ramón Sánchez PROFESOR NOMBREP APELLIDO Susana Yañez Ricardo Bueno José Silva Francisco Jiménez Ramón Sánchez
Operaciones del Algebra Relacional Intersección (cont) .- En muchas ocasiones la intersección se aplica cuando la consulta implica una conjunción (AND).  Por ejemplo: Se desea listar los números del seguro social de los empleados   que ganan más de 20,000 y que son mujeres. Relación resultante =  NSS  ( σ SALARIO>20000 (EMPLEADO))  NSS  (  σ SEXO=F  (EMPLEADO) ) ∩ NSS 999887777 987654321 453453453
Operaciones del Algebra Relacional Intersección (cont) .- La operación intersección no es tan común porque la mayoría de las veces se puede reemplazar con el uso de dos condiciones unidas por una conjunción dentro del predicado de la selección. El ejemplo anterior se puede expresar de la siguiente manera: Relación resultante =  NSS  (  σ SALARIO   >20000 ^ SEXO=F  (EMPLEADO) ) NSS 999887777 987654321 453453453
Operaciones del Algebra Relacional Diferencia .- Devuelve una relación que incluye las tuplas que están en R pero no en S. La intersección se denota por  R  –  S .  No es conmutativa por lo que no es lo mismo S - R:  Ejemplo:  Dadas las relaciones ESTUDIANTE Y PROFESOR encontrar:  ESTUDIANTE-PROFESOR,  PROFESOR-ESTUDIANTE ESTUDIANTE - PROFESOR PROFESOR - ESTUDIANTE ESTUDIANTE NP AP Susana Yañez Ramón Sánchez Josué Landa Bárbara Jaimes Amanda Flores Jaime Vélez Ernesto Gómez PROFESOR NOMBREP APELLIDO Susana Yañez Ricardo Bueno José Silva Francisco Jiménez Ramón Sánchez NOMBREP APELLIDO Ricardo Bueno José Silva Francisco Jiménez NP AP Josué Landa Bárbara Jaimes Amanda Flores Jaime Vélez Ernesto Gómez
Producto Cartesiano .- Devuelve una relación que tiene una tupla por cada combinación de tuplas: una de R y una de S. El producto cartesiano se denota por  R  X  S . El número de tuplas de la relación resultante es igual al producto del número de tuplas de R y el número de tuplas de S.   Ejemplo: Encontrar  ESTUDIANTE  X  PROFESOR: X = Operaciones del Algebra Relacional ESTUDIANTE NP AP Josué Landa Bárbara Jaimes Amanda Flores Jaime Vélez PROFESOR NOMBREP APELLIDO Susana Yañez Ricardo Bueno Ramón Sánchez ESTUDIANTE NP AP NOMBREP APELLIDO Josué Landa Susana Yañez Josué Landa Ricardo Bueno Josué Landa Ramón Sánchez Bárbara Jaimes Susana Yañez Bárbara Jaimes Ricardo Bueno Bárbara Jaimes Ramón Sánchez Amanda Flores Susana Yañez Amanda Flores Ricardo Bueno Amanda Flores Ramón Sánchez Jaime Vélez Susana Yañez Jaime Vélez Ricardo Bueno Jaime Vélez Ramón Sánchez
Operaciones del Algebra Relacional Reunión .- Es una operación derivada (es decir, se puede representar en función de otras básicas). Permite combinar tuplas de dos relaciones R y S a través de una condición sobre los atributos. Sintaxis:  R   ⋈   <condición de reunión>  (S) Es equivalente a la combinación de una selección y un producto cartesiano:   <condición de reunión>  (R X S) Ejemplo: Dadas las relaciones  EMPLEADO y TRABAJA_EN EMPLEADO TRABAJA_EN NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSUPER ND José B Silva 123456789 M 30000 333445555 5 Federico T Vizcarra 333445555 M 40000 888665555 5 Josefa A Esparza 453453453 F 25000 333445555 5 Ahmed V Jabbar 987987987 M 25000 987654321 4 Jaime E Botello 888665555 M 55000 Nulo 1 NSS NUMP HORAS 123456789 1 32.5 123456789 2 7.5 987987987 30 5.0 987987987 20 15.0 888665555 20 NULO
Operaciones del Algebra Relacional Reunión (cont) .- Listar los datos de los empleados y los números de proyectos en los que participan, así como las horas que les dedican. EMPLEADO   ⋈   EMPLEADO.NSS=TRABAJA_EN.NSS  (TRABAJA_EN) Es equivalente a la combinación de una selección y un producto cartesiano:   EMPLEADO.NSS=TRABAJA_EN.NSS  (EMPLEADO  X  TRABAJA_EN) Relación resultante Nótese como aparecen las columnas NSS de las 2 tablas originales NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSUPER ND NSS NUMP HORAS José B Silva 123456789 M 30000 333445555 5 123456789 1 32.5 José B Silva 123456789 M 30000 333445555 5 123456789 2 7.5 Ahmed V Jabbar 987987987 M 25000 987654321 5 987987987 30 5.0 Ahmed V Jabbar 987987987 M 25000 987654321 4 987987987 20 15.0 Jaime E Botello 888665555 M 55000 Nulo 1 888665555 20 NULO
Operaciones del Algebra Relacional Equireunión .- Se le suele llamar a una reunión de esa manera cuando la condición de reunión es una igualdad. El ejemplo de la lámina anterior es una equireunión. Reunión Theta (  ) .- Se le llama así a una reunión cuando la condición de reunión es general. Sintaxis:  R    <CONDICIÓN DE REUNIÓN>  (S) Podríamos decir entonces, que una equireunión es un caso particular de una reunión theta, en el que la condición de reunión es una igualdad. Sin embargo la mayoría de los autores suelen representar a ambas reuniones con el mismo símbolo:  ⋈
Operaciones del Algebra Relacional Reunión Natural .- Permite eliminar las columnas redundantes en la relación resultante. Sintaxis:  R   * <CONDICIÓN DE REUNIÓN>  (S) Es equivalente a la combinación de una proyección, una selección y un producto cartesiano. En el ejemplo de dos láminas anteriores: EMPLEADO   * <EMPLEADO.NSS=TRABAJA_EN.NSS>  (TRABAJA_EN) equivale a:  NOMBREP, INIC, APELLIDO, EMPLEADO.NSS, SEXO, SALARIO, NSSUPER, NUMP, HORAS  (  < EMPLEADO.NSS=TRABAJA_EN.NSS> (EMPLEADO X TRABAJA_EN)) Relación resultante NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSUPER NUMP HORAS José B Silva 123456789 M 30000 333445555 1 32.5 José B Silva 123456789 M 30000 333445555 2 7.5 Ahmed V Jabbar 987987987 M 25000 987654321 30 5.0 Ahmed V Jabbar 987987987 M 25000 987654321 20 15.0 Jaime E Botello 888665555 M 55000 Nulo 20 NULO
Operaciones del Algebra Relacional Reunión Natural (cont) .- Si no se especifica la condición de reunión, se utilizarán los atributos que tienen el mismo nombre (en este caso NSS). El ejemplo anterior se puede expresar: EMPLEADO  *  TRABAJA_EN En caso de no existir atributos con el mismo nombre, lo que en realidad se obtendría sería un producto cartesiano: EMPLEADO  X  TRABAJA_EN Si en una equireunión ( ⋈ ) no se especifica el criterio de reunión, se tomará como reunión natural, si además no existen atributos con el mismo nombre, entonces se tratará como un producto cartesiano.
Operaciones del Algebra Relacional Reunión Externa .- Las reuniones antes vistas solo devuelven tuplas coincidentes en ambas relaciones. En ocasiones es necesario listar todas las tuplas de R o de S, por lo que se hace necesaria una reunión externa, la cual puede ser izquierda o derecha. Sintaxis:  R   <CONDICIÓN DE REUNIÓN> (S)  reunión externa izquierda R   <CONDICIÓN DE REUNIÓN> (S)  reunión externa derecha Supongamos que queremos listar los nombres de los empleados y el nombre del departamento que dirigen, si es que dirigen un departamento:  NOMBREP, APELLIDO, NOMBRED  (EMPLEADO    < NSS=NSSGTE> (DEPARTAMENTO)) Relación resultante Las reuniones externas suelen devolver valores nulos NOMBREP APELLIDO NOMBRED José Silva nulo Federico Vizcarra Investigación Alicia Zapata nulo Jazmín Valdés Administración Ramón Nieto nulo Josefa Esparza nulo Ahmed Jabbar nulo Jaime Botello Direccion
Operaciones del Algebra Relacional División .-  Permite obtener los datos que se relacionan con todos los elementos de otro conjunto .  Crea una nueva relación, seleccionando las filas en una relación que se corresponden con todas las filas en otra relación . Sintaxis:  R  ÷  S En el siguiente ejemplo, se muestran los nombres de las materias que se imparten en todas las carreras. Relación resultante ÷ Aunque no se pueden restituir las tablas originales, se considera la operación inversa del productor cartesiano = MATERIA CARRERA CC419 ING. COMPUTACION CC219 LIC. INFORMATICA CC302 ING QUIMICO CC419 LIC. INFORMATICA CC308 ING. COMPUTACION CC301 ING. QUIMICO CC419 ING. QUIMICO CC219 ING. COMPUTACION CC201 LIC. INFORMATICA CC219 ING. QUIMICO CC421 ING. COMPUTACION CC302 LIC. INFORMATICA CARRERA ING. COMPUTACION LIC. INFORMATICA ING QUIMICO MATERIA CC419 CC219
Operaciones del Algebra Relacional Asignación .- En operaciones complejas (sobre todo en subconsultas) es común que se obtengan tablas temporales para ir simplificando las operaciones. Sintaxis: R    (operación del Algebra Relacional)  Por ejemplo: Se desea listar los números del seguro social de los empleados   que ganan más de 20,000 y que son mujeres , utilizano una intersección : Se pudiera expresar:  NSS  ( σ SALARIO>20000 (EMPLEADO))  NSS  (  σ SEXO=F  (EMPLEADO) ) ∩    NSS  ( σ SALARIO>20000 (EMPLEADO)    NSS  (  σ SEXO=F  (EMPLEADO)   ∩
Operaciones del Algebra Relacional Funciones agregadas .- Hay solicitudes que no se pueden expresar mediante el álgebra relacional y por lo tanto se deben especificar utilizando funciones matemáticas agregadas. Como ejemplos tenemos el calcular el número de empleados o el salario medio total de todos los empleados. Entre estas funciones se encuentran: SUMA, PROMEDIO, CUENTA, MÁXIMO, MÍNIMO. Todas estas funciones pueden aplicarse a una colección de tuplas. Sintaxis:  <ATRIBUTOS DE AGRUPACIÓN>   <LISTA DE FUNCIONES>  (RELACIÓN) Supongamos que queremos obtener los números de departamentos, el número de empleados de cada departamento y su salario medio: ND   cuenta NSS, promedio SALARIO  (EMPLEADO) Relación resultante ND CUENTA_NSS PROMEDIO_SALARIO 5 4 33250 4 3 31000 1 1 55000
Conjunto completo de operaciones Está demostrado que el conjunto de operaciones (llamadas  básicas ): {  ,   , U,  - , X} Es un  conjunto completo , pues con cualquier combinación de esas operaciones se pueden obtener otras (también llamadas  derivadas ), como es el caso de los diferentes tipos de reunión y la división.
Dudas y Preguntas: Correo electrónico: [email_address]

Más contenido relacionado

PDF
Algebra relacional
PPT
algoritmosparalelos
PDF
54599266 ejercicios-flip-flops
PPTX
Pilas estáticas. IESIT
PPT
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
PPTX
Listas
DOCX
Circuito detector de numeros primos de 4 bits
PPTX
Tipos de listas en estructura de datos
Algebra relacional
algoritmosparalelos
54599266 ejercicios-flip-flops
Pilas estáticas. IESIT
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Listas
Circuito detector de numeros primos de 4 bits
Tipos de listas en estructura de datos

La actualidad más candente (20)

PDF
Sql queries questions and answers
PDF
Clase 2 Modelo Relacional - MR
PPTX
Graphs data structures
PPTX
Database normalization
PPTX
Importancia de la implementación de las listas para la estructura de datos
DOC
Lista simple
PDF
Flip-Flops y aplicaciones de los Latch
PPTX
Estructura de datos lineales y no lineales
DOCX
Transformada Z
PPT
Dbms ii mca-ch4-relational model-2013
PDF
Graph Data Structure
PPT
Ch 3 E R Model
PDF
Tema3 semiconductores
PPTX
Programación Orientada a Objetos - Otras relaciones entre clases
PPT
entity-relationship-diagram-chen-&-crow -model.ppt
PPTX
Programación 3: colas
PDF
Multiplexor 4 Entradas 1 Salida (4-1)
PDF
Utp pds_s1y2_intro pds
PDF
Registros_Problemas de circuitos digitales.pdf
PDF
Revisando la jerarquía de chomsky
Sql queries questions and answers
Clase 2 Modelo Relacional - MR
Graphs data structures
Database normalization
Importancia de la implementación de las listas para la estructura de datos
Lista simple
Flip-Flops y aplicaciones de los Latch
Estructura de datos lineales y no lineales
Transformada Z
Dbms ii mca-ch4-relational model-2013
Graph Data Structure
Ch 3 E R Model
Tema3 semiconductores
Programación Orientada a Objetos - Otras relaciones entre clases
entity-relationship-diagram-chen-&-crow -model.ppt
Programación 3: colas
Multiplexor 4 Entradas 1 Salida (4-1)
Utp pds_s1y2_intro pds
Registros_Problemas de circuitos digitales.pdf
Revisando la jerarquía de chomsky
Publicidad

Similar a cc302modulo3 (20)

PPT
Tm10 modelo relacional
PPTX
Diseño de Base de DatosFin.pptx
PPTX
Modelo Relacional y componentes principales
PDF
Tema2 bases dedatosrelacional
PDF
MODELOS RELACIONAL.pdf
PPT
Modelo relacional2
PPT
modelo relacional
PPT
Unidad 4 Modelo De Datos Para La ImplementacióN
PPT
clase 3-MODELO RELACIONAL.ppt
PPT
Modelo relacional
PPT
Bases de Datos Cap:III El modelo relacional
PPT
MODELO RELACIONAL
PPT
Modelo relacional
PDF
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
PPT
Modelo relacional
PPT
PresentacióN Tema 8
PDF
BASES DE DATOS CL2 para PPT.pdf
PDF
5 modelo relacional
PDF
Modelo relacional
PPT
Modelo relacional rozic
Tm10 modelo relacional
Diseño de Base de DatosFin.pptx
Modelo Relacional y componentes principales
Tema2 bases dedatosrelacional
MODELOS RELACIONAL.pdf
Modelo relacional2
modelo relacional
Unidad 4 Modelo De Datos Para La ImplementacióN
clase 3-MODELO RELACIONAL.ppt
Modelo relacional
Bases de Datos Cap:III El modelo relacional
MODELO RELACIONAL
Modelo relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Modelo relacional
PresentacióN Tema 8
BASES DE DATOS CL2 para PPT.pdf
5 modelo relacional
Modelo relacional
Modelo relacional rozic
Publicidad

Último (20)

PDF
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
DOC
Manual de Convivencia 2025 actualizado a las normas vigentes
PDF
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
PDF
Manual del Gobierno Escolar -MINEDUC.pdf
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
PDF
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
PDF
E1 Guía_Matemática_5°_grado.pdf paraguay
PDF
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
PDF
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
PPTX
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PDF
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
DOCX
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - CUARTO GRADO.docx
PPTX
Clase 3 del silabo-gestion y control financiero
PPTX
4. Qué es un computador PARA GRADO CUARTO.pptx
PDF
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
PDF
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
Manual de Convivencia 2025 actualizado a las normas vigentes
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
Manual del Gobierno Escolar -MINEDUC.pdf
Ernst Cassirer - Antropologia Filosofica.pdf
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
E1 Guía_Matemática_5°_grado.pdf paraguay
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - CUARTO GRADO.docx
Clase 3 del silabo-gestion y control financiero
4. Qué es un computador PARA GRADO CUARTO.pptx
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf

cc302modulo3

  • 1. cc302 – Módulo 3 Bibliografía: Sistemas de bases de datos Ramez Elmasri y Shamkant B. Navathe Fundamentos de bases de datos Henry F. y Abraham Silverschatz Sistemas de Bases de Datos. Diseño, Implementación y Admón Peter Rob y Carlos Coronel Modelo Relacional Prof. J. Ignacio Vázquez Herrera
  • 2. Modelos de datos Alto nivel o Conceptuales De implementación o Lógicos Bajo nivel o Físicos El Modelo Entidad-Relación o Entidad-Vínculo cae dentro de la clasificación de Modelos de Datos de Alto Nivel o Conceptuales.
  • 3. Proceso del diseño de Bases de Datos Minimundo Recolección de análisis de requerimientos Diseño Conceptual Diseño Lógico Diseño Físico Modelo Entidad-Relación Modelo Relacional Independiente Del SGBD Específico para Cada SGBD
  • 4. Conceptos básicos del Modelo Relacional El Modelo Relacional fue introducido en 1970 por Ted Codd (IBM). Representa la BD como una Colección de Relaciones . Una Relación se visualiza como una tabla de valores . Cada Fila representa una colección de valores de datos relacionados entre sí . Dichos valores son hechos del mundo real . El nombre de la tabla y columnas ayudan a interpretar su significado. LUGARES_DEPTOS NUMEROD LUGARD 1 Tlaquepaue 4 Guadalajara 5 Zapopan 5 Zapotlanejo 5 Guadalajara PROYECTO NOMBREP NUMEROP LUGARP NUMD ProductoX 1 Guadalajara 5 ProductoY 2 Zapotlanejo 5 ProductoZ 3 Tlaquepaque 5 Automatización 10 Guadalajara 4 Reorganización 20 Tlaquepaque 1 NuevasPrestaciones 30 Zapopan 4 DEPARTAMENTO NOMBRED NUMEROD NSSGTE FECHAINICGTE Investigación 5 333445555 22-MAY-78 Administración 4 987654321 01-ENE-85 Dirección 1 888665555 19-JUN-71 TRABAJA_EN NSS NUMP HORAS 123456789 1 32.5 123456789 2 7.5 666884444 3 40.0 453453453 1 20.0 453453453 2 20.0 333445555 2 10.0 333445555 3 10.0 333445555 10 10.0 333445555 20 10.0 999887777 30 30.0 999887777 10 10.0 987987987 10 35.0 987987987 30 5.0 987987987 30 20.0 987987987 20 15.0 888665555 20 NULO
  • 5. Conceptos básicos del Modelo Relacional Los elementos del modelo relacional son llamados Relaciones, Tuplas y Atributos. Tradicionalmente, en las aplicaciones DBMS (SGBD) son conocidos como tablas, registros (o filas) y campos (o columnas) . Atributos Nombre de la relación Tuplas ESTUDIANTE Nombre NSS TelParticular Dirección TelOficina Edad Prom Benjamín Baeza 305-61-2435 36-46-23-89 Balboa 2918 Nulo 10 3.21 Karla Armenta 381-62-1245 36-56-72-35 Maíz 125 Nulo 18 2.89 Diego Domínguez 422-11-2320 36-51-28-74 Espina 3452 36-22-11-67 25 3.53 Carlos Cortés 489-22-1100 38-56-23-45 Libertad 265 36-45-79-34 28 3.25
  • 6. Conceptos básicos del Modelo Relacional Un Dominio es un conjunto de valores atómicos, es decir: no indivisibles: Números de Seguro Social, Calificaciones, Edades, Números Telefónicos, Nombres, etc. Un Dominio debe tener un Nombre, Tipo de Datos y Formato. El Grado de una Relación es el número de atributos n del esquema R. La Cardinalidad de una Relación es el número de tuplas que la forman. Cardinalidad de la relación: 3 El atributo NSS cuyo dominio son los números del seguro social Grado de la relación: 7 Nombre de La relación ESTUDIANTE Nombre NSS TelParticular Dirección TelOficina Edad Prom Benjamín Baeza 305-61-2435 36-46-23-89 Balboa 2918 Nulo 10 3.21 Karla Armenta 381-62-1245 36-56-72-35 Maíz 125 Nulo 18 2.89 Diego Domínguez 422-11-2320 36-51-28-74 Espina 3452 36-22-11-67 25 3.53
  • 7. Notación del Modelo Relacional Esquema de relación : R(A 1 , A 2 , ..., A n ) Tupla de grado n : t=<v 1 ,v 2 , ..., v n > Valor de t para el atributo A i : t[A i ] Dominio de A i : dom(A i ) Subtupla de t : t[A 1 , A 2 , ..., A z ] Ejemplo: Esquema de relación : Clientes(nombreCli, dniCli, domicilio) Dominio de dniCli : Números enteros postivos Tupla : t=<“Johnson”, “1”, “La Reina nº7”> Valor de tupla : t[nombreCli] Subtupla : t[nombreCli, domicilio]
  • 8. Ejemplares y Esquemas de Relación Un Ejemplar de Relación o relación r(R) es un subconjunto del producto cartesiano de los dominios que definen a R. Un Esquema de Relación R se compone de un nombre de relación R, y una lista de atributos A 1 , A 2 A 3 , ….., A n ; cada uno de los cuales es el nombre de un papel desempeñado por un dominio D o dom(A i ). Un Esquema de Relación es relativamente estático (no cambia mucho con el tiempo), mientras que un Ejemplar de Relación en un momento dado refleja el estado actual de la relación . Es posible que varios atributos tengan el mismo dominio, siempre y cuando indiquen diferentes papeles (o roles) como en los atributos TelParticular y TelOficina de la siguiente relación. ESTUDIANTE Nombre NSS TelParticular Dirección TelOficina Edad Prom Benjamín Baeza 305-61-2435 36-46-23-89 Balboa 2918 Nulo 10 3.21 Karla Armenta 381-62-1245 36-56-72-35 Maíz 125 Nulo 18 2.89 Diego Domínguez 422-11-2320 36-51-28-74 Espina 3452 36-22-11-67 25 3.53
  • 9. Ejemplares y Esquemas de Relación Un Ejemplar de Relación o relación r(R) es un subconjunto del producto cartesiano de los dominios que definen a R. r(R)  dom(A 1 ) X dom(A 2 ) X …… X dom(A n ) Dado el esquema de relación R(A 1 ,A 2 ), donde los dominios de los atributos A 1 y A 2 son: dom(A 1 ) = {a,b,c} dom(A 2 ) = {d,e} El producto cartesiano de los dominios que definen a R { dom(A 1 ) X dom(A 2 ) } daría: Los ejemplares de relación r 1 (R), r 2 (R) y r 3 (R): Cumplen con la definición anterior, pues son todos subconjuntos de los dominios que definen a R El producto cartesiano se refiere a todas las combinaciones posibles que se pueden presentar con los dominios de R r1 A 1 A 2 a d c e r2 A 1 A 2 b d c d A 1 A 2 a d a e b d b e c d c e r3 A 1 A 2 a e b e
  • 10. Características de las Relaciones Una Relación se define como un conjunto de tuplas. Ya que en la teoría matemática de conjuntos los elementos no están ordenados, las tuplas de una relación no tienen orden específico . Una Tupla se define como una lista ordenada de valores, así que el orden de los valores de una tupla sí es importante . Por ser una relación un conjunto de tuplas, se infiere que cada tupla es diferente En el modelo Relacional no se admiten atributos multivaluados o atributos compuestos ESTUDIANTE Nombre NSS TelParticular Dirección TelOficina Edad Prom Benjamín Baeza 305-61-2435 36-46-23-89 Balboa 2918 Nulo 10 3.21 Karla Armenta 381-62-1245 36-56-72-35 Maíz 125 Nulo 18 2.89 Diego Domínguez 422-11-2320 36-51-28-74 Espina 3452 36-22-11-67 25 3.53 Carlos Cortés 489-22-1100 38-56-23-45 Libertad 265 36-45-79-34 28 3.25
  • 11. Esquema de BD Relacional Un esquema de base de datos relacional es un conjunto de esquemas de relaciones y un conjunto de restricciones de integridad . EMPLEADO DEPARTAMENTO LUGARES_DEPTOS PROYECTO TRABAJA_EN DEPENDIENTE Conjunto de esquema de relaciones . Falta definir el conjunto de restricciones de integridad NUMEROD LUGARD NSSE NUMP HORAS NOMBREP NUMEROP LUGARP NUMD NSS NOMBRE_DEPENDIENTE SEXO FECHAN PARENTESCO NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND NOMBRED NUMEROD NSSGTE FECHAINICGTE
  • 12. Esquema de BD Relacional Restricciones de Dominio . El valor de cada atributo A debe ser un valor atómico del dominio dom(A) para ese atributo. Restricciones de clave . Debido a que en un conjunto todos los elementos son diferentes, todas las tuplas en una relación son diferentes. Una Clave está formada por uno o más atributos y describe a una tupla unívocamente (le da carácter de unicidad). Restricción de Integridad de Entidades . Puesto que una clave primaria identifica unívocamente a una relación, no puede ser nula. Restricción de Integridad Referencial . Una tupla en una relación que haga referencia a otra relación deberá referirse a una tupla existente en esa relación. Restricciones de Integridad Semántica . Se imponen a partir de determinadas reglas de negocios, por ejemplo: Un empleado no debe exceder el salario de un supervisor.
  • 13. Restricciones de clave EMPLEADO DEPARTAMENTO LUGARES_DEPTOS PROYECTO TRABAJA_EN DEPENDIENTE Cada uno de los esquemas de relación que conforman el esquema de BD debe tener uno o más atributos claves , que sirven para identificar de manera única a una tupla. NUMEROD LUGARD NSSE NUMP HORAS NOMBREP NUMEROP LUGARP NUMD NSS NOMBRE_DEPENDIENTE SEXO FECHAN PARENTESCO NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND NOMBRED NUMEROD NSSGTE FECHAINICGTE
  • 14. Claves (Llaves) Superclave . Es un conjunto de uno o más atributos que tomados colectivamente, permiten identificar de manera única a una entidad. Por definición todos los atributos de una relación forman una superclave. Una superclave puede descomponerse a su vez en otras superclaves. Clave Candidata . Una superclave mínima, tal que no contenga otras superclaves. Clave Primaria (o principal) . Clave candidata que es elegida para identificar una entidad, buscando que los atributos que la conforman nunca cambien. Clave Foránea (o externa) . Se dice de la clave primaria de la cual dependen otras entidades (como las entidades débiles). Clave Parcial . En el caso de una entidad débil, es un atributo que se utiliza como discriminador y que junto con la clave foránea forma la clave principal.
  • 15. SuperClaves Técnicamente, el conjunto de todos los atributos forman una superclave, porque le dan unicidad a la relación Pero igual cumplen los siguientes subconjuntos: num_eco, matricula; maticula, serie_motor; serie_motor, marca; Etc,etc. VEHICULO NUM_ECO MATRICULA SERIE_MOTOR MARCA MODELO CHOFER
  • 16. Claves Candidatas y Claves Primarias En la relación VEHICULO se pueden encontrar dos superclaves mínimas (no se pueden dividir en otras superclaves): matricula y serie_motor Como ambas describen unívocamente a la entidad se les denomina claves candidatas Como es más probable que el atributo “matricula” cambie con el tiempo (como en un robo de placas), se elige el atributo serie_motor como clave primaria (o clave principal) puesto que el número de serie del motor por lo general no cambia VEHICULO NUM_ECO MATRICULA SERIE_MOTOR MARCA MODELO CHOFER
  • 17. Claves Foráneas El atributo “ chofer ” se puede considerar como clave foránea , si en lugar de escribir nombres de personas como valores, se indican códigos que hacen referencia al nombre del chofer (o número del seguro social) en otra relación. VEHICULO EMPLEADO NUM_ECO MATRICULA SERIE_MOTOR MARCA MODELO CHOFER NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND
  • 18. Claves Parciales Son aquellas que no describen unívocamente a una relación. La relación DEPENDIENTE no cuenta con una clave primaria o principal propia. Su clave principal la forman: la clave foránea NSS y la clave parcial NOMBRE_DEPENDIENTE. NOMBRE_DEPENDIENTE por sí solo no puede ser clave principal puesto que sus valores se pueden repetir. EMPLEADO DEPENDIENTE Clave parcial o atributo discriminador Clave foránea NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND NSS NOMBRE_DEPENDIENTE SEXO FECHAN PARENTESCO
  • 19. Restricción de Integridad Referencial La restricción de integridad referencial establece que una tupla en una relación que haga referencia a otra relación deberá referirse a una tupla existente en esa relación. Por ejemplo: si se elimina el departamento 5 se violaría esta restricción si hubiera empleados en dicho departamento LUGARD NUMEROD HORAS NUMP NSSE NUMD LUGARP NUMEROP NOMBREP PARENTESCO FECHAN SEXO NOMBRE_ DEPENDIENTE NSS SEXO DIRECCION FECHAN NSS APELLIDO INIC ND NSSUPER SALARIO NOMBREP FECHAINICGTE NSSGTE NUMEROD NOMBRED EMPLEADO DEPARTAMENTO LUGARES_DEPTOS PROYECTO TRABAJA_EN DEPENDIENTE
  • 20. Ejemplar de una BD Relacional Base de Datos COMPAÑIA EMPLEADO NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND José B Silva 123456789 09-ENE-55 Fresno 731, Guadalajara M 30000 333445555 5 Federico T Vizcarra 333445555 08-DIC-45 Valle 638, León M 40000 888665555 5 Alicia J Zapata 999887777 19-JUL-58 Castillo 3321, Monterrey F 25000 987654321 4 Jazmín S Valdés 987654321 20-JUN-31 Bravo 291, Guadalajara F 43000 888665555 4 Ramón K Nieto 666884444 15-SEP-52 Independencia 35, León M 38000 333445555 5 Josefa A Esparza 453453453 31-JUL-62 Canción 1450, Zapopan F 25000 333445555 5 Ahmed V Jabbar 987987987 29-MAR-59 Dallas 980, Tlaquepaque M 25000 987654321 4 Jaime E Botello 888665555 10-NOV-27 Sorgo 450, Zapopan M 55000 Nulo 1 LUGARES_DEPTOS NUMEROD LUGARD 1 Tlaquepaue 4 Guadalajara 5 Zapopan 5 Zapotlanejo 5 Guadalajara DEPENDIENTE NSS NOMBRE_DEPENDIENTE SEXO FECHAN PARENTESCO 333445555 Alicia F 05-ABR-76 HIJA 333445555 Teodoro M 25-OCT-73 HIJO 333445555 Jobita F 03-MAY-48 CONYUGE 987654321 Abdiel M 29-FEB-32 CONYUGE 123456789 Miguel M 01-ENE-78 HIJO 123456789 Alicia F 31-DIC-78 HIJA 123456789 Elizabeth F 05-MAY-57 CONYUGE PROYECTO NOMBREP NUMEROP LUGARP NUMD ProductoX 1 Guadalajara 5 ProductoY 2 Zapotlanejo 5 ProductoZ 3 Tlaquepaque 5 Automatización 10 Guadalajara 4 Reorganización 20 Tlaquepaque 1 NuevasPrestaciones 30 Zapopan 4 DEPARTAMENTO NOMBRED NUMEROD NSSGTE FECHAINICGTE Investigación 5 333445555 22-MAY-78 Administración 4 987654321 01-ENE-85 Dirección 1 888665555 19-JUN-71 TRABAJA_EN NSS NUMP HORAS 123456789 1 32.5 123456789 2 7.5 666884444 3 40.0 453453453 1 20.0 453453453 2 20.0 333445555 2 10.0 333445555 3 10.0 333445555 10 10.0 333445555 20 10.0 999887777 30 30.0 999887777 10 10.0 987987987 10 35.0 987987987 30 5.0 987987987 30 20.0 987987987 20 15.0 888665555 20 NULO
  • 21. Operaciones del Modelo Relacional Insertar Eliminar Modificar Seleccionar Proyectar Reunión Unión Intersección Diferencia Producto Cartesiano Teoría de Conjuntos Algebra Relacional Operaciones de Actualización Operaciones de BD Relacionales Propias del Sistema Gestor de Base de Datos (SGBD)
  • 22. Operaciones de Actualización Insertar .- proporciona una lista de atributos para una nueva tupla t que se ha de insertar en la relación R. No deberá violar ninguno de los cuatro tipos de restricciones (de Dominio, de Clave, Integridad de Entidades, Integridad Referencial). Insertar < ‘ProductoW’, ‘3’, ‘Zapotlanejo’, ‘4’ > Insertar < ‘ProductoH’, ‘4’, ‘Guadalajara’, ‘5’ > Es aceptada Viola la restricción de clave, pues ya existe otra tupla con el mismo valor de NUMEROP PROYECTO NOMBREP NUMEROP LUGARP NUMD ProductoX 1 Guadalajara 5 ProductoY 2 Zapotlanejo 5 ProductoZ 3 Tlaquepaque 5 Automatización 10 Guadalajara 4 NuevasPrestaciones 30 Zapopan 4
  • 23. Operaciones de Actualización Eliminar .- Solo puede violar la integridad referencial, si las claves foráneas (externas) de otras tuplas de la BD hacen referencia a la tupla que se ha de eliminar. Eliminar la tupla EMPLEADO con NSS = ‘123456789’ No es aceptable pues dos tuplas de TRABAJA_EN hacen referencia a esta tupla EMPLEADO TRABAJA_EN NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSUPER ND José B Silva 123456789 M 30000 333445555 5 Federico T Vizcarra 333445555 M 40000 888665555 5 Josefa A Esparza 453453453 F 25000 333445555 5 Ahmed V Jabbar 987987987 M 25000 987654321 4 Jaime E Botello 888665555 M 55000 Nulo 1 NSS NUMP HORAS 123456789 1 32.5 123456789 2 7.5 987987987 30 5.0 987987987 20 15.0 888665555 20 NULO
  • 24. Operaciones de Actualización Modificar .- Modificar un atributo que sea clave primaria puede violar las restricciones de integridad, puesto que equivale a eliminar una tupla e insertar una nueva en su lugar. Modificar un atributo que no sea clave primaria o clave externa (foránea) casi nunca causa problemas, solo hay que constatar que sea del tipo de datos correcto y que esté en el dominio. Modificar la tupla EMPLEADO con NSS = ‘123456789’ Cambiándolo a ‘987654321’ Viola la Integridad Referencial, pues en la tabla TRABAJA_EN hay una clave externa que hace referencia a NSS. EMPLEADO TRABAJA_EN NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSUPER ND José B Silva 123456789 M 30000 333445555 5 Federico T Vizcarra 333445555 M 40000 888665555 5 Josefa A Esparza 453453453 F 25000 333445555 5 Ahmed V Jabbar 987987987 M 25000 987654321 4 Jaime E Botello 888665555 M 55000 Nulo 1 NSS NUMP HORAS 123456789 1 32.5 123456789 2 7.5 987987987 30 5.0 987987987 20 15.0 888665555 20 NULO
  • 25. Algebra Relacional Un lenguaje de consulta es aquel en el que el usuario puede solicitar información de la base de datos. Suele ser de más alto nivel que los lenguajes de programación estándar, y se clasifican en procedimentales y no procedimentales (o declarativos) . En un lenguaje procedimental el usuario da instrucciones al sistema para que realice una serie de operaciones sobre la base de datos con el fin de obtener el resultado deseado. En un lenguaje no procedimental (o declarativo) el usuario describe la información deseada sin dar un procedimiento concreto sobre cómo obtener esa información. El Álgebra Relacional es un lenguaje de consulta procedimental . Consta de un conjunto de operaciones que toman una o dos relaciones como entrada y producen una nueva relación como salida.
  • 26. Operaciones del Algebra Relacional Seleccionar .- La operación de selección selecciona algunas tuplas que satisfacen un predicado determinado. Se utiliza la letra griega sigma (  ) para indicarla. Sintaxis:  <predicado> (relación) Ejemplo: Dada la relación EMPLEADO: Obtener las tuplas cuyo SALARIO es mayor de 30000  SALARIO>30000 (EMPLEADO) Relación resultante NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSSUPER ND José B Silva 123456789 M 30000 333445555 5 Federico T Vizcarra 333445555 M 40000 888665555 5 Josefa A Esparza 453453453 F 25000 333445555 5 Ahmed V Jabbar 987987987 M 25000 987654321 4 Jaime E Botello 888665555 M 55000 Nulo 1 NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSSUPER ND Federico T Vizcarra 333445555 M 40000 888665555 5 Jaime E Botello 888665555 M 55000 Nulo 1
  • 27. Operaciones del Algebra Relacional Proyectar .- Es una operación unaria que devuelve su relación argumento con ciertas columnas omitidas. Puesto que la relación es un conjunto, no elimina las filas duplicadas. La proyección se denota por la letra griega pi (  ). Sintaxis:  <lista de columnas> (relación) Ejemplo: Dada la relación EMPLEADO: Obtener las columnas NOMBREP, APELLIDO Y NSS  NOMBREP,APELLIDO,NSS (EMPLEADO) Relación resultante A diferencia de la operación “Seleccionar”, la operación “Proyectar” no es conmutativa. NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSSUPER ND José B Silva 123456789 M 30000 333445555 5 Federico T Vizcarra 333445555 M 40000 888665555 5 Josefa A Esparza 453453453 F 25000 333445555 5 Ahmed V Jabbar 987987987 M 25000 987654321 4 Jaime E Botello 888665555 M 55000 Nulo 1 NOMBREP APELLIDO NSS José Silva 123456789 Federico Vizcarra 333445555 Josefa Esparza 453453453 Ahmed Jabbar 987987987 Jaime Botello 888665555
  • 28. Operaciones del Algebra Relacional En la práctica, la mayoría de las veces se requiere combinar dos o más operaciones para obtener una determinada consulta. Ejemplo: Encontrar Los nombres y apellidos de las mujeres que ganan más de 20000:  NOMBREP, APELLIDO ( σ SALARIO>20000 ^ SEXO=F (EMPLEADO) ) Relación resultante EMPLEADO NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSUPER ND José B Silva 123456789 09-ENE-55 Fresno 731, Guadalajara M 30000 333445555 5 Federico T Vizcarra 333445555 08-DIC-45 Valle 638, León M 40000 888665555 5 Alicia J Zapata 999887777 19-JUL-58 Castillo 3321, Monterrey F 20000 987654321 4 Jazmín S Valdés 987654321 20-JUN-31 Bravo 291, Guadalajara F 43000 888665555 4 Ramón K Nieto 666884444 15-SEP-52 Independencia 35, León M 38000 333445555 5 Josefa A Esparza 453453453 31-JUL-62 Canción 1450, Zapopan F 25000 333445555 5 Ahmed V Jabbar 987987987 29-MAR-59 Dallas 980, Tlaquepaque M 25000 987654321 4 Jaime E Botello 888665555 10-NOV-27 Sorgo 450, Zapopan M 55000 Nulo 1 NOMBREP APELLIDO Jazmín Valdés Josefa Esparza
  • 29. Operaciones del Algebra Relacional Unión .- Devuelve una relación que incluye las tuplas que están en R o en S o en ambas. Las relaciones que se unan han de tener los mismos tipos de atributos (deben ser compatibles), y se eliminan las tuplas repetidas. La unión se denota por R U S Ejemplo: Encontrar ESTUDIANTE U PROFESOR : Relación resultante Nótese como las tuplas repetidas en PROFESOR fueron eliminadas U = ESTUDIANTE NP AP Susana Yañez Ramón Sánchez Josué Landa Bárbara Jaimes Amanda Flores Jaime Vélez Ernesto Gómez NP AP Susana Yañez Ramón Sánchez Josué Landa Bárbara Jaimes Amanda Flores Jaime Vélez Ernesto Gómez Ricardo Bueno José Silva Francisco Jiménez PROFESOR NOMBREP APELLIDO Susana Yañez Ricardo Bueno José Silva Francisco Jiménez Ramón Sánchez
  • 30. Operaciones del Algebra Relacional Unión (cont) .- En muchas ocasiones la unión se aplica cuando la consulta implica una disyunción (OR). Por ejemplo: Se desea listar los números del seguro social de los empleados que trabajan en el departamento 5 O que supervisan directamente a un empleado que trabaja en dicho departamento. Relación resultante Nótese como las tuplas repetidas fueron eliminadas =  NSS ( σ ND=5 (EMPLEADO) )  NSSSUPER ( σ ND=5 (EMPLEADO) ) U NSS 123456789 333445555 666884444 453453453 888665555
  • 31. Operaciones del Algebra Relacional Unión (cont) .- La operación unión no es tan común porque la mayoría de las veces se puede reemplazar con el uso de dos condiciones unidas por una disyunción dentro del predicado de la selección. Ejemplo: Listar los NSS de los empleados que trabajan en el departamento 5 o en el departamento 1: O bien: Relación resultante =  NSS ( σ ND=5 v ND=1 (EMPLEADO) )  NSS ( σ ND=5 (EMPLEADO) ) U  NSS ( σ ND=3 (EMPLEADO) ) NSS 123456789 333445555 666884444 453453453 888665555
  • 32. Operaciones del Algebra Relacional Intersección .- Devuelve una relación que incluye las tuplas que están tanto en R como en S. Las relaciones han de tener los mismos tipos de atributos (deben ser compatibles). La Intersección es conmutativa. La intersección se denota por R ∩ S Ejemplo: Encontrar ESTUDIANTE ∩ PROFESOR : Relación resultante ∩ = ESTUDIANTE NP AP Susana Yañez Ramón Sánchez Josué Landa Bárbara Jaimes Amanda Flores Jaime Vélez Ernesto Gómez NP AP Susana Yañez Ramón Sánchez PROFESOR NOMBREP APELLIDO Susana Yañez Ricardo Bueno José Silva Francisco Jiménez Ramón Sánchez
  • 33. Operaciones del Algebra Relacional Intersección (cont) .- En muchas ocasiones la intersección se aplica cuando la consulta implica una conjunción (AND). Por ejemplo: Se desea listar los números del seguro social de los empleados que ganan más de 20,000 y que son mujeres. Relación resultante =  NSS ( σ SALARIO>20000 (EMPLEADO))  NSS ( σ SEXO=F (EMPLEADO) ) ∩ NSS 999887777 987654321 453453453
  • 34. Operaciones del Algebra Relacional Intersección (cont) .- La operación intersección no es tan común porque la mayoría de las veces se puede reemplazar con el uso de dos condiciones unidas por una conjunción dentro del predicado de la selección. El ejemplo anterior se puede expresar de la siguiente manera: Relación resultante =  NSS ( σ SALARIO >20000 ^ SEXO=F (EMPLEADO) ) NSS 999887777 987654321 453453453
  • 35. Operaciones del Algebra Relacional Diferencia .- Devuelve una relación que incluye las tuplas que están en R pero no en S. La intersección se denota por R – S . No es conmutativa por lo que no es lo mismo S - R: Ejemplo: Dadas las relaciones ESTUDIANTE Y PROFESOR encontrar: ESTUDIANTE-PROFESOR, PROFESOR-ESTUDIANTE ESTUDIANTE - PROFESOR PROFESOR - ESTUDIANTE ESTUDIANTE NP AP Susana Yañez Ramón Sánchez Josué Landa Bárbara Jaimes Amanda Flores Jaime Vélez Ernesto Gómez PROFESOR NOMBREP APELLIDO Susana Yañez Ricardo Bueno José Silva Francisco Jiménez Ramón Sánchez NOMBREP APELLIDO Ricardo Bueno José Silva Francisco Jiménez NP AP Josué Landa Bárbara Jaimes Amanda Flores Jaime Vélez Ernesto Gómez
  • 36. Producto Cartesiano .- Devuelve una relación que tiene una tupla por cada combinación de tuplas: una de R y una de S. El producto cartesiano se denota por R X S . El número de tuplas de la relación resultante es igual al producto del número de tuplas de R y el número de tuplas de S. Ejemplo: Encontrar ESTUDIANTE X PROFESOR: X = Operaciones del Algebra Relacional ESTUDIANTE NP AP Josué Landa Bárbara Jaimes Amanda Flores Jaime Vélez PROFESOR NOMBREP APELLIDO Susana Yañez Ricardo Bueno Ramón Sánchez ESTUDIANTE NP AP NOMBREP APELLIDO Josué Landa Susana Yañez Josué Landa Ricardo Bueno Josué Landa Ramón Sánchez Bárbara Jaimes Susana Yañez Bárbara Jaimes Ricardo Bueno Bárbara Jaimes Ramón Sánchez Amanda Flores Susana Yañez Amanda Flores Ricardo Bueno Amanda Flores Ramón Sánchez Jaime Vélez Susana Yañez Jaime Vélez Ricardo Bueno Jaime Vélez Ramón Sánchez
  • 37. Operaciones del Algebra Relacional Reunión .- Es una operación derivada (es decir, se puede representar en función de otras básicas). Permite combinar tuplas de dos relaciones R y S a través de una condición sobre los atributos. Sintaxis: R ⋈ <condición de reunión> (S) Es equivalente a la combinación de una selección y un producto cartesiano:  <condición de reunión> (R X S) Ejemplo: Dadas las relaciones EMPLEADO y TRABAJA_EN EMPLEADO TRABAJA_EN NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSUPER ND José B Silva 123456789 M 30000 333445555 5 Federico T Vizcarra 333445555 M 40000 888665555 5 Josefa A Esparza 453453453 F 25000 333445555 5 Ahmed V Jabbar 987987987 M 25000 987654321 4 Jaime E Botello 888665555 M 55000 Nulo 1 NSS NUMP HORAS 123456789 1 32.5 123456789 2 7.5 987987987 30 5.0 987987987 20 15.0 888665555 20 NULO
  • 38. Operaciones del Algebra Relacional Reunión (cont) .- Listar los datos de los empleados y los números de proyectos en los que participan, así como las horas que les dedican. EMPLEADO ⋈ EMPLEADO.NSS=TRABAJA_EN.NSS (TRABAJA_EN) Es equivalente a la combinación de una selección y un producto cartesiano:  EMPLEADO.NSS=TRABAJA_EN.NSS (EMPLEADO X TRABAJA_EN) Relación resultante Nótese como aparecen las columnas NSS de las 2 tablas originales NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSUPER ND NSS NUMP HORAS José B Silva 123456789 M 30000 333445555 5 123456789 1 32.5 José B Silva 123456789 M 30000 333445555 5 123456789 2 7.5 Ahmed V Jabbar 987987987 M 25000 987654321 5 987987987 30 5.0 Ahmed V Jabbar 987987987 M 25000 987654321 4 987987987 20 15.0 Jaime E Botello 888665555 M 55000 Nulo 1 888665555 20 NULO
  • 39. Operaciones del Algebra Relacional Equireunión .- Se le suele llamar a una reunión de esa manera cuando la condición de reunión es una igualdad. El ejemplo de la lámina anterior es una equireunión. Reunión Theta (  ) .- Se le llama así a una reunión cuando la condición de reunión es general. Sintaxis: R  <CONDICIÓN DE REUNIÓN> (S) Podríamos decir entonces, que una equireunión es un caso particular de una reunión theta, en el que la condición de reunión es una igualdad. Sin embargo la mayoría de los autores suelen representar a ambas reuniones con el mismo símbolo: ⋈
  • 40. Operaciones del Algebra Relacional Reunión Natural .- Permite eliminar las columnas redundantes en la relación resultante. Sintaxis: R * <CONDICIÓN DE REUNIÓN> (S) Es equivalente a la combinación de una proyección, una selección y un producto cartesiano. En el ejemplo de dos láminas anteriores: EMPLEADO * <EMPLEADO.NSS=TRABAJA_EN.NSS> (TRABAJA_EN) equivale a:  NOMBREP, INIC, APELLIDO, EMPLEADO.NSS, SEXO, SALARIO, NSSUPER, NUMP, HORAS (  < EMPLEADO.NSS=TRABAJA_EN.NSS> (EMPLEADO X TRABAJA_EN)) Relación resultante NOMBREP INIC APELLIDO NSS SEXO SALARIO NSSUPER NUMP HORAS José B Silva 123456789 M 30000 333445555 1 32.5 José B Silva 123456789 M 30000 333445555 2 7.5 Ahmed V Jabbar 987987987 M 25000 987654321 30 5.0 Ahmed V Jabbar 987987987 M 25000 987654321 20 15.0 Jaime E Botello 888665555 M 55000 Nulo 20 NULO
  • 41. Operaciones del Algebra Relacional Reunión Natural (cont) .- Si no se especifica la condición de reunión, se utilizarán los atributos que tienen el mismo nombre (en este caso NSS). El ejemplo anterior se puede expresar: EMPLEADO * TRABAJA_EN En caso de no existir atributos con el mismo nombre, lo que en realidad se obtendría sería un producto cartesiano: EMPLEADO X TRABAJA_EN Si en una equireunión ( ⋈ ) no se especifica el criterio de reunión, se tomará como reunión natural, si además no existen atributos con el mismo nombre, entonces se tratará como un producto cartesiano.
  • 42. Operaciones del Algebra Relacional Reunión Externa .- Las reuniones antes vistas solo devuelven tuplas coincidentes en ambas relaciones. En ocasiones es necesario listar todas las tuplas de R o de S, por lo que se hace necesaria una reunión externa, la cual puede ser izquierda o derecha. Sintaxis: R <CONDICIÓN DE REUNIÓN> (S) reunión externa izquierda R <CONDICIÓN DE REUNIÓN> (S) reunión externa derecha Supongamos que queremos listar los nombres de los empleados y el nombre del departamento que dirigen, si es que dirigen un departamento:  NOMBREP, APELLIDO, NOMBRED (EMPLEADO < NSS=NSSGTE> (DEPARTAMENTO)) Relación resultante Las reuniones externas suelen devolver valores nulos NOMBREP APELLIDO NOMBRED José Silva nulo Federico Vizcarra Investigación Alicia Zapata nulo Jazmín Valdés Administración Ramón Nieto nulo Josefa Esparza nulo Ahmed Jabbar nulo Jaime Botello Direccion
  • 43. Operaciones del Algebra Relacional División .- Permite obtener los datos que se relacionan con todos los elementos de otro conjunto . Crea una nueva relación, seleccionando las filas en una relación que se corresponden con todas las filas en otra relación . Sintaxis: R ÷ S En el siguiente ejemplo, se muestran los nombres de las materias que se imparten en todas las carreras. Relación resultante ÷ Aunque no se pueden restituir las tablas originales, se considera la operación inversa del productor cartesiano = MATERIA CARRERA CC419 ING. COMPUTACION CC219 LIC. INFORMATICA CC302 ING QUIMICO CC419 LIC. INFORMATICA CC308 ING. COMPUTACION CC301 ING. QUIMICO CC419 ING. QUIMICO CC219 ING. COMPUTACION CC201 LIC. INFORMATICA CC219 ING. QUIMICO CC421 ING. COMPUTACION CC302 LIC. INFORMATICA CARRERA ING. COMPUTACION LIC. INFORMATICA ING QUIMICO MATERIA CC419 CC219
  • 44. Operaciones del Algebra Relacional Asignación .- En operaciones complejas (sobre todo en subconsultas) es común que se obtengan tablas temporales para ir simplificando las operaciones. Sintaxis: R  (operación del Algebra Relacional) Por ejemplo: Se desea listar los números del seguro social de los empleados que ganan más de 20,000 y que son mujeres , utilizano una intersección : Se pudiera expresar:  NSS ( σ SALARIO>20000 (EMPLEADO))  NSS ( σ SEXO=F (EMPLEADO) ) ∩    NSS ( σ SALARIO>20000 (EMPLEADO)    NSS ( σ SEXO=F (EMPLEADO)   ∩
  • 45. Operaciones del Algebra Relacional Funciones agregadas .- Hay solicitudes que no se pueden expresar mediante el álgebra relacional y por lo tanto se deben especificar utilizando funciones matemáticas agregadas. Como ejemplos tenemos el calcular el número de empleados o el salario medio total de todos los empleados. Entre estas funciones se encuentran: SUMA, PROMEDIO, CUENTA, MÁXIMO, MÍNIMO. Todas estas funciones pueden aplicarse a una colección de tuplas. Sintaxis: <ATRIBUTOS DE AGRUPACIÓN>  <LISTA DE FUNCIONES> (RELACIÓN) Supongamos que queremos obtener los números de departamentos, el número de empleados de cada departamento y su salario medio: ND  cuenta NSS, promedio SALARIO (EMPLEADO) Relación resultante ND CUENTA_NSS PROMEDIO_SALARIO 5 4 33250 4 3 31000 1 1 55000
  • 46. Conjunto completo de operaciones Está demostrado que el conjunto de operaciones (llamadas básicas ): {  ,  , U, - , X} Es un conjunto completo , pues con cualquier combinación de esas operaciones se pueden obtener otras (también llamadas derivadas ), como es el caso de los diferentes tipos de reunión y la división.
  • 47. Dudas y Preguntas: Correo electrónico: [email_address]