SlideShare una empresa de Scribd logo
1 de 47
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 ,[object Object],[object Object],[object Object],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 ,[object Object],[object Object],[object Object],[object Object],[object Object],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 ,[object Object],[object Object],[object Object],[object Object],[object Object]
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) ,[object Object],[object Object],[object Object],[object Object],[object Object]
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 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],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 ,[object Object],[object Object],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 ,[object Object],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 ,[object Object],[object Object],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 ,[object Object],[object Object],[object Object],[object Object]
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 ,[object Object],[object Object],[object Object],[object Object],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 ,[object Object],[object Object],[object Object],[object Object],[object Object]
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

La actualidad más candente

Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
josecuartas
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltos
Jansel M
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbench
Robedgar MX
 

La actualidad más candente (20)

Normalización en Bases de datos
Normalización en Bases de datosNormalización en Bases de datos
Normalización en Bases de datos
 
Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)
 
Pilas estáticas. IESIT
Pilas estáticas. IESITPilas estáticas. IESIT
Pilas estáticas. IESIT
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
 
Conclusiones sobre base de datos
Conclusiones sobre base de datos Conclusiones sobre base de datos
Conclusiones sobre base de datos
 
NORMALIZACIÓN
NORMALIZACIÓN  NORMALIZACIÓN
NORMALIZACIÓN
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQL
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltos
 
Crear y Eliminar Bases de datos en MySQL Workbench
Crear y Eliminar  Bases de datos en MySQL WorkbenchCrear y Eliminar  Bases de datos en MySQL Workbench
Crear y Eliminar Bases de datos en MySQL Workbench
 
ARBOLES AVL ROTACION DOBLE
ARBOLES AVL ROTACION DOBLEARBOLES AVL ROTACION DOBLE
ARBOLES AVL ROTACION DOBLE
 
Colas estáticas. IESIT
Colas estáticas. IESITColas estáticas. IESIT
Colas estáticas. IESIT
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridad
 
Una mirada al diagrama Entidad Relación E.E.R.R. por Luicossa
Una mirada al diagrama Entidad Relación E.E.R.R. por LuicossaUna mirada al diagrama Entidad Relación E.E.R.R. por Luicossa
Una mirada al diagrama Entidad Relación E.E.R.R. por Luicossa
 
3. modelo entidad relación extendido
3. modelo entidad relación extendido3. modelo entidad relación extendido
3. modelo entidad relación extendido
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbench
 

Similar a cc302modulo3

Tm10 modelo relacional
Tm10 modelo relacionalTm10 modelo relacional
Tm10 modelo relacional
Julio Pari
 
modelo relacional
modelo relacionalmodelo relacional
modelo relacional
ponxo90
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióN
Sergio Sanchez
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
Luis Jherry
 

Similar a cc302modulo3 (20)

Tm10 modelo relacional
Tm10 modelo relacionalTm10 modelo relacional
Tm10 modelo relacional
 
Diseño de Base de DatosFin.pptx
Diseño de Base de DatosFin.pptxDiseño de Base de DatosFin.pptx
Diseño de Base de DatosFin.pptx
 
Tema2 bases dedatosrelacional
Tema2 bases dedatosrelacionalTema2 bases dedatosrelacional
Tema2 bases dedatosrelacional
 
MODELOS RELACIONAL.pdf
MODELOS RELACIONAL.pdfMODELOS RELACIONAL.pdf
MODELOS RELACIONAL.pdf
 
Modelo relacional2
Modelo relacional2Modelo relacional2
Modelo relacional2
 
modelo relacional
modelo relacionalmodelo relacional
modelo relacional
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióN
 
clase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.pptclase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.ppt
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Bases de Datos Cap:III El modelo relacional
Bases de Datos Cap:III El modelo relacionalBases de Datos Cap:III El modelo relacional
Bases de Datos Cap:III El modelo relacional
 
MODELO RELACIONAL
MODELO RELACIONALMODELO RELACIONAL
MODELO RELACIONAL
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacionalUt3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
PresentacióN Tema 8
PresentacióN Tema 8PresentacióN Tema 8
PresentacióN Tema 8
 
BASES DE DATOS CL2 para PPT.pdf
BASES DE DATOS CL2 para PPT.pdfBASES DE DATOS CL2 para PPT.pdf
BASES DE DATOS CL2 para PPT.pdf
 
5 modelo relacional
5 modelo relacional5 modelo relacional
5 modelo relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Modelo relacional rozic
Modelo relacional rozicModelo relacional rozic
Modelo relacional rozic
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
 

Último

TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 

Último (20)

Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 

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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 22.
  • 23.
  • 24.
  • 25.
  • 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.
  • 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.
  • 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]