INSTITUTO TECNOLOGICO SUPERIOR DE LERDOFundamentos de bases de datos
Equipo 3
América Nayelli Ramírez Elicerio
Johana Martínez
sayra
Erick pulido
Ángel Delgadillo
Manuel Gutiérrez
Jesús Eduardo IbarraLenguajes FormalesExisten varios lenguajes de consultas “puros”: el álgebra relacional es procedimental, mientras que el cálculo relacional de tuplas y el cálculo relacional de dominios no lo son.
Estos lenguajes de consultas son rígidos y formales, y carecen del “azúcar sintáctico” de los lenguajes comerciales, pero ilustran las técnicas fundamentales para la extracción de datos de las bases de datos.
El álgebra relacional consiste en un conjunto de operaciones que tornan una o dos relaciones corno entrada y generan otra relación nueva como resultado. Se examinarán con gran detalle el lenguaje del álgebra relacional
Selección
Proyección
Unión
diferencia de conjuntos
producto cartesianoLas operaciones fundamentales del álgebra relacional son
intersección de conjuntosAdemás de las operaciones fundamentales hay otras operaciones
división reunión natural y AsignaciónMenú de asignación del alumnado
Existen cinco operaciones fundamentales  que a continuación se detallaran, por medio de estas se puede realizar cualquier consulta. Operaciones fundamentales
Es una operación unaria (actúa sobre una relación única). Sirve para obtener determinadas duplas de una relación, basándose en que dichas duplas cumplan un predicado determinado P. Su sintaxis es la siguiente:donde r es la relación sobre la que se actúa y P es el predicado que debe cumplirse. 1.- Selección (σ). σP (r)
Si por ejemplo tenemos la relación:     estudiante = (NE, nombre, edad, dirección) y queremos seleccionar al estudiante 2249 tendremos que hacer:Ejemplo:σ NE =2249(estudiante)
El predicado de selección admite los siguientes operadores relacionales:     Además un predicado puede estar compuesto por varias condiciones unidas por los conectivos< , ≤ , > , ≥ , =  ∨ ∧
De esta manera se seleccionarían todos los estudiantes llamados Pepe y cuya edad supere los 25 años.Ejemplo:σ nombre = "Pepe" ∧ edad > 25 (estudiante)
Es también una operación unaria. Proyecta una nueva relación con un nuevo esquema en el cual aparezcan solamente los atributos que se especifican en la operación. Sintaxis:  Donde A1 ,...., An es la lista de atributos y "r" la relación sobre la que se actúa.2.- Proyección (Π): Π A1 ,..., An(r).
Si, por ejemplo, queremos tener toda la relación de estudiantes, pero sólo con el nombre haríamos: Si quisiésemos obtener el nombre del estudiante 224: Ejemplo:Πnombre (estudiante) Πnombre (σ NE = 2249 (estudiante))
Si el número de tuplas de r1 es n1, y el número de tuplas de r2 es n2, el número de tuplas de la relación obtenida será n1·n2.3.- Producto Cartesiano (r1 x r2):
Supongamos que tenemos las siguientes relaciones: ejemploCliente = (nombre_cliente, ciudad, calle) Sucursal = (nombre_sucursal, activo, ciudad) Prestamo = (num_prestamo, nombre_sucursal, nombre_cliente, importe) Deposito = (num_cuenta, nombre_sucursal, nombre_cliente, saldo)
Si realizamos el producto cliente x préstamo, el esquema sería la unión de los esquemas:(cliente.nombre_cliente, ciudad, calle, num_prestamo, nombre_sucursal, prestamo.nombre_cliente, importe)

