Está en la página 1de 16

TRABAJO DE MYSQL

Presentado por: HERNANDO LUIS HERNANDEZ NARVAEZ ISIAS JAIR ROMERO TAPIA

Este trabajo es presentado como requisito a la materia de DISEO Y PROGRAMACIN BASE DE DATOS

Presentado a: MSC.ING. RUBEN BAENA NAVARRO

UNIVERSIDAD DE CORDOBA FACULTAD DE INGENIERIAS INGENIERIA DE SISTEMAS 2013

EJERCICIOS DE SQL: USANDO MYSQL


Considerar las siguientes tablas: EMPLEADO: SUCURSAL: CUENTA: CLIENTE: TITULAR: CAJERO: OPERACIN: ( DniEmp, NomEmp, SexEmp, FecNac, FecAlt, SalEmp, CodSuc, Dir, Cargo ) ( CodSuc, DirSuc, TelSuc ) ( NumCta, FecApe, CodSuc, SaldoCta ) ( DniCli, NomCli, DirCli, TelCli, TipoCli ) ( NumCta, DniCli, NumOrd ) ( CodCaj, TipCaj, CodSuc ) ( CodCaj, FecOpe, HorOpe, TipOpe, DesOpe, ImpOpe, NumCta )

insert into cliente( DniCli, NomCli, DirCli, TelCli, TipoCli )values("123","liliana medrano","dri258","775258","corriente"),("44444444","pedro del valle","huila","1526","corriente"),("1528","marizol lopez","cr15","148996","corriente"),("52525252","juan santos","bogota","773652","ahorro"),("021255","oscar salgado","bogota","4425898","corriente"),("44444441","deimer montes","lorica","59855","corriente");

insert into empleado(DniEmp, NomEmp, SexEmp, FecNac, FecAlt, CodSuc, Dir, cargo)values("1111","isias","m","1991-09-18","2004-0508","1","dir1","cajero"),("2222","ramiro","m","1996-10-02","2002-1008","2","dir36","presidente"),("3252","laura","f","1993-05-08","1999-0206","3","dir58","secretaria"),("1010","yair","m","1998-08-08","2009-1001","4","dir98","contador"),("8956","jose","m","2002-09-08","2008-1001","5","dir8963","cajero"),("1256","maria","f","2000-09-15","2008-0108","6","dir96","secretaria");

insert into cuenta(numCta, fecApe, codSuc, saldoCta)values ("1","2010-01-25","1","20000000"), ("2","2011-09-14","2","150000000"), ("3","2012-12-05","3","10000000"), ("4","2013-0702","4","500000"), ("5","2008-10-01","5","80000000"),("6","2013-03-01","6","170000");

insert into cajero(CodCaj, TipCaj, CodSuc )values("123","tip_1","1"),("453","tip_2","2"),("512","tip_3","3"),("152","tip_4","4"),("635","tip_5 ","5"),("012","tip_6","6");

