Ejemplos sobre algebra relacional

Solo disponible en BuenasTareas
  • Páginas : 8 (1778 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de marzo de 2011
Leer documento completo
Vista previa del texto
EJERCICIO 1

Realizar las siguientes consultas:

1. Número de todas las cuentas corrientes ( NumCta ) de la sucursal número 2 ordenadas por fecha de apertura ( FecApe ).

select NumCta from cuentawhere Suc_CodSuc='2' and tipocta='corriente'; |


2. El número de todas las cuentas corrientes del cliente con DNI 44444444 y el orden de titularidad.

select NumCta,NumOrd fromtitular, cuenta where (titular.Cli_DniCli='44444444' and cuenta.tipocta='corriente' and cuenta.NumCta=titular.Cu_NumCta); |


1. El número de todas las cuentas corrientes del cliente que se llama Pedro del Valle y el orden de titularidad.

select NumCta,ncuenta.NumOrd as NumOrd from cuenta join (select Cu_NumCta, NumOrd from cliente, titularwhere( NomCli='Pedro del Valle' andtitular.Cli_DniCli=cliente.DniCli)) as ncuentawhere tipocta='corriente' and NumCta= ncuenta.Cu_NumCta; |


3. El DNI y nombre de todos los clientes que tienen cuenta en la sucursal número 4, ordenado por nombre.

select NomCli,DniCli from cliente join (select titular.Cli_DniCli from titular join (select NumCta from cuenta where Suc_CodSuc='4') as ncuentawherencuenta.NumCta=titular.Cu_NumCta) as b where b.Cli_DniCli=cliente.DniCli order by NomCli; |


* 5. El saldo de la cuenta número 6.

create view vista as select saldo from cuenta where NumCta='6';select * from vista;select saldo from cuenta where NumCta='6'; |


* 6. El número y saldo de todas las cuentas de la sucursal número 4.

create view nvista as select NumCta, Saldo from cuenta whereSuc_CodSuc='4';select * from nvista;select NumCta, Saldo from cuenta where Suc_CodSuc='4'; |
* 7. Listado de clientes ( DNI y nombre ) con el saldo total ( suma de saldos ) de todas sus cuentas corrientes, ordenado por nombre.

create view mivista as select c.DniCli, c.NomCli, tit.Cu_NumCta from cliente c join titular tit on c.DniCli=tit.Cli_DniCLi order by c.NomCli;select DniCli, NomCLi,sum(saldo) frommivista join cuenta on Cu_NumCta=NumCta and tipocta='corriente' group by DniCli;select DniCli,NomCli, sum(Saldo) as saldo from cuenta join (select c.DniCli, c.NomCli, tit.Cu_NumCta from cliente c join titular tit onc.DniCli=tit.Cli_DniCLi) as datos on datos.Cu_NumCta=cuenta.NumCta and cuenta.tipocta='corriente' group by DniCli order by datos.NomCli; |


* 8. Todas las sucursales ( número ) y susaldo total ( suma de los saldo de todas sus cuentas ) ordenado descendentemente por el saldo.

create view vsucursal as select CodSuc, sum(saldo) as saldo, count(*) as cantidad from cuenta join sucursal on Suc_CodSuc=CodSuc group by CodSuc order by saldo desc; select * from vsucursal;select CodSuc, count(*) as cantidad, sum(saldo) as saldo from cuenta join sucursal onSuc_CodSuc=CodSuc group by CodSuc order by saldo desc; |


9. Todas las fechas que hay operaciones junto con el saldo global del banco acumulado hasta esa fecha.

SELECT FecOpe, SUM(ImpOpe) AS 'Saldo Acumulado' FROM operacion GROUP BY FecOpe; |


# 10. Todos los clientes (DNI y nombre) junto con el número de cuentas corrientes que tienen (¿Cuántas tienen?),el saldo máximo y la suma de los saldos ordenado por el número de cuentas que tienen descendentemente; y para todos aquellos que tienen el mismo número de cuentas, ordenados por nombre ascendentemente.

CREATE VIEW primaria AS SELECT Cli_DniCli,COUNT(*) AS Cantidad, MAX(Saldo) AS maximo, SUM(Saldo) AS totalFROM titular JOINcuenta ON NumCta=Cu_NumCta WHERE tipocta='corriente' GROUP BYCli_DniCli;SELECT DniCli AS Dni,NomCli AS 'Nombre', Cantidad AS 'Numero de cuentas', maximo AS 'Saldo maximo', total AS 'Saldo total' FROM primariaJOIN cliente ON DniCli=Cli_DniCli ORDER BY Cantidad DESC,NomCli ASC; |


11. Todos los clientes (DNI) junto con el número de cuentas corrientes que tienen; pero sólo aquellos clientes que tienen más de una cuenta corriente.

select * from...
tracking img