Sei sulla pagina 1di 16

Pontificia Universidad Catlica del Ecuador

Facultad de Ingeniera Escuela


de Sistemas

Nombre: Edwin Ortega Fecha: 2017-04-27


Materia: BDDI Descripcin: Proyecto 1.4
Palabras Reservadas

1. UNION

Obtener los clientes que tienen cuenta o deban prestamos

SQL> (select cliNombre from TIENE)


union
(select cliNombre from DEBE)

2. INTERSEC

Encontrar clientes que tienen prstamos y cuentas bancarias

SQL> (select cliNombre from TIENE)


intersect
(select cliNombre from DEBE)

3. EXCEPT

Encontrar los clientes que tienen CUENTAS pero no prstamo


SQL> (select cliNombre from TIENE)
except
(select cliNombre from DEBE)

4. GROUP BY

Obtener el promedio de Cuentas agrupadas por Nombre

SQL> select sucNombre, avg(cueSaldo)


form CUENTAS
group by sucNombre

5. HAVING

Obtener el promedio de las Cuentas por sucursales

SQL> select sucNombre, avg(cueSaldo)


form CUENTAS
group by sucNombre
having avg(cueSaldo)>369
6. COUNT

Obtener el numero de clientes existentes

SQL> select count(*)


form CLIENTES

7. SUM

Obtener la suma de Activos de sucursales

SQL> select sum(sucActivo)


From SUCURSALES

8. MAX

Obtener el maximo de sucActivo de sucursales

SQL> select max(sucActivo)


From SUCURSALES
9. MIN

Obtener la minimo de los activos de sucursales

SQL> select min (sucActivo)


From SUCURSALES

10. AVG

Obtener el promedio de las CUENTAS de la Sucursales

SQL> select avg (cuesaldo)


from CUENTAS

11. NULL

Obtener importes nulos

SQL> select preNumero


from PRESTAMOS
where preImporte is null

12. NOT NULL

Obtener importes no nulos

SQL> select preNumero


from PRESTAMOS
where preImporte is not null
13. UNIQUE

El motor bd2 no reconoce la palabra reservada, pero se desarroll el siguiente querry


alternativo
Determine los mdicos que han atendido a un solo paciente

SQL> select mednombre, ConteoAtencion.N_Pacientes


from MEDICO,(select count(*)AS N_Pacientes,atiende.codigo_medico
from atiende
group by atiende.codigo_medico) ConteoAtencion

where MEDICO.codigo_medico=ConteoAtencion.codigo_medico AND


ConteoAtencion.N_Pacientes=1;

14. NOT UNIQUE

El motor bd2 no reconoce la palabra reservada, pero se desarroll el siguiente querry


alternativo
Determine los mdicos que no han atendido a un solo paciente

SQL> select clinombre, ConteoAtencion.N_Pacientes


from MEDICO,(select count(*)AS N_Pacientes,atiende.codigo_medico
from atiende
group by atiende.codigo_medico) ConteoAtencion
where MEDICO.codigo_medico=ConteoAtencion.codigo_medico AND
ConteoAtencion.N_Pacientes !=1;

15. IN

Encontrar todos los clientes que tienen un prstamo y una CUENTA bancaria

SQL> select distinct cliNombre


from TIENE
where cliNombre in (select cliNombre from DEBE)

16. NOT IN

Encontrar todos los clientes que no tienen un prstamo y una CUENTA bancaria

SQL> select distinct cliNombre


from TIENE
where cliNombre not in (select cliNombre from DEBE)
17. EXIST

Obtener los clientes que tienen tanto una CUENTAS como un prstamo

SQL> select cliNombre


from TIENE
Where exists (select *
From DEBE, TIENE
Where DEBE.cliNombre = TIENE.cliNombre);

18. NOT EXIST

Obtener los clientes que no tienen una CUENTAS ni un prstamo

SQL> select cliNombre


from TIENE
Where NOT exists (select *
From DEBE, TIENE
Where DEBE.cliNombre = TIENE.cliNombre);
19. SOME

Obtener los nombres de las SUCURSALES con un activo mayor que alguna de las
SUCURSALES
SQL> select sucNombre
from SUCURSALES
where sucActivo > some(select sucActivo
from SUCURSALES);

