RECUPERACION DE DATOS.docx

7
 RECUPERACION DE DATOS --Todos los nombres que comiencen con BR SELECT CompanyName from Customers WHERE CompanyName like C!" --Todos los nombres que comiencen con Br SELECT CompanyName from Customers WHERE CompanyName like Bo" --Todos los nombres que terminen con las letras en SELECT CompanyName from Customers WHERE CompanyName like "en --Todos los nomber que conten#an letras en SELECT CompanyName from Customers WHERE CompanyName like "en" T$BL$ C!N %&ENT%T' create table producto (  cod_product o int identity (1,1) , -- para que baye de uno en uno cod_proveedor int ,  stock int ,  nombre varchar (60),  constraint P K_product o primary key (cod_producto ),  constraint K_producto_pr oveedor !orei"n key ( cod_proveed or) re!erences  proveedor (cod_proveedor ) ) select #!rom producto drop table producto -- elimina toda la tabla CREAR REGLAS create rule r_cedulas $% &value like '0-*0-*0-*0-*0-*0-*0-*0-*0-*-*0-*' + ./$/  $ 2/ evaluacion ( cod_est d_codi"os, cod_mat d_codi"os, aporte1 d_notas, aporte3 d_notas, total d_notas, asistencia d_asistencias, equivalencia d equivalencias, cod_doc d_codi"os, 4%.$54 pk_evaluacion P.5$.7 K/7 (cod_est, cod_mat), 4%.$54 !k_evaluacion_estudiante ./5+4 K/7 (cod_est) .//./4/% estudiante(cod_est), 4%.$54 !k_evaluacion_materia ./5+4 K/7 (cod_mat) .//./4/% materia(cod_mat), 4%.$54 ! k_evaluacion_doce nte ./5+4 K/7 (cod_doc) .//./4/% docente(cod_doc) ) select # !rom estudiante 5nsert 5nto estudiante(cod_est,cedula,nombres,apellido,!echa_nac,!echa_in",tele!ono,se8o,direccion) 9alues(1,'060:;60<-<','Karla','+ome=','1:-10-0>','3001-10- 0>','03>>>:0' ,'','.oca!uert e y 9illaruel') P./?55/4% $2$/4$?%

Transcript of RECUPERACION DE DATOS.docx

RECUPERACION DE DATOS--Todos los nombres que comiencen con BRSELECT CompanyName from CustomersWHERE CompanyName like 'CO%'--Todos los nombres que comiencen con BrSELECT CompanyName from CustomersWHERE CompanyName like 'Bo%'--Todos los nombres que terminen con las letras enSELECT CompanyName from CustomersWHERE CompanyName like '%en'--Todos los nomber que contengan letras enSELECT CompanyName from CustomersWHERE CompanyName like '%en%'TABLA CON IDENTITYcreate table producto(

cod_producto int identity (1,1) , -- para que baye de uno en uno cod_proveedor int , stock int , nombre varchar (60),

constraint PK_producto primary key (cod_producto), constraint FK_producto_proveedor foreign key ( cod_proveedor) references proveedor (cod_proveedor))select *from producto

drop table producto -- elimina toda la tabla

CREAR REGLAScreate rule r_cedulasAS @value like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][-][0-9]'GOCREATE TABLE evaluacion(cod_est d_codigos,cod_mat d_codigos,aporte1 d_notas,aporte2 d_notas,total d_notas,asistencia d_asistencias,equivalenciad_equivalencias,cod_doc d_codigos,CONSTRAINT pk_evaluacion PRIMARY KEY (cod_est, cod_mat),CONSTRAINT fk_evaluacion_estudianteFOREIGN KEY (cod_est) REFERENCES estudiante(cod_est),CONSTRAINT fk_evaluacion_materiaFOREIGN KEY (cod_mat) REFERENCES materia(cod_mat),CONSTRAINT fk_evaluacion_docenteFOREIGN KEY (cod_doc) REFERENCES docente(cod_doc))select * from estudianteInsert Into estudiante(cod_est,cedula,nombres,apellido,fecha_nac,fecha_ing,telefono,sexo,direccion)Values(1,'060493608-8','Karla','Gomez','1994-10-05','2001-10-05','0992595540','F','Rocafuerte y Villaruel')

PROCEDIMIENTOS ALMACENADOS

-2.Seleccionar los estudiantes de sexo Masculino ordenado por nombreSelect * from estudiante where sexo in ('M')Order By nombres

---create procedure pa_mostrar_estudiantes_sexo@sexo varchar(1)asselect * from estudiante

where estudiante.sexo=@sexoexec pa_mostrar_estudiantes_sexo 'M'

FUNCIONES

VISTAS/* 14. Seleccionar el promedio de notas de los estudiantes de sexo femenino */Create view VW_PromedioEstSexoFasselect AVG(ev.total)as PromedioEst from evaluacion ev inner join estudiante e on ev.cod_est=e.cod_est where e.sexo like 'F'

select *from VW_PromedioEstSexoF

-5. Uno o varios objetos que permitan obtener la sucursal donde ms peticiones se haya realizado

CREATE PROCEDURE SUCURSALMASPETICIONESASSELECT TOP 1 S.codsuc, S.nombresec, COUNT(P.numpres) AS 'NUMERO DE PETICIONES' FROM SUCURSAL S INNER JOIN PRESTAMO PR ON S.codsuc = PR.codsuc INNER JOIN PETICION P ON P.numpres = PR.numpresGROUP BY S.codsuc, S.nombresecORDER BY [NUMERO DE PETICIONES] DESC

