Você está na página 1de 12

-- Esquema de la BD demo

create table prov


(
cprv integer not null primary key,
nomb char(40) not null,
ciud char(2) not null
)
create table alma
(
calm integer not null primary key,
noma char(40) not null,
ciud char(2) not null
)
create table prod
(
cprd integer not null primary key,
nomp char(40) not null,
colo char(15) not null
)

-- Codigo del proveedor


-- Nombre del proveedor
-- Ciudad del proveedor

-- Codigo del almacen


-- Nombre del almacen
-- Ciudad del almacen

-- Codigo del producto


-- Nombre del producto
-- Color del producto

create table sumi


(
cprv integer not null,
-- Codigo del proveedor
calm integer not null,
-- Codigo del almacen
cprd integer not null,
-- Codigo del producto
ftra date not null,
-- Fecha
cant decimal(12,2) not null,
-- Cantidad
prec decimal(12,2) not null,
-- Precio
impt decimal(12,2) not null,
-- Importe
foreign key(cprv) references prov,
foreign key(calm) references alma,
foreign key(cprd) references prod
)

insert into prov values(1,'Juan','CB')


insert into prov values(2,'Lucio','SC')
insert into prov values(3,'Maria','SC')
insert into prov values(4,'Carlos','BE')

insert into alma values(1,'Almacen 1','CB')


insert into alma values(2,'Almacen 2','SC')
insert into alma values(3,'Almacen 3','LP')
insert into alma values(4,'Almacen 4','SC')

insert into prod values(1,'Silla','ROJO')


insert into prod values(2,'Mesa','VERDE')

insert into prod values(3,'Sillon','CAFE')


insert into prod values(4,'Cama','ROJO')
insert into prod values(5,'Ropero','AZUL')

insert into sumi values(1,3,1,'1/1/2013',20,5,100)


insert into sumi values(1,2,1,'5/2/2013',10,5,50)
insert into sumi values(1,2,3,'10/1/2013',80,2,160)
insert into sumi values(3,2,3,'5/3/2013',10,2,20)
insert into sumi values(3,1,3,'12/4/2013',40,2,80)
insert into sumi values(1,1,1,'1/1/2012',2,4,8)
insert into sumi values(1,2,1,'2/2/2012',100,5,500)
insert into sumi values(1,2,2,'11/12/2012',40,2,80)
insert into sumi values(3,3,3,'1/3/2014',1,2,2)
insert into sumi values(3,1,2,'12/4/2014',25,2,50)
insert into sumi values(3,1,4,'12/6/2014',15,3,45)
insert into sumi values(4,4,1,'12/6/2014',10,5,50)
insert into sumi values(4,4,2,'12/6/2014',5,2,10)

--Seleccionar la consulta SQL, que lista los nombre de los proveedores que
suministraron algn producto de color rojo.
Seleccione una:
a. Ninguna
b. select prov.nomb
from prov
where cprv in (select cprv from sumi
where cprv in (select cprd from prod
where colo='ROJO')
)
c. select prov.nomb
from prov
where exists (select * from sumi,prod
where sumi.cprv=prov.cprv and prod.colo='ROJO')
d. select prov.nomb
from prov
where exists (select sumi.cprv from sumi,prod
where sumi.cprd=prod.cprd and colo='ROJO')
Retroalimentacin
La respuesta correcta es: Ninguna

Pregunta 2
Correcta

Punta 20,00 sobre 20,00


Marcar pregunta
0

qaid=95638&quba 0

Enunciado de la pregunta
3

-- Esquema de la BD demo
create table prov
(
cprv integer not null primary key,
nomb char(40) not null,
ciud char(2) not null
)
create table alma
(
calm integer not null primary key,
noma char(40) not null,
ciud char(2) not null
)
create table prod
(
cprd integer not null primary key,
nomp char(40) not null,
colo char(15) not null
)

-- Codigo del proveedor


-- Nombre del proveedor
-- Ciudad del proveedor

-- Codigo del almacen


-- Nombre del almacen
-- Ciudad del almacen

-- Codigo del producto


-- Nombre del producto
-- Color del producto

create table sumi


(
cprv integer not null,
-- Codigo del proveedor
calm integer not null,
-- Codigo del almacen
cprd integer not null,
-- Codigo del producto
ftra date not null,
-- Fecha
cant decimal(12,2) not null,
-- Cantidad
prec decimal(12,2) not null,
-- Precio
impt decimal(12,2) not null,
-- Importe
foreign key(cprv) references prov,
foreign key(calm) references alma,
foreign key(cprd) references prod
)

