Universidad Austral de Chile       Facultad de Ciencias Económicas y Administrativas                     Ingeniería Comerc...
Introducción:En el siguiente trabajo, se realizo con una base de datos de Acces y Visio. En la cual se realizaronlas sigui...
Desarrollo de laboratorio:Para obtener todos los registros contenidos en la tabla “CARRERAS” debemos ejecutar la siguiente...
Ahora si deseamos obtener registros que cumplan cierta condición, usamos la cláusulaWHERE. Esta cláusula nos permite defin...
También en SQL se puede obtener la fecha actual del sistema (la fecha que tiene elcomputador), de la siguiente forma: Clau...
Revisaremos distintas tipos de consultas sobre éste modelo de datos.    i. Lista de Estudiantes (Nombre-Apellido-Edad-Fono...
El resultado es:iii. A la lista de estudiantes agregamos la información del nombre de la carrera a la cual pertenececada e...
iv. El número de carreras que se encuentran registradas en la base de datos.select count(*) as "Numero de Carreras"from ca...
vi. A nuestra lista de estudiantes, agregaremos el nombre de la ciudad asociada al campus.select e.nombres,        e.apell...
f.direccion,           f.saludfrom funcionarios fwhere f.edad > 35El resultado es:(Probar cambiando el operador de compara...
Consultas creadas por el grupo:A.- group byA.1) SELECT e.id_carrera, count(e.rut_est) as "Numero de estudiantes"FROM estud...
B.- order byB.1) SELECT cod_libro, titulo, agno as añoFROM librosORDER BY agno DESC;El resultado es:B.2) SELECT e.rut_est,...
El resultado es:C.- havingC.1) SELECT l.id_biblio, count(l.cod_libro) as "numero de libros"FROM libros AS lGROUP BY l.id_b...
C.3) SELECT c.id_campus, count(c.id_carrera) AS ["numero de carreras"]FROM carreras AS cGROUP BY c.id_campushaving count(c...
El resultado es:D.3) SELECT a.nombres, a.apellidos, ed.nombre, b.biblioteca, l.titulo, t.tipo_pFROM autores as a, editoria...
Próxima SlideShare
Cargando en…5
×

Laboratorio

