domingo, 6 de marzo de 2011

ejercicios de sql


Ejercicio 1

create database ejerccios
use ejerccios

create table profesor
(P# varchar(7) primary key,
nombre char(15) not null,
depar varchar(10) not null);

insert into profesor(p#,nombre,depar) values('p1','raul','105')
insert into profesor(p#,nombre,depar) values('p2','simon','103')
insert into profesor(p#,nombre,depar) values('p3','rosa','107')
insert into profesor(p#,nombre,depar) values('p4','adrian','107')

create table asignatura
(a# varchar(7) primary key,
noma char(10) not null
);

insert into asignatura(a#,noma) values ('a1','fisica')
insert into asignatura(a#,noma) values ('a2','quimica')
insert into asignatura(a#,noma) values ('a3','dibujo')
insert into asignatura(a#,noma) values ('a4','matematica')


create table asistencia
(p# varchar(7) not null ,
a# varchar(7) not null,
c# varchar(7) not null);

insert into asistencia(p#,a#,c#) values('p1','a1','c1')
insert into asistencia(p#,a#,c#) values('p1','a2','c3')
insert into asistencia(p#,a#,c#) values('p2','a4','c1')
insert into asistencia(p#,a#,c#) values('p3','a3','c3')
insert into asistencia(p#,a#,c#) values('p3','a3','c2')
insert into asistencia(p#,a#,c#) values('p4','a2','c1')
insert into asistencia(p#,a#,c#) values('p4','a2','c2')
insert into asistencia(p#,a#,c#) values('p3','a3','c1')


create table clase
(c# varchar(7)primary key,
piso varchar(4) not null,
bloque varchar(4)not null);

insert into clase(c#,piso,bloque) values('c1','1','1')
insert into clase(c#,piso,bloque) values('c2','1','2')
insert into clase(c#,piso,bloque) values('c3','2','1')


select*from asistencia

--solusiones algebraicas

--1-Obtener todos los datos de todas las clases.
select*from clase
--2-Obtener todos los datos de todas las clases ubicadas en el primer piso.
select*from clase where c#='c1'
--3-Obtener los profesores que asisten a la clase 'C1'.
select p# from asistencia where (c#='c1')
--4- Obtener los valores de PISO y BLOQUE para las clases a las que asiste el profesor 'P1'.
select*from asistencia where (p#='p1')
--5-Obtener los valores de P# para los profesores que asisten a la clase 'C1' impartiendo la asignatura de FISICA.
select p# from asistencia where (c#='c1' and a#='a1')
--6-Obtener los valores de P# para los profesores que asisten a las clases 'C1' o 'C2'.
select p# from asistencia where (c#='c1' or c#='c2')
--7-Obtener los valores de P# para los profesores que asisten a las clases 'C1' y 'C2'.
                          ¿  revisar select p# from asistencia where (c#='c1' and c#='c2')
--8-Obtener los nombres de los profesores que asisten solo a clases del Bloque 1.
select p# from asistencia  where (c#='c1' or c#='c3')
--9-Obtener los nombres de los profesores que asisten a todas las clases del Bloque 1.
                             ¿ revisar              select p# from asistencia where (c#='c1' and c#='c3')
--10-Obtener las clases en las que se imparten todas las asignaturas
         
Ejercicio 2

select papel.nomp from papel,edit where (edit.ciudad='madrid')

select distinct  elp.e# from elp,edit,libros,papel where elp.p#=papel.p#
and elp.p#='p1' or elp.p#='p3' and elp.l#=libros.l# and libros.año=1978

select distinct elp.p# from elp,edit,libros,papel where elp.e#=edit.e# and
elp.p#=papel.p#  and elp.e#='e1'

select distinct elp.l# from  elp,edit,libros,papel where
elp.l#=libros.l# and elp.p#=papel.p# and 
elp.p#=papel.p#   and papel.ciudad<>'madrip'

Ejer 3


select*from ordenadores
select*from programas
select*from usos
select*from usuario


uno

select usos.u# from usuario, usos, programas where  usos.u#=usuario.u#
and  programas.p#=usos.p# and programas.distribuidor='d1'

dos

select distinct usos.p# from usos ,programas,usuario
 where usos.u#=usuario.u# and usos.u#='u5'

tres
 ? distriuidores
select

cuatro

select ordenadores.modelo from ordenadores,usos,usuario where
usos.o#=ordenadores.o#  and usos.u#=usuario.u# and usuario.edad>29
and usos.tiempo>3

ejer 4
select pelicula from GUSTA where aficionado='José Pérez'
select videoteca.videoclub from videoteca, gusta,socio where
socio.aficionado=gusta.aficionado and
 videoteca.pelicula=gusta.pelicula and gusta.aficionado='José Pérez'
select socio.aficionado from videoteca, gusta,socio where
socio.aficionado=gusta.aficionado and
 videoteca.pelicula=gusta.pelicula


ejercicio 5
select distinct partes.t# from partes,TRABAJADOR,FINCAS,MAQUINAS
where PARTES.m#=MAQUINAS.m# and maquinas.tipo=1
select distinct partes.f# from partes,TRABAJADOR,FINCAS,MAQUINAS
where  PARTES.m#=MAQUINAS.m#  and partes.f#=FINCAS.f#
and partes.m#='m1' or  partes.m#='m3'
select distinct MAQUINAS.m# from partes,TRABAJADOR,FINCAS,MAQUINAS where
mAQUINAS.m#<>partes.m#
revisate este q me slen todas las maquinas cuando solo tendria q salir la maquina “m4”

select distinct fincas.nombre from partes,TRABAJADOR,FINCAS,MAQUINAS
where partes.f#=fincas.f# and PARTES.m#=MAQUINAS.m# and maquinas.precio_hora>2000
and partes.tiempo>5


ejercicio 6
select  ALUMNOS.nombre  from  ALUMNOS,PRACTICAS,ENTREGA 
where  ENTREGA.a#=alumnos.a# and ENTREGA.p#=practicas.p#
and entrega.nota>5 and practicas.curso=3
select distinct  ALUMNOS.nombre  from  ALUMNOS,PRACTICAS,ENTREGA 
where ENTREGA.a#=alumnos.a# and ENTREGA.p#=practicas.p#
se gun mi logica si no aparese es por que no existe practica pero revisalo
select  ALUMNOS.nombre  from  ALUMNOS,PRACTICAS,ENTREGA 
where  ENTREGA.a#=alumnos.a# and ENTREGA.p#=practicas.p#
and practicas.curso between 2 and 3
select  ALUMNOS.nombre  from  ALUMNOS,PRACTICAS,ENTREGA 
where  ENTREGA.a#=alumnos.a# and ENTREGA.p#=practicas.p#
and practicas.curso=2
select  ALUMNOS.nombre  from  ALUMNOS,PRACTICAS,ENTREGA 
where  ENTREGA.a#=alumnos.a# and ENTREGA.p#=practicas.p#
and practicas.curso=2 and alumnos.grupo='BD-11'
f) Obtener el nombre de los alumnos que no han
suspendido ninguna práctica de las que han entregado.

Suspendido? No entiendo pero asela voz ya tenes el machote
 SQL  ejercicio 7 
La Federación Internacional de Ciclismo Profesional desea tener una BDR con las siguientes tablas:
EQUIPOS (E#, NOMBRE, PAIS)
CICLISTAS (C#, NOMBRE, E#)
COMPETICIONES (M#, NOMBRE, PAIS, DURACION)
CLASIFICACION (M#, C#, PUESTO)
Se pide escribir las sentencias necesarias en álgebra relacional para:
a) Obtener los ciclistas que sólo han participado en competiciones de duración inferior a 15 días.
b) Obtener los ciclistas de equipos salvadoreños que han competido en todas las competiciones de El salvador
c) Obtener los ciclistas que han obtenido un primer y un segundo puestos en competiciones con una
duración inferior a 15 días.
Problema a 

 π ciclistas (õ competiciones.duracion<15 dias (clasificacion.ciclistas ,
competiciones  ))
select ciclistas.nombre from clasificacion,ciclistas ,
competiciones where clasificacion.c#=ciclistas.c#
and competiciones.m#=clasificacion.m# and competiciones.duracion<15
Problema b 
π ciclistas (õ competiciones=’el salvador’   ^  equipo=’el salvador’ (ciclistas,equipos, competiciones ))

select distinct ciclistas.nombre, equipos.nombre as equipo, competiciones.pais
 from ciclistas,equipos, competiciones
where ciclistas.e#=equipos.e# and equipos.pais='el salvador'
 and competiciones.pais='el salvador'

Problema c
π ciclistas (õ puesto<’3’ ^ competiciones.duracion <’15 dias’ (ciclistas,equipos, competiciones ))

select distinct ciclistas.nombre from clasificacion,ciclistas ,
competiciones where clasificacion.c#=ciclistas.c#
and competiciones.m#=clasificacion.m# and competiciones.duracion<15  and
 puesto<3

ejercicio 8
select distinct  conductor.NOMBREC from CONDUCTOR,AGENTE ,INFRACCION,DENUNCIA  where
denuncia.c#=conductor.c# and denuncia.i#=infraccion.i#
and infraccion.IMPORTE<10000
select distinct agente.a# from CONDUCTOR,AGENTE ,INFRACCION,DENUNCIA  where
denuncia.i#=infraccion.i#  and denuncia.a#=agente.a# and
INFRACCION.DESCRIP='ESTACIONAMIENTO'

select distinct  conductor.NOMBREC from CONDUCTOR,AGENTE ,INFRACCION,DENUNCIA  where
denuncia.c#=conductor.c# and denuncia.i#=infraccion.i#
and DENUNCIA.PAGADA='s'

ejemplo de polimorfismo herencia Abstracción


Ejemplos


Supongamos q la clase id es algo asi como esto
P.id{color:red ; Font-family:arial}

En css  <p class=”id”> entonces todo lo que valla dentro de <p> otro texo va a llevas las espesificasiones de la clase de <p class=”id”> padre la clase id</p>


por ejemplo, tu monitor; tiene una cantidad increible de transistores, chips y elementos electronicos que por medio de complejos mapas y rutas de electrones hacen que funcione como tal; pero para hacerlo funcionar no necesitas saber eso; solo necesitas oprimir el boton de encendido y el mismo guiara la electricidad por todo el flujo del circuito, analizara cada onda que llegue por sus cables de conexión del computador transformandola de analoga a digital y haciando que cada uno de esos unos y ceros aparezca como diferentes tonos de luminosidad frente a tus ojos ... pero tu solo oprimiste el boton de encendido


por ejemplo, cuando alguien te ve puede saber inmediatamente si eres hombre o mujer (propiedad) o puede hablarte y obtener una respuesta procesada (metodo); tambien puede conocer el color de tu cabello y ojos. En cambio, jamas sabra que cantidad de energia exacta tienes o cuantas neuronas te quedan, ni siquiera preguntandote ya que ninguna de tus propiedades externas visibles o funciones de comunicación al publico te permiten saber esos datos.


por ejemplo, la clase Jefe tiene acceso a los métodos de la clase Empleado.


Sobre carga

Algo q aprendí y raro creo q pasa poco esq. trabajando con php  no podía poner signos de  $$  después de colocar una variable o mejor digo no podía crear un variable con $ al principio  claro cualquiera diría no te lo permite  por las características de las variables  en php pero al trabajar con Perl  q son rollos similares no sucedía nada seguia normal y sabiendo claro que tiene sus reglas dependiendo del lenguaje q estemos aplicando   en el bloque

Esto para hacer más exacto  $ $echo ;

Después me di cuenta   q simplemente no mostraba esa linia pero la pagina funcionaba perfectamente sin mostrar erros el error lo daba si se le cargaba una cookie previamente