Académique Documents
Professionnel Documents
Culture Documents
Modelo Relacional
2
Representa la base de datos como una coleccin de relaciones. Viendo cada relacin como una tabla de valores, cada fila de la tabla representa una coleccin de valores de datos relacionados entre s. En terminologa formal, una fila se denomina tupla, una cabecera de columnas es un atributo y la tabla se denomina relacin. Para cada atributo hay un conjunto de valores permitidos, denominado dominio de ese atributo.
Tabla Cliente
idCliente 19.283.746 1.928.374 nombre Gonzalez Gmez calle Arenal Carretas ciudad La Granja Junn
Tabla Cuenta
nroCuenta C-101 C-215 C-102 C-305 C-201 C-217 saldo 500 700 400 350 900 750
Tabla Prstamo
nroPrstamo importe P-15 P-10 50000 7000
Tabla PoseeCuenta
idCliente 19.283.746 19.283.746 1.928.374 67.789.901 nroCuenta C-101 C-201 C-215 C-102
67.789.901 18.273.609
32.112.312 33.666.999 25.123.456 23.928.374
Lpez Abril
Santos Ruprez Daz Prez
Mayor Preciados
Mayor Ramblas Corrientes Maip
Pergamino Valsain
Pergamino Len La Plata Junn
P-30 P-20
40000 3500
18.273.609
32.112.312 23.928.374
C-305
C-217 C-201
Tabla PoseePrstamo
Cliente= (idCliente, nombre, calle, ciudad) Cuenta= (nroCuenta, saldo) Prstamo= (nroPrstamo, importe) PoseeCuenta= (idCliente, nroCuenta) PoseePrstamo= (idCliente, nroPrstamo)
Lenguajes de consultas
4
Un lenguaje de consultas es un lenguaje en el que los usuarios solicitan informacin de la base de datos. Pueden clasificarse en dos grandes grupos:
Procedimentales: El usuario indica al sistema que lleve a cabo una serie de operaciones en la base de datos para calcular el resultado deseado. No procedimentales: El usuario describe la informacin deseada sin dar un procedimiento concreto para obtener esa informacin.
lgebra relacional
5
Consiste en un conjunto de operaciones que toman una o dos tablas como entrada y genera otra tabla nueva como resultado. Los operadores bsicos se dividen en dos grupos:
AR: Seleccin
6
El formato genrico es: predicado (tabla) Selecciona tuplas que satisfacen un predicado dado. Ej.: Presentar todos los clientes de la ciudad de Junn. ciudad = Junn (cliente)
idCliente 1.928.374 23.928.374 nombre Gmez Prez calle Carretas Maip ciudad Junn Junn
AR: Seleccin
7
La condicin puede tener conectivos lgicos (And, Or, Not) y operadores de comparacin <>, >, <, >=, <=, =. Ej.: Presentar los clientes de la ciudad de Pergamino con identificador mayor a 33.000.000. ciudad = Pergamino and idCliente > 33000000 (cliente)
idCliente 67.789.901 nombre Lpez calle Mayor ciudad Pergamino
AR: Proyeccin
8
El formato genrico es: lista de atributos (tabla) Devuelve la relacin argumento con columnas omitidas. Si quedan tuplas repetidas, se excluyen. Ej.: Presentar el nombre y ciudad de todos los clientes. nombre, calle (cliente)
nombre ciudad Gonzalez Gmez Lpez Abril La Granja Junn Pergamino Valsain
Santos
Ruprez Daz Prez
Pergamino
Len La Plata Junn
Ej.: Presentar los nmeros de cuenta con saldo menor a 500. nroCuenta (saldo < 500 (cuenta))
nroCuenta C-102
C-305
El orden de las operaciones es importante. Si el ej. anterior se hubiera presentado como saldo < 500 ( nroCuenta (cuenta)) la proyeccin quitara el atributo saldo, por lo que la seleccin posterior fallara.
El formato genrico es: tabla1 X tabla2 Combina la informacin de las dos tablas.
Ej.: Presentar todos los atributos de los clientes con sus cuentas. cliente X poseeCuenta
Cliente idCliente 19.283.746 19.283.746 19.283.746 19.283.746 19.283.746 19.283.746 19.283.746 1.928.374 1.928.374 nombre Gonzalez Gonzalez Gonzalez Gonzalez Gonzalez Gonzalez Gonzalez Gmez Gmez calle Arenal Arenal Arenal Arenal Arenal Arenal Arenal Carretas Carretas ciudad La Granja La Granja La Granja La Granja La Granja La Granja La Granja Junn Junn PoseeCuenta idCliente 19.283.746 19.283.746 1.928.374 67.789.901 18.273.609 32.112.312 23.928.374 19.283.746 19.283.746 nroCuenta C-101 C-201 C-215 C-102 C-305 C-217 C-201 C-101 C-201
Es necesario filtrar aquellas tuplas sin sentido. En nuestro ejemplo, el atributo idCliente de la tabla cliente debe coincidir con el idCliente de la tabla posee. cliente.idCliente = poseeCuenta.idCliente (cliente X poseeCuenta)
Cliente idCliente 19.283.746 19.283.746 1.928.374 67.789.901 18.273.609 32.112.312 23.928.374 nombre Gonzalez Gonzalez Gmez Lpez Abril Santos Prez calle Arenal Arenal Carretas Mayor Preciados Mayor Maip ciudad La Granja La Granja Junn Pergamino Valsain Pergamino Junn PoseeCuenta idCliente 19.283.746 19.283.746 1.928.374 67.789.901 18.273.609 32.112.312 23.928.374 nroCuenta C-101 C-201 C-215 C-201 C-305 C-217 C-201
AR: Renombre
13
El formato genrico es: nombreNuevo (tabla) Permite utilizar la misma tabla dos veces en la misma consulta. Ej.: Presentar el nombre de todos los clientes que viven en la misma ciudad que Lpez.
AR: Unin
14
El formato genrico es: tabla1 U tabla2 Equivalente a la unin matemtica. Las instancias repetidas se eliminan automticamente. Las dos tablas deben ser de unin compatibles
Igual cantidad de atributos. El i-simo atributo de la 1era. tabla y el i-simo atributo de la 2da. tabla deben tener el mismo dominio (i:1..n).
AR: Unin
15
Ej.: Presentar el identificador de todos los clientes que tienen cuenta, prstamo o ambos. idCliente (PoseeCuenta) U idCliente (PoseePrstamo)
Tabla PoseePrstamo
idCliente 19.283.746 1.928.374 nroPrstamo P-30 P-10 idCliente 19.283.746 1.928.374 67.789.901 18.273.609 32.112.312 23.928.374 33.666.999 nroCuenta C-101 C-201
Tabla PoseeCuenta
idCliente 19.283.746 19.283.746
1.928.374
67.789.901 18.273.609 32.112.312 23.928.374
C-215
C-102 C-305 C-217 C-201
18.273.609
33.666.999 23.928.374
P-20
P-15 P-10
AR: Diferencia
16
Permite hallar las tuplas que estn en una relacin pero no en la otra. Las dos tablas deben ser de unin compatibles.
AR: Diferencia
17
Ej.: Presentar el identificador de todos los clientes que tienen cuenta pero no tienen prstamo. idCliente (PoseeCuenta) - idCliente (PoseePrstamo)
Tabla PoseePrstamo
idCliente 19.283.746 1.928.374 nroPrstamo P-30 P-10 idCliente 67.789.901 32.112.312 nroCuenta C-101 C-201
Tabla PoseeCuenta
idCliente 19.283.746 19.283.746
1.928.374
67.789.901 18.273.609 32.112.312 23.928.374
C-215
C-102 C-305 C-217 C-201
18.273.609
33.666.999 23.928.374
P-20
P-15 P-10
Aeropuerto =(codAeropuerto, nombre, ciudad, pas) Vuelo = (codVuelo, lnea, codAeropuertoSale, codAeropuertoLlega) VueloAsignado = (codVuelo, fecha, horaSalida, cantidadAsientos, idAvin) ReservaAsientos = (codVuelo, fecha, horaSalida, numAsiento, idCliente, telCliente)
a)
b)
c)
d)
Confeccionar una lista con los cdigos de vuelo y fechas de todos los vuelos que salen de aeropuerto con cdigo IAH. Obtener un listado con las fechas y ciudades de los vuelos realizados por el cliente de identificacin 1111. Obtener cdigo, fecha, hora y ciudad de salida de los vuelos que no tengan reservas hechas. Obtener un listado de las ciudades de donde parten vuelos con cantidad de asientos superior a 150.