565 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
565
En SlideShare
0
De insertados
0
Número de insertados
206
Acciones
Compartido
0
Descargas
4
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Laboratorio

  1. 1. Universidad Austral de Chile Facultad de Ciencias Económicas y Administrativas Ingeniería ComercialTrabajo de sistema de información empresarial Guía de Acces, vista SQL Asignatura: Sistema de información empresarial Profesor: Cristian Salazar Integrantes: Mónica Navarrete Mauricio Rojas María Zambrano Abril 2012 - VALDIVIA
  2. 2. Introducción:En el siguiente trabajo, se realizo con una base de datos de Acces y Visio. En la cual se realizaronlas siguientes vistas SQL.Vista diagrama base de datos en Visio
  3. 3. Desarrollo de laboratorio:Para obtener todos los registros contenidos en la tabla “CARRERAS” debemos ejecutar la siguienteconsulta:SELECT *FROM CARRERASEn donde el ‘*’ significa que queremos obtener todas las columnas, en este caso ID_CARRERA,NOMBRE, ID_CAMPUS. El resultado muestra lo siguiente: Ahora si queremos saber cuántas carreras (registros) se encuentran en la tabla CARRERAS,debemos usar la función COUNT de SQL, la cual se aplica sobre una sola columna (también sepuede usar como argumento el *). Los siguientes ejemplos entregan el mismo resultado: ClaudioAngulo S.Los resultados son:SELECT COUNT(*)FROM CARRERASSELECT COUNT(ID_CARRERA)FROM CARRERAS
  4. 4. Ahora si deseamos obtener registros que cumplan cierta condición, usamos la cláusulaWHERE. Esta cláusula nos permite definir una o más de una condición, como se muestra acontinuación, en donde se desean obtener las carreras que tienen como código de carrera(ID_CARRERA) distinto a 3:SELECT *FROM CARRERASWHERE ID_CARRERA <> 3El resultado mostrado es:Donde vemos que la carrera con código 3 no se muestra (Informática).Como podemos ver, comparar números en SQL es muy fácil y directo, pero para comparar textosla sintaxis cambia un poco. En el siguiente ejemplo se muestran todas las carreras, menosinformática, solo que esta vez se usa el NOMBRE de la tabla CARRERAS para comparar en vez delID_CARRERA como en el ejemplo anterior, para ello se deben usar comillas simples como semuestra a continuación:SELECT *FROM CARRERASWHERE NOMBRE = InformaticaEl resultado entregado es:
  5. 5. También en SQL se puede obtener la fecha actual del sistema (la fecha que tiene elcomputador), de la siguiente forma: Claudio Angulo S.SELECT SYSDATEFROM DUALEl resultado es:“No se nos genero la tabla”Se puede obtener además la fecha del sistema con distintos formatos, como en los siguientesejemplos:SELECT TO_CHAR(SYSDATE,YYYY-MM-DD) FROM DUAL“No se nos genero la tabla”SELECT TO_CHAR(SYSDATE,DD) as DIA FROM DUAL“No se nos genero la tabla”SELECT TO_CHAR(SYSDATE,MONTH) as MES FROM DUAL“No se nos genero la tabla”SELECT TO_CHAR(SYSDATE,DD/MM/YYYY) as MES FROM DUAL“No se nos genero la tabla”
  6. 6. Revisaremos distintas tipos de consultas sobre éste modelo de datos. i. Lista de Estudiantes (Nombre-Apellido-Edad-Fono-Dirección)select e.nombres, e.apellidos, e.edad, e.fono, e.direccionfrom ESTUDIANTES eEl resultado es:ii. La misma lista de estudiantes, pero ordenada de mayor a menor por la edad.Select e.nombres, e.apellidos, e.edad, e.fono, e.direccionfrom ESTUDIANTES eorder by e.edad DESC
  7. 7. El resultado es:iii. A la lista de estudiantes agregamos la información del nombre de la carrera a la cual pertenececada estudiante.select e.nombres, e.apellidos, e.edad, e.fono, e.direccion, c.nombrefrom ESTUDIANTES e, CARRERAS cwhere c.id_carrera = e.id_carreraorder by e.edad DESCEl resultado es:
  8. 8. iv. El número de carreras que se encuentran registradas en la base de datos.select count(*) as "Numero de Carreras"from carrerasEl resultado es:v. A la lista de estudiantes, agregamos la información del campus asociado a la carrera a la cualpertenece cada estudiante.select e.nombres, e.apellidos, e.edad, e.fono, e.direccion, c.nombre AS "Nombre Carrera", cs.nombre AS CAMPUSfrom ESTUDIANTES e, CARRERAS c, campus cswhere c.id_carrera = e.id_carreraAND cs.id_campus = c.id_campusorder by e.edad DESCEl resultado es:
  9. 9. vi. A nuestra lista de estudiantes, agregaremos el nombre de la ciudad asociada al campus.select e.nombres, e.apellidos, e.edad, e.fono, e.direccion, c.nombre AS "Nombre Carrera", cs.nombre AS CAMPUS, ci.nombre as "Nombre Ciudad"from ESTUDIANTES e, CARRERAS c, campus cs, ciudad ciwhere c.id_carrera = e.id_carreraAND cs.id_campus = c.id_campusAND cs.id_ciudad = ci.id_ciudadorder by e.edad DESCEl resultado es:vii. Obtenemos la lista de funcionarios (nombre-apellido-rut-edad-dirección-salud) que tengan unaedad superior a los 35 años.select f.nombres, f.apellidos, f.rut_func, f.edad,
  10. 10. f.direccion, f.saludfrom funcionarios fwhere f.edad > 35El resultado es:(Probar cambiando el operador de comparación por: <> )El resultado es:viii. Obtener la lista de préstamos en que su fecha de devolución sea mayor a la fecha actual:select *from prestamo pwhere p.fecha_e > to_char(sysdate, dd/mm/yyyy“No se generó resultado”
  11. 11. Consultas creadas por el grupo:A.- group byA.1) SELECT e.id_carrera, count(e.rut_est) as "Numero de estudiantes"FROM estudiante AS eGROUP BY e.id_carrera;El resultado es:A.2) SELECT f.salud, count(f.rut_fun) AS ["numero de funcionarios"]FROM funcionarios AS fGROUP BY f.salud;El resultado es:A.3) SELECT c.id_campus, count(c.id_carrera) AS ["numero de carreras"]FROM carreras AS cGROUP BY c.id_campus;El resultado es:
  12. 12. B.- order byB.1) SELECT cod_libro, titulo, agno as añoFROM librosORDER BY agno DESC;El resultado es:B.2) SELECT e.rut_est, e.nombres, e.apellidos, e.edad, c.nombre as "Nombre Carrera", cs.nombreas Campus, l.titulo as "nombre libro",l.agno as AñoFROM estudiante AS e, carreras AS c, campus AS cs, libros AS l, prestamo AS pWHERE p.cod_libro = l.cod_libroand e.rut_est = p.rut_estand c.id_carrera = e.id_carreraand cs.id_campus = c.id_campusorder by AGNO DESCEl resultado es:B.3) SELECT F.NOMBRES, F.APELLIDOS, F.RUT_FUN, F.EDAD, F.DIRECCION, F.SALUDFROM FUNCIONARIOS AS FWHERE (((F.EDAD)<>35))order by f.edad desc;
  13. 13. El resultado es:C.- havingC.1) SELECT l.id_biblio, count(l.cod_libro) as "numero de libros"FROM libros AS lGROUP BY l.id_biblioHAVING count(l.cod_libro) <> 3;El resultado es:C.2) SELECT l.id_biblio, count(l.cod_libro) as "numero de libros"FROM libros AS lGROUP BY l.id_biblioHAVING count(l.cod_libro) >=2;El resultado es:
  14. 14. C.3) SELECT c.id_campus, count(c.id_carrera) AS ["numero de carreras"]FROM carreras AS cGROUP BY c.id_campushaving count(c.id_carrera) =1;El resultado es:D. ordenando varias tablasD.1) SELECT e.rut_est, e.nombres, e.apellidos, c.nombre, cs.nombre, l.tituloFROM estudiante AS e, carreras AS c, campus AS cs, libros AS l, prestamo AS pWHERE l.cod_libro = p.cod_libroand e.rut_est = p.rut_estand c.id_carrera = e.id_carreraand cs.id_campus =c.id_campus;El resultado es:D.2) SELECT e.rut_est, e.nombres, e.apellidos, f.nombres, f.apellidos, c.nombre, cs.nombre, l.tituloFROM estudiante AS e, carreras AS c, campus AS cs, libros AS l, prestamo AS p, funcionarios as fWHERE l.cod_libro = p.cod_libroand e.rut_est = p.rut_estand c.id_carrera = e.id_carreraand cs.id_campus =c.id_campusand f.rut_fun = p.rut_fun;
  15. 15. El resultado es:D.3) SELECT a.nombres, a.apellidos, ed.nombre, b.biblioteca, l.titulo, t.tipo_pFROM autores as a, editoriales as ed, biblioteca as b, libros as l, tipo as tWHERE a.rut_autor = l.rut_autorand ed.id_edit = l.id_editand b.id_biblio = l.id_biblioand t.id_tipo = l.id_tipo;El resultado es:

×