tarea nº 1 sistemas (1)

13
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

Upload: elmar-namuncura

Post on 23-Jul-2015

306 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Tarea nº 1 sistemas (1)

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

Page 2: Tarea nº 1 sistemas (1)

TODAS LAS TABLAS UTILIZADAS

AUTORES BIBLIOTECA

CAMPUS CIUDAD

EDITORIALES TIPO

Page 3: Tarea nº 1 sistemas (1)

ESTUDIANTES

LIBROS

FUNCIONARIOS

Page 4: Tarea nº 1 sistemas (1)

PRESTAMO

CARRERAS

Page 5: Tarea nº 1 sistemas (1)

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;

Page 6: Tarea nº 1 sistemas (1)

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;

Page 7: Tarea nº 1 sistemas (1)

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;

Page 8: Tarea nº 1 sistemas (1)

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;

Page 9: Tarea nº 1 sistemas (1)

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;

Page 10: Tarea nº 1 sistemas (1)

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;

Page 11: Tarea nº 1 sistemas (1)

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

Page 12: Tarea nº 1 sistemas (1)

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;

Page 13: Tarea nº 1 sistemas (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;