tarea nº 1 sistemas (1)

Post on 23-Jul-2015

306 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

TAREA Nº 1

Profesor: Cristian Salazar

Integrantes: Sandra Barrientos

Elmar Alarcón

Alejandro Ramírez

Universidad Austral de Chile

Facultad de Ciencias Económicas y Administrativas Escuela de Ingeniería Comercial

Sistemas de información empresarial

VALDIVIA, ABRIL 2012

TODAS LAS TABLAS UTILIZADAS

AUTORES BIBLIOTECA

CAMPUS CIUDAD

EDITORIALES TIPO

ESTUDIANTES

LIBROS

FUNCIONARIOS

PRESTAMO

CARRERAS

ACTIVIDADES PROVENIENTES DE LA GUÍA DE EJERCICIOS

1. Todas las carreras, con sus respectivos campus

Consulta SQL:

2. ¿Cuántas carreras hay?

Consulta SQL:

3. Cláusula WHERE: todas las carreras menos “Arquitectura” (1793)

Consulta SQL:

SELECT * FROM carreras WHERE id_carrera <> 1793;

SELECT COUNT (*) FROM carreras;

SELECT * FROM carreras;

4. Lista de estudiantes (Nombre, apellido, edad, fono, dirección)

Consulta SQL:

5. Lista de estudiantes ordenados por edad de manera descendente

Consulta SQL:

SELECT e.nombre_est, e.apellido_est, e.edad_est, e.fono_est, e.direccion_est FROM estudiantes AS e ORDER BY e.edad_est DESC;

SELECT e.nombre_est, e.apellido_est, e.edad_est, e.fono_est, e.direccion_est FROM estudiantes AS e;

6. Datos estudiantes junto a la carrera a la cual pertenece

Consulta SQL:

7. Lista de estudiantes con sus respectivas carreras y campus

Consulta SQL:

SELECT e.nombre_est, e.apellido_est, e.edad_est, e.fono_est, e.direccion_est, c.nombre_carrera AS ["Nombre Carrera"], cs.nombre_campus AS Campus FROM estudiantes AS e, carreras AS c, campus AS cs WHERE c.id_carrera = e.id_carrera AND cs.id_campus = c.id_campus ORDER BY e.edad_est DESC;

SELECT e.nombre_est, e.apellido_est, e.edad_est, e.fono_est, e.direccion_est, c.nombre_carrera FROM estudiantes AS e, carreras AS c WHERE c.id_carrera = e.id_carrera ORDER BY e.edad_est DESC;

8. Lista estudiantes, su respectiva carrera, campus y ciudad del campus

Consulta SQL:

9. Funcionarios mayores de 35 años.

Consulta SQL:

SELECT f.nombre_func, f.apellido_func, f.rut_func, f.edad_func, f.direccion, f.salud FROM funcionarios f WHERE f.edad_func > 35;

SELECT e.nombre_est, e.apellido_est, e.edad_est, e.fono_est, e.direccion_est, c.nombre_carrera AS ["Nombre Carrera"], cs.nombre_campus AS campus, ci.nombre_ciudad AS ["Nombre Ciudad"] FROM estudiantes AS e, carreras AS c, campus AS cs, ciudad AS ci WHERE c.id_carrera = e.id_carrera AND cs.id_campus = c.id_campus AND cs.id_ciudad = ci.id_ciudad ORDER BY e.edad_est DESC;

10. Préstamos de libros, cuya fecha de entrega sea superior a la de hoy.

Consulta SQL

TAREA: GROUP BY, HAVING Y ORDER BY

Tres consultas usando GROUP BY

Group by 1

Consulta SQL: Cantidad de alumnos por carrera

Group by 2

Consulta SQL: Cantidad de carreras por campus.

SELECT * FROM préstamo AS p WHERE p.fecha_e > date ();

SELECT a.nombre_carrera, COUNT (b.id_carrera) FROM carreras AS a, estudiantes AS b WHERE a.id_carrera=b.id_carrera GROUP BY nombre_carrera;

SELECT e.nombre_campus, COUNT (a.id_carrera) FROM carreras AS a, campus AS e WHERE e.id_campus = a.id_campus GROUP BY e.nombre_campus;

Group by 3

Consulta SQL: Cantidad de libros por biblioteca.

Tres consultas usando ORDER BY

Order by 1

Consulta SQL: Lista de estudiantes mayores a 21 años, ordenados por edad de forma

descendente.

EL RESULTADO DE LA CONSULTA ES EL SIGUIENTE:

Se puede observar que la tabla anterior muestra sólo estudiantes mayores de 21 años ordenados

de mayor a menor.

SELECT b.biblioteca, COUNT (a.cod_libro) FROM libros AS a, biblioteca AS b WHERE a.id_biblio=b.id_biblio GROUP BY b.biblioteca;

Order by 2

Consulta SQL: Lista de funcionarios, con todos sus datos ordenados por edad, de menor a

mayor.

EL RESULTADO DE LA CONSULTA ES EL SIGUIENTE:

Como se puede ver, tenemos la misma tabla que al principio, pero esta vez, los funcionarios

ordenados de menor a mayor.

Order by 3

Consulta SQL: Lista de libros con todos sus datos, ordenados desde el más nuevo hasta el más

antiguo.

EL RESULTADO DE LA CONSULTA ES EL SIGUIENTE

Tres consultas usando HAVING.

Having 1

Consulta SQL: Cantidad de libros solicitados por tipo de préstamo.

Having 2

Consulta SQL: Cantidad funcionarios por campus.

Having 3

Consulta SQL: Cantidad de libros solicitados por biblioteca.

SELECT b.tipo_p, COUNT (a.id_tipo) FROM libros AS a, tipo AS b WHERE a.id_tipo=b.id_tipo GROUP BY b.tipo_p HAVING COUNT (a.id_tipo)>2;

SELECT b.nombre_campus, COUNT (a.rut_func) FROM funcionarios AS a, campus AS b WHERE a.id_campus=b.id_campus GROUP BY nombre_campus HAVING COUNT (a.rut_func)=1;

SELECT b.biblioteca, COUNT (a.cod_libro) FROM libros AS a, biblioteca AS b WHERE a.id_biblio=b.id_biblio GROUP BY b.biblioteca HAVING COUNT (a.cod_libro)>1;

Consulta considerando varias tablas

Consulta SQL: Cada libro, con su autor, editorial y biblioteca, ordenados

ascendentemente según su año de publicación.

Resultado:

SELECT a.titulo_libro, a.agno_libro, b.nombre_autor, b.apellido_autor, c.nombre_edit, d.biblioteca FROM libros AS a, autores AS b, editoriales AS c, biblioteca AS d WHERE "a.id_biblio=d.id_biblio' 'a.rut_autor=b.rut_autor' 'a.id_edit=b.id_edit"

ORDER BY a.agno_libro ASC;

top related