insert into prov values(1,'Juan','CB')


insert into prov values(2,'Lucio','SC')
insert into prov values(3,'Maria','SC')
insert into prov values(4,'Carlos','BE')

insert into alma values(1,'Almacen 1','CB')


insert into alma values(2,'Almacen 2','SC')
insert into alma values(3,'Almacen 3','LP')
insert into alma values(4,'Almacen 4','SC')

insert into prod values(1,'Silla','ROJO')


insert into prod values(2,'Mesa','VERDE')
insert into prod values(3,'Sillon','CAFE')
insert into prod values(4,'Cama','ROJO')
insert into prod values(5,'Ropero','AZUL')

insert into sumi values(1,3,1,'1/1/2013',20,5,100)


insert into sumi values(1,2,1,'5/2/2013',10,5,50)
insert into sumi values(1,2,3,'10/1/2013',80,2,160)
insert into sumi values(3,2,3,'5/3/2013',10,2,20)
insert into sumi values(3,1,3,'12/4/2013',40,2,80)
insert into sumi values(1,1,1,'1/1/2012',2,4,8)
insert into sumi values(1,2,1,'2/2/2012',100,5,500)
insert into sumi values(1,2,2,'11/12/2012',40,2,80)
insert into sumi values(3,3,3,'1/3/2014',1,2,2)
insert into sumi values(3,1,2,'12/4/2014',25,2,50)
insert into sumi values(3,1,4,'12/6/2014',15,3,45)
insert into sumi values(4,4,1,'12/6/2014',10,5,50)
insert into sumi values(4,4,2,'12/6/2014',5,2,10)

--Seleccionar la consulta SQL, que lista los proveedores que suministraron algn
producto de color verde.
Seleccione una:
a. Ninguna
b. select *
from prov
where cprv in (select cprv from sumi
where cprv in (select cprd from prod
where colo='VERDE')
)
c. select *
from prov
where exists (select * from sumi,prod
where sumi.cprd=prod.cprd and sumi.cprv=prov.cprv and prod.colo='VERDE')

d. select *
from prov
where exists (select sumi.cprv from sumi,prod
where sumi.cprd=prod.cprd and colo='VERDE')
Retroalimentacin
La respuesta correcta es: select *
from prov
where exists (select * from sumi,prod
where sumi.cprd=prod.cprd and sumi.cprv=prov.cprv and prod.colo='VERDE')

Pregunta 3
Incorrecta
Punta 0,00 sobre 20,00
Marcar pregunta
0

qaid=95639&quba 0

Enunciado de la pregunta
3

DADO EL SIGUIENTE ESQUEMA E INSTANCIA DE LA BASE DE DATOS "notas"


create table est
(
code int not null primary key,
nomb char(40) not null,
ciud char(3) not null
)
create table mat
(
codm int not null primary key,
sigla char(6) not null,
nomb char(50) not null,
cred int not null,
nsem int not null,
tmat int not null
)

-- Codigo del Estudiante


-- Nombre
-- Ciuda origen del estudiante

-- Codigo de Materia
-- Sigla de la materia
-- Nombre
-- Creditos de la materia
-- Semestre de la materia (1=1er,2=2do,3=3er)
-- Tipo de mat (1=Obligatoria, 2=Electiva)

-- Tabla de Prerequisitos de cada materia