EXEC SUCURSALMASPETICIONES

--6. Uno o varios objetos que permita dado el cdigo de la sucursal, obtener el nmero de prstamos que estn con saldo 0.

CREATE PROCEDURE SALDOCERO (@codsuc INT)ASSELECT S.codsuc, S.nombresec, PR.numpres, PR.saldoprestamoFROM SUCURSAL S INNER JOIN PRESTAMO PR ON S.codsuc = PR.codsuc WHERE PR.saldoprestamo = (dbo.PROMEDIOPRESTAMO())

exec CLIENTEPPRESTAMO_M

SELECT *FROM CLIENTE/*Uno o varios objetos para determinar el tiempo promedio (horas) que las personas tienen por cada reaccin existente.*/

Create Proc P_TiempoPromedioasselect r.codigoreaccion,r.descripcion ,avg(horasduracion)as HorasPromedio from Reaccion r inner join Aplicacion_Reaccion ar onr.codigoreaccion=ar.codreacciongroup By r.codigoreaccion,r.descripcionExec P_TiempoPromedio

/*Uno o varios objetos para seleccionar los efectos que han tenido las vacunas correspondientes a un grupo sanguneo cuando se le ha aplicado la vacuna por una enfermedad especfica.*/

create procedure P_EfectosVacuna@codvacuna int ,@gruposangineo int asselect r.descripcion from Reaccion r inner join Aplicacion_Reaccion ar on r.codigoreaccion=ar.codreaccion inner join AplicacionVacuna av on av.cedula=ar.cedula and av.codvacuna=ar.codvacuna inner join Persona p on p.cedula=av.cedulawhere av.codvacuna=@codvacuna and p.codgruposang=@gruposangineo

exec P_EfectosVacuna 1, 2CREATE TABLE estudiante(cod_estudiante int,cedula varchar(10),nombre varchar(60),fecha_nac date,sexo varchar (1),constraint pk_estudiante primary key(cod_estudiante),constraint uq_cedula unique(cedula),constraint ck_cedula check (cedula like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'));

Insert Into estudiante(cod_estudiante,cedula,nombre,fecha_nac,sexo)Values (1,'0603438605','Carlos','1994/12/18','M')

Insert Into estudiante(cod_estudiante,cedula,nombre,fecha_nac,sexo)Values (1,'0603438605','Mayra','1994/13/18','f')

select * from estudiantedrop table estudiante

CREATE TABLE evaluacion(cod_materia int,cod_estudiante int,PRIMARY KEY (cod_estudiante,cod_materia),FOREIGN KEY (cod_materia)REFERENCES materia(cod_materia),FOREIGN KEY (cod_estudiante) References estudiante(cod_estudiante)); insert into evaluacion values(1,1); insert into evaluacion values(2,2); insert into evaluacion values(3,3); select *from evaluaciondrop table evaluacion

CREATE TABLE materia (cod_periodo int,cod_estudiante int,cod_materia int,acumulado numeric,principal numeric,suspencion numeric,total numeric (4,2) ,asistencia int,constraint pk_cod_materia primary key (cod_materia),constraint ck_total check (total >=1),);

insert into materia(cod_periodo,cod_materia,codmat,total,,asistencia)values (1,'programacion',10,09,7.5,9,70)

Select * From materiadrop table materia

--Crear uno o varios objetos para obtener los estudiantes aprobados, dado el--cdigo de la materia y cdigo del perodo acadmico.

create procedure pa_estudiantes_aprobados@codmateria varchar(5)@codperiodo varchar(5)asselect codest, Cedula,(Nombre+ ''+Apellido) as nombrecompleto,total from Estudiante inner join Periodo pe on e.codest = pe.codestinner join MateriaAsignada m on pe.codperiodo=m.codperiodoand pe.codest=m.codestwhere m.total>=7and pe.codmateria=@codmateria and pe.codmateria=@codperiodo

--Crear uno o varios objetos para obtener el nivel que ms aprobados --tuvo en un perodo determinado

create function fn_aprobados_periodo (@codperiodo)returns int as begin returnselect codnivel,nombrenivel,,count (codest) as numAprobadosfrom Nivel n inner join Materia m on n.codnivel=m.codnivelinner join MateriaAsignada ma on m.codmateria=ma.codmateriawhere matotal>=7group by n.codnivel,nombrenivelend

--Crear uno o varios objetos para mostrar, dado el cdigo del perodo acadmico, --la materia,docente, cantidad de aprobados y cantidad de reprobados, ordenados por nivel.create procedure ps_resumenperiodo@codperiodo varchar(5)asselect m.nombremateria,db_accessadmin.nombrecompleto,dbo.fn_obteneraprobados(@codperido,m.codmateria)as numaprob, dbo_fn_obtenerreprovados(@codperido,m.codmateria) as numreprobfrom nivel n inner join Materia m on n.codnivel=m.codnevel inner join peridomateria pm on m.codmateria =pm_codmateria inner join Docente d on pm.codestudiante=d.codestudisnte

where pm.codperiodo=@codperiodo

------------create function fn_obteneraprobado(@codperio varchar(5),@codmateria varchar (5))returns intas begin return select COUNT (codest) from materiaaisgnada where codperido=@codperiodo and codpriod=@codmateria and total >=7

end------------------create function fn_obteneraprobado(@codperio varchar(5),@codmateria varchar (5))returns intas begin return select COUNT (codest) from materiaaisgnada where codperido=@codperiodo and codpriod=@codmateria and total