EJERCICIOS TALLER DE BASE DE DATOS MODELO A CONSTRUIR, generar la siguiente base de datos: Tablas a implementar, on sus respeti!os ampos " de#iniiones asoiadas$ •
•
•
• •
Alumnos: identi#iador Alumnos: identi#iador del alumno, nombre " apellidos del alumno, edad " se%o del alumno, a&o de ingreso " arrera del alumno$ Asignatura: identi# identi#iad iador or " desripi desripi'n 'n de la asignat asignatura, ura, antidad antidad de (oras " arrera de la asignatura$ Docente: identi#i identi#iado adorr del doente, doente, nombre " apellid apellidos os del doente doente " a&o de ingreso del doente$ Carrera: identi#iador Carrera: identi#iador " desripi'n de la arrera$ Notas: identi#iadores Notas: identi#iadores del alumno, asignatura " doente, nota #inal " semestre de la e!aluai'n$
RESOLVER )$ Construir la instrui'n de reai'n de ada tabla$ *$ Construir los sripts de inseri'n de + registros para ada tabla$ $ Mostrar el nombre " apellido de las alumnas la arrera de Analista -rogramador .ue tienen entre */ " *+ a&os$ 0$ In#ormar uantos (ombres ursan la arrera de Redes " Teleomuniaiones$ +$ Subir * d1imas a todas las alumnas .ue ursen las asignaturas del doente Albert Einstein$ 2$ Cuantos alumnos (a" en ada arrera$ Adem3s, uantos alumnos (ombres " mu4eres (a" en ada arrera$ 5$ 6ue promedio de notas tienen los alumnos de -rogramai'n II on el doente Isaa Ne7ton$ 8$ Eliminar la nota m3s ba4a del o los alumnos (ombres en la asignatura de Taller de 9ase de Datos$ $ Cu3l es la me4or nota en la arrera de Ingenier;a In#orm3tia$ )/$ 6ue alumno a on la letra D, ursan la arrera de Administrai'n de Redes$ )*$ 9a4ar en un )/? la nota de los (ombres de la asignatura de -rogramai'n de 9ase de Datos$ )$ Crear un #uni'n .ue entregue la antidad de alumnos (ombres o mu4eres .ue ursan una arrera espe;#ia$ Luego (aga un blo.ue para imprimir el resultado$ )0$ Crear un proedimiento almaenado .ue permita ba4ar la nota a los alumnos de ual.uier asignatura " nos in#orme uantos alumnos #ueron a#etados$ Luego (aga un blo.ue para e4eutar el proedimiento$
DESARROLLO
)$@ Sript de Creai'n de tablas$
create table CARRERA ( ID_CARRERA INT primary key, DESC_CARRERA CHAR(40) ); create table DOCENTE ( ID_DOCENTE INT primary key, NO_DOCENTE CHAR(!0), A"E_DOCENTE CHAR(#00), IN$RESO_DOCENTE INT ); create table A%&NO ( ID_A%&NO INT primary key, NO_A%&NO CHAR(!0), A"E_A%&NO CHAR(#00), EDAD_A%&NO INT, SE'O_A%&NO CHAR(#), IN$RESO_A%&NO INT, ID_CARRERA INT, c*trait +_A%&NO -rei. key (ID_CARRERA) re-erece* CARRERA ); create table ASI$NAT&RA ( ID_ASI$ INT primary key, DESC_ASI$ CHAR(/0), HORAS_ASI$ INT, ID_CARRERA INT, c*trait +_ASI$ -rei. key (ID_CARRERA) re-erece* CARRERA ); create table NOTAS ( ID_A%&NO INT, ID_DOCENTE INT, ID_ASI$ INT, NOTA_+INA% +%OAT, SEESTRE CHAR(0), primary key (ID_A%&NO, ID_DOCENTE, ID_ASI$), c*trait +_NOTA# -rei. key (ID_A%&NO) re-erece* A%&NO, c*trait +_NOTA -rei. key (ID_DOCENTE) re-erece* DOCENTE, c*trait +_NOTA1 -rei. key (ID_ASI$) re-erece* ASI$NAT&RA ); *$@ Crear registros en ada de tabla$
Tabla CARRERA i*ert it carrera 2al3e* (#0,I.eieria 5e E6ec3ci I-rmatica); i*ert it carrera 2al3e* (0,Aali*ta "r.rama5r Cmp3tacial); i*ert it carrera 2al3e* (10,Re5e* y Telecm3icacie*); i*ert it carrera 2al3e* (40,Tecic e I*talacie* y Har57are); i*ert it carrera 2al3e* (!0,arketi. y "3blici5a5); Tabla ASIGNATURA i*ert it a*i.at3ra 2al3e* (#0,Taller 5e 8a*e 5e Dat*,90,#0); i*ert it a*i.at3ra 2al3e* (0,"r.ramaci e :AA,9!,#0); i*ert it a*i.at3ra 2al3e* (10,I.eieria 5e S-t7are,90,#0); i*ert it a*i.at3ra 2al3e* (40,"r.ramaci e , 0, , 00!, #0); i*ert it al3m 2al3e* (0, :*e, "a2e>, , , 00=, #0); i*ert it al3m 2al3e* (10, %3i*, %pe>, !, , 00!, #0); i*ert it al3m 2al3e* (40, Aa, "i, 0, +, 00/, #0); i*ert it al3m 2al3e* (!0, Sara, Rm, 4, +, 00, #0); i*ert it al3m 2al3e* (=0, %3>, Ri*, , +, 004, #0); i*ert it al3m 2al3e* (90, Da2i5, R6a*, #, , 00!, 0); i*ert it al3m 2al3e* (/0, Daiel, St, =, , 00!, 0); i*ert it al3m 2al3e* (?0, Carla, &rra, 4, +, 000, 0); i*ert it al3m 2al3e* (#00, %3cia, %3c, , +, 00!, 0); i*ert it al3m 2al3e* (##0, "atricia, tt, , +, 0#0, 0); i*ert it al3m 2al3e* (#0, S3*aa,+errer, 0, +, #???, 0); Tabla DOCENTE i*ert it 5cete 2al3e* (#0, I*aac, Ne7t, #??1); i*ert it 5cete 2al3e* (0, Nicla*, Cperic, 00#); i*ert it 5cete 2al3e* (10, Ale6a5r, +lemi., #??0); i*ert it 5cete 2al3e* (40, aria, C3rie, #?/!);
Tabla NOTAS i*ert it ta* 2al3e*(#0, 0, #0, !, "rima2era 0#1); i*ert it ta* 2al3e*(#0, 10, 0, 4
i*ert it ta* 2al3e*(0, 0, 0, =
SE%ECT m_al3m, ape_al3m +RO al3m a, carrera c HERE a
SE%ECT c3t(G) +RO al3m a, carrera c HERE a
+$@ S6L Modi#ia$
&"DATE ta* SET ta_al B ta_al 0< HERE i5_al3m IN ( *elect i5_al3m -rm al3m 7Jere *e_al3m B + )
AND i5_5cete IN ( *elect i5_5cete -rm 5cete 7Jere m_5cete like AlbertF a5 ape_5cete like Ei*teiF ) ;
2$@ S6L Consulta$
SE%ECT 5e*c_carrera, CO&NT(G) +RO al3m a, carrera c HERE a
5$@ S6L Consulta$
SE%ECT A$(ta_al) +RO a*i.at3ra a, ta* , 5cete 5 HERE a
8$@ S6L Elimina$
DE%ETE +RO ta* HERE i5_al3m IN ( *elect i5_al3m -rm al3m 7Jere *e_al3m B ) AND i5_a*i. IN ( *elect i5_a*i. -rm 5cete
7Jere 5e*c_a*i. like Taller 8DF ) AND ta_al B ( *elect IN(ta_al) -rm al3m a, ta* , a*i.at3ra . 7Jere a
SE%ECT A'(ta_al) +RO ta* , a*i.at3ra a, carrera c HERE
)/$@ S6L Consulta$
SE%ECT m_al3m, ape_al3m +RO al3m a, ta* , a*i.at3ra . HERE a
SE%ECT c3t(G) +RO al3m a, carrera c HERE a
&"DATE ta* SET ta_al B ta_al G 0 HERE i5_al3m IN ( *elect i5_al3m -rm al3m 7Jere *e_al3m B ) AND i5_a*i. IN ( *elect i5_a*i. -rm a*i.at3ra 7Jere 5e*c_a*i. like "r.< 8DF ) ;
FINAL!!!! Asignatura Función: Cantidad d alun"s d la asignatura #aratr" d ntrada: Id asignatura Salidas: Cantidad d alun"s $u tin cada asignatura% Si n" &ist' ()% Si n" tin alun"s' (* ) +r"cdiint" +ara crar' b"rrar , actuali-ar un rgistr"% Usar scunc an.ar &c+ci"ns% Si id asignatura !/n0r"