create table pre
(codm int not null,
-- Codigo de Materia
codp int not null
-- Codigo de Materia Prerequisito
primary key (codm, codp),
foreign key (codm) references mat,
foreign key (codp) references mat(codm))
create table his
(

code int not null,


-- Codigo del Estudiante
codm int not null,
-- Codigo de la materia
peri char(7) not null,
-- periodo de clases (ej. 01/2013, 02/2013)
nota int,
-- Nota de la materia 0 a 100 o null sin nota
stad int not null,
-- Estado Nota (1=Inscrita, 2=Con Nota)
primary key(code,codm,peri),
foreign key (codm) references mat,
foreign key (code) references est
)
insert into est values(1,'Pedro Marmol','SC')
insert into est values(2,'Sofia Loren','SC')
insert into est values(3,'Jhon Travolta','SC')
insert into est values(4,'Carlos Menen','MON')
insert into est values(5,'Isable Segunda','SC')
insert into mat values(1,'MAT100','Calculo',5,1,1)
insert into mat values(2,'ING100','Ingles',4,1,1)
insert into mat values(3,'INF200','Programacion',5,2,1)
insert into mat values(4,'INF201','Arquitectura de Comp.',4,2,1)
insert into mat values(5,'INF301','Estructura de Datos',5,3,1)
insert into mat values(6,'INF302','Bases de Datos',5,3,1)
insert into mat values(7,'INF305','Redes Neuronales',3,3,2)
insert into pre values(3,2)
insert into pre values(3,1)
insert into pre values(4,2)
insert into pre values(5,3)
insert into pre values(6,3)
insert into pre values(7,3)
insert into pre values(7,4)
insert into his values(1,1,'01/2010',30,2)
insert into his values(1,2,'01/2010',0,2)
insert into his values(1,1,'02/2012',65,2)
insert into his values(1,2,'02/2012',45,2)
insert into his values(3,1,'01/2012',51,2)
insert into his values(3,2,'01/2012',70,2)
insert into his values(3,3,'02/2012',65,2)
insert into his values(3,4,'02/2012',45,2)
insert into his values(4,1,'01/2012',50,2)
insert into his values(4,2,'01/2012',75,2)
insert into his values(4,1,'02/2012',85,2)
insert into his values(4,3,'02/2012',45,2)
insert into his values(4,4,'01/2013',null,1)
insert into his values(5,1,'01/2012',90,2)
insert into his values(5,2,'01/2012',75,2)
insert into his values(5,3,'02/2012',85,2)
insert into his values(5,4,'02/2012',95,2)
insert into his values(5,5,'01/2013',100,2)
insert into his values(5,6,'01/2013',95,2)
Aclaracin sobre la BD notas
-- Un estudiante esta Activo en un periodo determinado, si tiene por lo menos una materia
registrada en ese periodo.
-- Un estudiante esta Pasivo en un periodo determinado, si no tiene materia registrada en ese
periodo.
-- Una materia esta sin nota si la nota es NULL y stad=1 en la tabla his.
-- Una materia esta con nota si la nota esta entre 0 y 100 y el stad=2 en la tabla his
-- Una materia esta en estado inasistente si tiene nota=0 y stad=2

-- Una materia esta aprobado si la nota51


-- Una materia esta reprobada si la nota1 y nota50

Completar la siguiente consulta SQL, para listar los estudiantes que registraron en mas
de una ocasin la misma materia

select est.code,est.nomb,codm,Respuesta
count(codm)

Incorrecta
Error
La respuesta correcta es: count(*)
Punta 0,00 sobre 5,00 from est,his
where est.code=his.code
group by est.code,est.nomb,codm
having Respuesta
count(codm)>1

Incorrecta
Error
La respuesta correcta es: count(*)>1
Punta 0,00 sobre 5,00

Pregunta 4
Correcta
Punta 20,00 sobre 20,00
Marcar pregunta
0

qaid=95640&quba 0

Enunciado de la pregunta
3

DADO EL SIGUIENTE ESQUEMA E INSTANCIA DE LA BASE DE DATOS "notas"


create table est
(
code int not null primary key,
nomb char(40) not null,
ciud char(3) not null
)
create table mat
(

-- Codigo del Estudiante


-- Nombre
-- Ciuda origen del estudiante

codm int not null primary key,


sigla char(6) not null,
nomb char(50) not null,
cred int not null,
nsem int not null,
tmat int not null
)

-- Codigo de Materia
-- Sigla de la materia
-- Nombre
-- Creditos de la materia
-- Semestre de la materia (1=1er,2=2do,3=3er)
-- Tipo de mat (1=Obligatoria, 2=Electiva)

-- Tabla de Prerequisitos de cada materia