20. WITH

Obtener las CUENTAS que tiene el saldo mximo

SQL > with SALDOMAXIMO(valor)


AS(
Select max (cueSaldo)
from CUENTAS)
select cueNumero
from CUENTAS, SALDOMAXIMO
where CUENTAS.cueSaldo = SALDOMAXIMO.valor

21. ALL

Obtener los nombres de las SUCURSALES con un activo mayor que todas las SUCURSALES
ubicadas en Esmeraldas

SQL> select sucNombre


from SUCURSALES
where sucActivo > all (select sucActivo
from SUCURSALES
where sucCiudad = Esmeraldas)
22. USER

DB2 no soporta creacion de usuarios al nivel de base de datos, hay que hacer usuarios a
nivel de sistema operativo y poner una clave en ese momento.

23. ROLE

SQL> create role DOCTOR

24. GRANT

SQL> grant DELETE ON EMPLEADO TO DOCTOR

25. REVOKE

SQL> revoke DELETE ON EMPLEADO from DOCTOR


26. CREATE VIEW

SQL> create view VIEWTEST as


select medico.especialidad,atiende.codigo_paciente
from medico, atiende;

27. TRIGER

CREATE FUNCTION logfunc() AS


BEGIN
Insert into LOG
values(current_date,now(),user);
Return null;
END;

CREATE TRIGGER log AFTER INSERT OR DELETE OR UPDATE ON tabla


FOR EACH ROW EXECUTE PROCEDURE logfunc();

28. DOMAIN

No existen domians, sin embargo se los puede simular con constrains

SQL> CONSTRAINS Chech_Salary


Check(Salary <50000.00)

29. JOIN

Obtener los clientes que tengan cuenta y prestamos de Quito


SQL> select cliNombre, PRESTAMOS.preNumero, preImporte
from DEBE join PRESTAMOS on sucNombre = Quito

30. NATURAL JOIN

No existe el concepto de natural join, sin embargo se utiliza el producto cartesiano

SQL> select *
from SUCURSALES,PRESTAMOS

31. INNER JOIN

SQL> select *
from SUCURSALES inner join PRESTAMOS
on SUCURSALES.sucNombre = PRESTAMOS.sucNombre

32. LEFT JOIN


SQL> select *
from SUCURSALES left join PRESTAMOS
on SUCURSALES.sucNombre = PRESTAMOS.sucNombre

33. RIGHT JOIN

SQL> select *
from SUCURSALES right join PRESTAMOS
on SUCURSALES.sucNombre = PRESTAMOS.sucNombre

34. RIGHT OUTER JOIN

SQL> select *
from SUCURSALES right outer join PRESTAMOS
on SUCURSALES.sucNombre = PRESTAMOS.sucNombre
35. CREATE TABLE

Cree una tabla demoninada Empleados, con determinados campos

SQL> create table EMPLEADO(


empNombre char(20),
empCalle char(30),
empCiudad char(30),
primary key (cliNombre)

);

36. ALTER TABLE

Agrege un campo para la tabla anteriormente creada

SQL> ALTER TABLE empleado ADD COLUMN sexo char(1);

37. ON DELETE CASCADE

Create table SUELDO(


Cuenumero char(10)not null,
empNombre char(20),
Paga integer,
Primary key (Cuenumero),
Foreign key (empNombre) references EMPLEADO On delete cascade
);
38. ON UPDATE CASCADE

Create table SUELDO2(


Cuenumero char(10)not null,
empNombre char(20),
Paga integer,
Primary key (Cuenumero),
Foreign key (empNombre) references EMPLEADO On update cascade
);
39. BACKUP

Genere un respado de la base de datos actual.

CONNECT TO SAMPLE;
QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS;
CONNECT RESET;
DEACTIVATE DATABASE SAMPLE;
BACKUP DATABASE SAMPLE TO "C:\DB2" EXCLUDE LOGS WITHOUT PROMPTING;
CONNECT TO SAMPLE;
UNQUIESCE DATABASE;
CONNECT RESET;

40. RESTORE

Restaure un backup de la base de datos antes guardada

RESTORE DATABASE SAMPLE FROM "C:\DB2" TAKEN AT 19700428175703 WITHOUT


PROMPTING;

Potrebbero piacerti anche