insert into operacion(CodCaj, FecOpe, HorOpe, TipOpe, DesOpe, ImpOpe, NumCta )values("123","2010-02-05","6:00am","retiro","15000","60000","1"),("453","2011-0916","05:05pm","retiro","12","50000","2"),("512","2012-1231","10:03am","retiro","20","300000","3"),("152","2013-09-

06","04:30pm","consignacion","10","20000","4"),("635","2009-1002","02:00am","retiro","15","600000","5"),("012","2013-0505","08:59am","retiro","05","1000000","6");

insert into sucursal(CodSuc, DirSuc, TelSuc )values("1","jair romero","7736952"),("2","hernando hernandez","7785248"),("3","fernanda lugo","3125894785"),("4","jose martinez","310254789"),("5","aider lopez","7892563"),("6","deimer montes","14526396");

inset into titular( NumCta, DniCli, NumOrd )values("1","123","001"),("2","44444444","002"),("3","1528","003"),("4","52525252","003"),("5"," 021255","005")("6","44444441","006");

Realizar las siguientes consultas:

1.

Nmero de todas las cuentas corrientes ( NumCta ) de la sucursal nmero 2 ordenadas por fecha de apertura ( FecApe ).

Selec numcta FROM cuenta WHERE codsuc=2 ORDER BY fecape;

2.

El nmero de todas las cuentas corrientes del cliente con DNI 44444444 y el orden de titularidad. SELEC NumOrd, NumCta FROM titular WHERE DniCli=44444444 ORDER BY NumOrd;

3.

El nmero de todas las cuentas corrientes del cliente que se llama Pedro del Valle y el orden de titularidad.

4.

El DNI y nombre de todos los clientes que tienen cuenta en la sucursal nmero 4, ordenado por nombre.

5.

El saldo de la cuenta nmero 6.

6.

El nmero y saldo de todas las cuentas de la sucursal nmero 4.

7.

Listado de clientes ( DNI y nombre ) con el saldo total ( suma de saldos ) de todas sus cuentas corrientes, ordenado por nombre.

8.

Todas las sucursales ( nmero ) y su saldo total ( suma de los saldo de todas sus cuentas ) ordenado descendentemente por el saldo.

9.

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

10.

Todos los clientes (DNI y nombre) junto con el nmero de cuentas corrientes que tienen (Cuntas tienen?), el saldo mximo y la suma de los saldos ordenado por el nmero de cuentas que tienen descendentemente; y para todos aquellos que tienen el mismo nmero de cuentas, ordenados por nombre ascendentemente.

11. Todos los clientes (DNI) junto con el nmero de cuentas corrientes que tienen; pero slo aquellos clientes que tienen ms de una cuenta corriente.

12.

Todas las cuentas corrientes ( nmero ) cuyo saldo sea superior a la media de saldos de la misma sucursal.

13. Extraer las cuentas en las que no han hecho ninguna operacin en un cajero de la sucursal de la cuenta. SELECT Cuenta.NumCta FROM Cuenta WHERE Cuenta.NumCta NOT IN (SELECT Operacion.NumCta FROM Operacion);

14.

Extraer un listado de todas las sucursales ( nmero ) junto con el nmero de empleados de dicha sucursal; ordenado por el nmero de empleados

15. Extraer un listado de todas las sucursales ( nmero ) junto con el nmero de empleados masculinos y el nmero de empleados femeninos.

16. Extraer un listado de clientes ( DNI y nombre ) junto con el nombre del director de la sucursal de todas aquellas cuentas en las que el cliente es el primer titular. SELECT cliente.dnicli,cliente.nomcli, sucursal.dirsuc FROM cliente,sucursal,cuenta,titular WHERE cuenta.codsuc=sucursal.codsuc AND titular.dnicli=cliente.dnicli AND titular.numcta=cuenta.numcta and titular.dnicli=123 ;

ERCICIOS SQL: USANDO MYSQL

Considerar el siguiente modelo de datos que corresponde a los prstamos de libros de una biblioteca: 1 LIBRO N PRSTAMO N 1 SOCIO

Este modelo genera la siguiente definicin de tablas: CREATE TABLE ( ISBN Titulo Editorial NumPaginas CONSTRAINT ); LIBRO Number( 10 ), -- Cdigo identificativo del libro Varchar2( 70 ), -- Ttulo del libro Varchar2( 40 ), -- Nombre de la editorial del libro Number( 4 ), -- Nmero de pginas del libro pk_libro PRIMARY KEY ( ISBN )

CREATE TABLE PRESTAMO ( ISBN Number( 10 ), -- Cdigo del libro prestado DNI Varchar2( 11 ), -- DNI del socio que se lleva el -- libro FechaPrestamo DATE, -- Fecha del prstamo FechaDevolucion DATE, -- Fecha prevista de devolucin Devuelto Varchar2( 1 ) -- Indica si est devuelto o no CONSTRAINT ck_devuelto CHECK ( Devuelto IN ( S, N ) ), CONSTRAINT pk_prestamo PRIMARY KEY ( ISBN, DNI, FechaPrestamo ) ); CREATE TABLE SOCIO ( DNI Varchar2( 11 ), -- DNI del socio Nombre Varchar2( 70 ), -- Nombre completo del socio CONSTRAINT pk_socio PRIMARY KEY ( DNI ) );

Realizar las siguientes consultas en SQL sobre las tablas anteriores:


1) Listar el DNI y Nombre de todos los socios que tienen algn libro en prstamo junto con el nmero total de libros que tienen en prstamo.

SELECT socio.dni,socio.nombre,COUNT(socio.dni) FROM socio,prestamo WHERE socio.dni=prestamo.dni GROUP BY socio.dni;

2) Listar el ISBN y Ttulo de todos aquellos libros que estn en prstamo y ya deberan estar devueltos; visualizar tambin el DNI del socio que lo tiene y las fechas de prstamo y de devolucin. Ordenar la lista descendentemente por el tiempo que hace que lo tena que haber devuelto ( los que haga ms tiempo que lo tenan que haber devuelto deben salir los primeros ). SELECT prestamo.isbn,libro.titulo,prestamo.dni,prestamo.fechaprestamo,prestamo.fechadevolucion FROM libro,socio,prestamo WHERE libro.isbn=prestamo.isbn AND socio.dni=prestamo.dni AND prestamo.fechadevolucion=N ORDER BY prestamo.fechadevolucio;

3)

Definiendo las vistas que se crean necesarias, extraer el ISBN y ttulo del libro que se ha prestado ms veces

SELECT prestamo.dni,socio.nombre,MAX(prestamo.isbn) Maximo_de_libros FROM socio,prestamo WHERE prestamo.dni=socio.dni GROUP BY dni,nombre;

También podría gustarte