create table pre
(codm int not null,
-- Codigo de Materia
codp int not null
-- Codigo de Materia Prerequisito
primary key (codm, codp),
foreign key (codm) references mat,
foreign key (codp) references mat(codm))
create table his
(
code int not null,
-- Codigo del Estudiante
codm int not null,
-- Codigo de la materia
peri char(7) not null,
-- periodo de clases (ej. 01/2013, 02/2013)
nota int,
-- Nota de la materia 0 a 100 o null sin nota
stad int not null,
-- Estado Nota (1=Inscrita, 2=Con Nota)
primary key(code,codm,peri),
foreign key (codm) references mat,
foreign key (code) references est
)
insert into est values(1,'Pedro Marmol','SC')
insert into est values(2,'Sofia Loren','SC')
insert into est values(3,'Jhon Travolta','SC')
insert into est values(4,'Carlos Menen','MON')
insert into est values(5,'Isable Segunda','SC')
insert into mat values(1,'MAT100','Calculo',5,1,1)
insert into mat values(2,'ING100','Ingles',4,1,1)
insert into mat values(3,'INF200','Programacion',5,2,1)
insert into mat values(4,'INF201','Arquitectura de Comp.',4,2,1)
insert into mat values(5,'INF301','Estructura de Datos',5,3,1)
insert into mat values(6,'INF302','Bases de Datos',5,3,1)
insert into mat values(7,'INF305','Redes Neuronales',3,3,2)
insert into pre values(3,2)
insert into pre values(3,1)
insert into pre values(4,2)
insert into pre values(5,3)
insert into pre values(6,3)
insert into pre values(7,3)
insert into pre values(7,4)
insert into his values(1,1,'01/2010',30,2)
insert into his values(1,2,'01/2010',0,2)
insert into his values(1,1,'02/2012',65,2)
insert into his values(1,2,'02/2012',45,2)
insert into his values(3,1,'01/2012',51,2)
insert into his values(3,2,'01/2012',70,2)
insert into his values(3,3,'02/2012',65,2)
insert into his values(3,4,'02/2012',45,2)
insert into his values(4,1,'01/2012',50,2)
insert into his values(4,2,'01/2012',75,2)

insert into his values(4,1,'02/2012',85,2)


insert into his values(4,3,'02/2012',45,2)
insert into his values(4,4,'01/2013',null,1)
insert into his values(5,1,'01/2012',90,2)
insert into his values(5,2,'01/2012',75,2)
insert into his values(5,3,'02/2012',85,2)
insert into his values(5,4,'02/2012',95,2)
insert into his values(5,5,'01/2013',100,2)
insert into his values(5,6,'01/2013',95,2)
Aclaracin sobre la BD notas
-- Un estudiante esta Activo en un periodo determinado, si tiene por lo menos una materia
registrada en ese periodo.
-- Un estudiante esta Pasivo en un periodo determinado, si no tiene materia registrada en ese
periodo.
-- Una materia esta sin nota si la nota es NULL y stad=1 en la tabla his.
-- Una materia esta con nota si la nota esta entre 0 y 100 y el stad=2 en la tabla his
-- Una materia esta en estado inasistente si tiene nota=0 y stad=2
-- Una materia esta aprobado si la nota51
-- Una materia esta reprobada si la nota1 y nota50

Completar la siguiente consulta SQL, listar las cantidad de estudiantes aprobados por
materia con nota entre 51 y 75

select Respuesta
sigla,mat.nomb,count(*)

Correcta
OK
La respuesta correcta es: sigla,mat.nomb,count(*)
Punta 5,00 sobre 5,00
from mat,his
where his.codm=mat.codm
and nota>=51 and nota<=75
group by sigla,mat.nomb
having Respuesta
1=1

Correcta
OK
La respuesta correcta es: 1=1
Punta 5,00 sobre 5,00

Pregunta 5
Correcta
Punta 20,00 sobre 20,00

Marcar pregunta
0

qaid=95641&quba 0

Enunciado de la pregunta
3

DADO EL SIGUIENTE ESQUEMA E INSTANCIA DE LA BASE DE DATOS "notas"


create table est
(
code int not null primary key,
nomb char(40) not null,
ciud char(3) not null
)
create table mat
(
codm int not null primary key,
sigla char(6) not null,
nomb char(50) not null,
cred int not null,
nsem int not null,
tmat int not null
)

-- Codigo del Estudiante


-- Nombre
-- Ciuda origen del estudiante

-- Codigo de Materia
-- Sigla de la materia
-- Nombre
-- Creditos de la materia
-- Semestre de la materia (1=1er,2=2do,3=3er)
-- Tipo de mat (1=Obligatoria, 2=Electiva)

-- Tabla de Prerequisitos de cada materia