Lenguajes formales

  • 1.
    INSTITUTO TECNOLOGICO SUPERIORDE LERDOFundamentos de bases de datos
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    Jesús Eduardo IbarraLenguajesFormalesExisten varios lenguajes de consultas “puros”: el álgebra relacional es procedimental, mientras que el cálculo relacional de tuplas y el cálculo relacional de dominios no lo son.
  • 10.
    Estos lenguajes deconsultas son rígidos y formales, y carecen del “azúcar sintáctico” de los lenguajes comerciales, pero ilustran las técnicas fundamentales para la extracción de datos de las bases de datos.
  • 11.
    El álgebra relacionalconsiste en un conjunto de operaciones que tornan una o dos relaciones corno entrada y generan otra relación nueva como resultado. Se examinarán con gran detalle el lenguaje del álgebra relacional
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    producto cartesianoLas operacionesfundamentales del álgebra relacional son
  • 17.
    intersección de conjuntosAdemásde las operaciones fundamentales hay otras operaciones
  • 18.
    división reunión naturaly AsignaciónMenú de asignación del alumnado
  • 19.
    Existen cinco operacionesfundamentales que a continuación se detallaran, por medio de estas se puede realizar cualquier consulta. Operaciones fundamentales
  • 20.
    Es una operaciónunaria (actúa sobre una relación única). Sirve para obtener determinadas duplas de una relación, basándose en que dichas duplas cumplan un predicado determinado P. Su sintaxis es la siguiente:donde r es la relación sobre la que se actúa y P es el predicado que debe cumplirse. 1.- Selección (σ). σP (r)
  • 21.
    Si por ejemplotenemos la relación: estudiante = (NE, nombre, edad, dirección) y queremos seleccionar al estudiante 2249 tendremos que hacer:Ejemplo:σ NE =2249(estudiante)
  • 22.
    El predicado deselección admite los siguientes operadores relacionales: Además un predicado puede estar compuesto por varias condiciones unidas por los conectivos< , ≤ , > , ≥ , = ∨ ∧
  • 23.
    De esta manerase seleccionarían todos los estudiantes llamados Pepe y cuya edad supere los 25 años.Ejemplo:σ nombre = "Pepe" ∧ edad > 25 (estudiante)
  • 24.
    Es también unaoperación unaria. Proyecta una nueva relación con un nuevo esquema en el cual aparezcan solamente los atributos que se especifican en la operación. Sintaxis: Donde A1 ,...., An es la lista de atributos y "r" la relación sobre la que se actúa.2.- Proyección (Π): Π A1 ,..., An(r).
  • 25.
    Si, por ejemplo,queremos tener toda la relación de estudiantes, pero sólo con el nombre haríamos: Si quisiésemos obtener el nombre del estudiante 224: Ejemplo:Πnombre (estudiante) Πnombre (σ NE = 2249 (estudiante))
  • 26.
    Si el númerode tuplas de r1 es n1, y el número de tuplas de r2 es n2, el número de tuplas de la relación obtenida será n1·n2.3.- Producto Cartesiano (r1 x r2):
  • 27.
    Supongamos que tenemoslas siguientes relaciones: ejemploCliente = (nombre_cliente, ciudad, calle) Sucursal = (nombre_sucursal, activo, ciudad) Prestamo = (num_prestamo, nombre_sucursal, nombre_cliente, importe) Deposito = (num_cuenta, nombre_sucursal, nombre_cliente, saldo)
  • 28.
    Si realizamos elproducto cliente x préstamo, el esquema sería la unión de los esquemas:(cliente.nombre_cliente, ciudad, calle, num_prestamo, nombre_sucursal, prestamo.nombre_cliente, importe)
  • 29.
    Como tuplas obtenemoslas posibles combinaciones de tuplas de cliente con tuplas de préstamo. Habrá muchas tuplas de la nueva relación en las que se cumplirá que:t[cliente.nombre_cliente] ≠ t[prestamo.nombre_cliente]
  • 30.
    Por ello, normalmentela operación de producto cartesiano va unida a una selección que de entre todas las posibles combinaciones de tuplas selecciona las que cumplen unas condiciones.
  • 31.
    queremos localizar losclientes y las ciudades donde viven que tengan un préstamo.Por ejemplo Π prestamo.nombre_cliente, ciudad (σprestamo.nombre_cliente = cliente.nombre_cliente (cliente x prestamo))
  • 32.
    Actúa sobre dosrelaciones uniéndolas. El resultado es, por tanto, una nueva relación con el mismo esquema que las relaciones implicadas y con un número de tuplas que es la unión de las tuplas de r1 y r2 (los elementos duplicados se desechan). r1 y r2 deben tener el mismo esquema, es decir, los dominios de los atributos i-ésimos de cada uno de los esquemas debe coincidir. 4.- Unión de Conjuntos (r1 ∪ r2):
  • 33.
    En el ejemploque estamos considerando, no podríamos hacer la unión de cliente con préstamo, pero sí sería posible hacer esto otro por ejemplo:ejemplo(Π nombre_cliente (cliente)) ∪ (Πnombre_cliente (prestamo))
  • 34.
    Con la anterioroperación obtendríamos los nombres de los clientes que tienen préstamo o no. En la práctica esta sería una operación inútil, puesto que se supone que todos los que tienen un préstamo en un banco son automáticamente clientes del banco.
  • 35.
    si queremos conocerlos clientes que tienen en la sucursal 2 una cuenta, un préstamo, o ambas cosas, la operación a realizar sería:Veamos otra unión que sería de mayor utilidad:(Π nombre_cliente(σnombre_sucursal = "2" (prestamo))) ∪ (Π nombre_cliente(σnombre_sucursal = "2"(deposito)))
  • 36.
    Es una operaciónbinaria que da como resultado una relación con los elementos que están en r1, y no están en r2. Lógicamente r1 y r2 deben tener el mismo esquema. 5.- Diferencia de Conjuntos (r1 - r2):
  • 37.
    si por ejemploqueremos saber el nombre de los clientes que tienen un préstamo en la sucursal principal, pero que no tienen cuenta en dicha sucursal:Ejemplo:Πnombre_cliente(σnombre_sucursal = "Principal" (prestamo))) - (Π nombre_cliente(σnombre_sucursal = "Principal" (deposito)))
  • 38.
    Con las cincooperaciones definidas (operaciones fundamentales) se puede realizar cualquier consulta en álgebra relacional. Aun así, existen otras operaciones (operaciones adicionales), que facilitan algunos tipos de consulta frecuente, y que puede resultar muy tedioso el hacerlas mediante las operaciones fundamentales.