create table pre
(codm int not null,
-- Codigo de Materia
codp int not null
-- Codigo de Materia Prerequisito
primary key (codm, codp),
foreign key (codm) references mat,
foreign key (codp) references mat(codm))
create table his
(
code int not null,
-- Codigo del Estudiante
codm int not null,
-- Codigo de la materia
peri char(7) not null,
-- periodo de clases (ej. 01/2013, 02/2013)
nota int,
-- Nota de la materia 0 a 100 o null sin nota
stad int not null,
-- Estado Nota (1=Inscrita, 2=Con Nota)
primary key(code,codm,peri),
foreign key (codm) references mat,
foreign key (code) references est
)
insert into est values(1,'Pedro Marmol','SC')
insert into est values(2,'Sofia Loren','SC')
insert into est values(3,'Jhon Travolta','SC')
insert into est values(4,'Carlos Menen','MON')
insert into est values(5,'Isable Segunda','SC')
insert into mat values(1,'MAT100','Calculo',5,1,1)
insert into mat values(2,'ING100','Ingles',4,1,1)

insert into mat values(3,'INF200','Programacion',5,2,1)


insert into mat values(4,'INF201','Arquitectura de Comp.',4,2,1)
insert into mat values(5,'INF301','Estructura de Datos',5,3,1)
insert into mat values(6,'INF302','Bases de Datos',5,3,1)
insert into mat values(7,'INF305','Redes Neuronales',3,3,2)
insert into pre values(3,2)
insert into pre values(3,1)
insert into pre values(4,2)
insert into pre values(5,3)
insert into pre values(6,3)
insert into pre values(7,3)
insert into pre values(7,4)
insert into his values(1,1,'01/2010',30,2)
insert into his values(1,2,'01/2010',0,2)
insert into his values(1,1,'02/2012',65,2)
insert into his values(1,2,'02/2012',45,2)
insert into his values(3,1,'01/2012',51,2)
insert into his values(3,2,'01/2012',70,2)
insert into his values(3,3,'02/2012',65,2)
insert into his values(3,4,'02/2012',45,2)
insert into his values(4,1,'01/2012',50,2)
insert into his values(4,2,'01/2012',75,2)
insert into his values(4,1,'02/2012',85,2)
insert into his values(4,3,'02/2012',45,2)
insert into his values(4,4,'01/2013',null,1)
insert into his values(5,1,'01/2012',90,2)
insert into his values(5,2,'01/2012',75,2)
insert into his values(5,3,'02/2012',85,2)
insert into his values(5,4,'02/2012',95,2)
insert into his values(5,5,'01/2013',100,2)
insert into his values(5,6,'01/2013',95,2)
Aclaracin sobre la BD notas
-- Un estudiante esta Activo en un periodo determinado, si tiene por lo menos una materia
registrada en ese periodo.
-- Un estudiante esta Pasivo en un periodo determinado, si no tiene materia registrada en ese
periodo.
-- Una materia esta sin nota si la nota es NULL y stad=1 en la tabla his.
-- Una materia esta con nota si la nota esta entre 0 y 100 y el stad=2 en la tabla his
-- Una materia esta en estado inasistente si tiene nota=0 y stad=2
-- Una materia esta aprobado si la nota51
-- Una materia esta reprobada si la nota1 y nota50

Seleccionar la consulta SQL correcta para mostrar los estudiantes que son candidatos a
la Beca IDH comedor. Los estudiantes que son candidatos a la Beca IDH comedor deben
cumplir con los siguientes requisitos:

i) No tener materia reprobada en todo su histrico acadmico.

ii) Tener un promedio de notas superior a 60

Seleccione una:
a.
SELECT code,nomb FROM est
WHERE NOT EXISTS (SELECT * FROM his WHERE nota<51 AND stad=2 AND
his.code=est.code)
AND (SELECT AVG(nota) FROM his WHERE his.code=est.code)>60
b. Ninguno
c.
SELECT code,nomb FROM est
WHERE code not in (SELECT code FROM his WHERE nota>=51 AND stad=2 )
AND (SELECT AVG(nota) FROM his WHERE his.code=est.code)>60
d.
SELECT code,nomb FROM est
WHERE EXISTS (SELECT * FROM his WHERE nota>=51 AND stad=2 )
AND (SELECT AVG(nota) FROM his WHERE his.code=est.code)>60
Retroalimentacin
Respuesta correcta

La respuesta correcta es:


SELECT code,nomb FROM est
WHERE NOT EXISTS (SELECT * FROM his WHERE nota<51 AND stad=2 AND
his.code=est.code)
AND (SELECT AVG(nota) FROM his WHERE his.code=est.code)>60

Você também pode gostar