You are on page 1of 14

UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN

FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017


E.P. INGENIERA EN INFORMATICA Y SISTEMAS

UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN

FACULTAD DE INGENIERA

ESCUELA PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS

PRCTICA DE LABORATORIO N01


CONSULTAS AVANZADAS EN SQL SERVER: CONSULTAS DE
INCLUSIN Y COMBINACIONES EXTERNAS

AUTOR: Mara Fernanda Zevallos Gmez (2015-119031)

AO: Tercero CICLO: VI

CURSO: Base de Datos II

DOCENTE: Edgar Taya Acosta

FECHA DE ELABORACIN: Lunes 12/09/17

FECHA DE ENTREGA DE INFORME: Lunes 17/09/17

TACNA PER

2017

1
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017
E.P. INGENIERA EN INFORMATICA Y SISTEMAS

NDICE GENERAL

Pg.

I. TTULO .................................................................................................................... 4
II. OBJETIVOS ............................................................................................................ 4
III. MARCO TERICO .................................................................................................. 4
IV. PROCEDIMIENTO .................................................................................................. 4
4.1. Enunciado ............................................................................................................ 4
4.2. Desarrollo............................................................................................................. 6
V. CONCLUSIONES .................................................................................................. 13
VI. BIBLIOGRAFA ...................................................................................................... 14

2
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017
E.P. INGENIERA EN INFORMATICA Y SISTEMAS

NDICE DE FIGURAS

Figura 1.Modelo lgico ...5


Figura 2.Modelo fsico.....5

3
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017
E.P. INGENIERA EN INFORMATICA Y SISTEMAS

PRCTICA DE LABORATORIO N 1

I. TTULO
Consultas avanzadas en SQL Server: Consultas de inclusin y combinaciones
externas
II. OBJETIVOS
Realizar consultas de inclusin y combinaciones externas
III. MARCO TERICO
Se ejecutar las consultas SQL Server desde el mismo analizador de consultas
SQL. Es necesario tomar en cuenta las siguientes definiciones:
3.1. Modelo relacional
Segn Silberschatz, Korth y Sudarshan (2001,pg 53) el modelo
relacional se ha establecido actualmente como el principal modelo de
datos para las aplicaciones de procesamiento de datos .Ha conseguido la
posicin principal debido a su simplicidad, que facilita el trabajo del
programador en comparacin con otros modelos anteriores como el de
red y el jerrquico.
Segn Elmasri y Navathe (1994, pg. 139) el modelo relacional
representa la base de datos como una coleccin de relaciones. En
trminos informales, cada relacin semeja una tabla o, hasta cierto punto,
un archivo simple.
3.2. Microsoft SQL Server 2005(SGBD)
Es un sistema de manejo de bases de datos del modelo relacional,
desarrollado por la empresa Microsoft. Se har uso de la versin 2005. Es un
Sistema Gestor de Bases de datos relacionales (SGBD) que adems ahora en
sus versiones ms actuales cuenta con diferentes tipos de herramientas
incorporadas en el programa, est basado en el lenguaje Transact-SQL y es
capaz de poner grandes cantidades de informacin a muchos usuarios
simultneamente y de manera muy rpida. Adems cuenta con SQL Server
Management, la cual me permite comunicarme con el motor de base de datos.
Permite administrar la base de datos.
IV. PROCEDIMIENTO
4.1. Enunciado
Se realizar las consultas SQL Server desde el mismo analizador de consultas
SQL.
4.1.1. Erwin
El modelo relacional en Erwin es:
Modelo lgico
4
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017
E.P. INGENIERA EN INFORMATICA Y SISTEMAS

Figura 1. Modelo lgico


Modelo fsico

Figura 2. Modelo fsico


Existen muchos alumnos, los cuales presentan una categora cada uno
as como una ciudad.
4.1.2. Tablas en SQL Server
Tabla: Ciudad

Tabla: Categora

5
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017
E.P. INGENIERA EN INFORMATICA Y SISTEMAS

Tabla: Alumno

4.2. Desarrollo
4.2.1. SECCIN 01:INSTRUCCIN DE INCLUSIN IN
a. Se desea conocer las ciudades en donde existe por lo menos un
alumno
Instruccin SQL:
SELECT IDCiudad , Ciudad
FROM Ciudad C
WHERE IDCiudad IN (SELECT IDCiudad FROM Alumno)
ORDER BY IDCiudad

Resultado:

Se selecciona el cdigo de todas las ciudades que solo aparecen en


la tabla alumno.
Luego se selecciona nuevamente el cdigo y nombre de todas las
ciudades que pertenecen al conjunto anterior.
6
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017
E.P. INGENIERA EN INFORMATICA Y SISTEMAS

b. Se desea conocer las ciudades en donde no existe alumno alguno


Instruccin SQL:
SELECT IDCiudad , Ciudad
FROM Ciudad C
WHERE IDCiudad NOT IN (SELECT IDCiudad FROM
Alumno)
ORDER BY IDCiudad

Resultado:

Se selecciona el cdigo de todas las ciudades que solo aparecen en


la tabla alumno.
Luego se selecciona nuevamente el cdigo y nombre de todas las
ciudades que no pertenecen al conjunto anterior.

c. Se desea conocer las categoras para las que no existe alumno


alguno
Instruccin SQL:
SELECT IDCategoria , Categoria
FROM Categoria Ca
WHERE IDCategoria NOT IN (SELECT IDCategoria FROM
Alumno)
ORDER BY IDCategoria

Resultado:

7
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017
E.P. INGENIERA EN INFORMATICA Y SISTEMAS

Se selecciona el cdigo de todas las categoras que aparecen en la


tabla alumno.
Luego se selecciona nuevamente el cdigo y nombre de las
categoras que pertenece al conjunto anterior y se ordena dicho
resultado segn el cdigo de la categora.

d. Presentar en pantalla una lista de ciudades en las que existe por lo


menos un alumno que es PSIMO
Instruccin SQL:
SELECT IDCiudad ,Ciudad
FROM Ciudad c
WHERE IDCiudad in (SELECT IDCiudad FROM Alumno
WHERE IDCategoria = 3)
ORDER BY IDCiudad

Resultado:

Primero se hace la consulta en la tabla alumno de las ciudades en


donde cdigo de la categora es 3.
Luego se selecciona el cdigo y nombre de las ciudades que
pertenecen a la tabla ciudades en donde el cdigo de la ciudad
pertenece al conjunto anterior y se ordena dicho resultado segn el
cdigo de la ciudad.
e. Presentar una lista de alumnos que no viven en Arequipa
Instruccin SQL:
SELECT IDAlumno , NOMBRE , APELLIDO
FROM Alumno a
WHERE IDAlumno not in (SELECT IDAlumno FROM Alumno
WHERE IDCiudad = 2)

Resultado:

8
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017
E.P. INGENIERA EN INFORMATICA Y SISTEMAS

Primero se hace la consulta en la tabla alumno de los alumnos en


cuyo cdigo de ciudad sea 2 (Arequipa)
Luego se selecciona el cdigo, nombre y apellido de los alumnos
que pertenecen a la tabla alumno que no pertenece al conjunto
anterior.
f. Presentar una lista de ciudades donde viven los mejores
estudiantes
Instruccin SQL:
SELECT c.IDCiudad,c.Ciudad ,IDCategoria
FROM Ciudad c inner join Alumno a on c.IdCiudad =
a.IDCiudad
ORDER BY IDCategoria desc

Resultado:

4.2.2. SECCIN 02: COMBINACIONES EXTERNAS POR LA DERECHA E


IZQUIERDA
g. Se desea extraer un listado de todas las ciudades, en donde se
muestre a los alumnos que en esa ciudad radiquen
Instruccin SQL:
SELECT DISTINCT C.IDCiudad,Ciudad,Nombre,Apellido
FROM Ciudad C
LEFT OUTER JOIN Alumno A on (C.IDCiudad =
A.IDCiudad)
ORDER BY 3

9
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017
E.P. INGENIERA EN INFORMATICA Y SISTEMAS

Resultado:

Se muestra en pantalla el cdigo, nombre de la ciudad as como el


nombre y apellidos de los alumnos. Se observa las ciudades con
sus respectivos alumnos.La sentencia Ciudad C LEFT OUTER
JOIN Alumno a indica que se desea mostrar todas las ciudades
con sus respectivos alumnos. Si no hay alumnos en dicha ciudad,
se completa con NULL.
h. Cul es el resultado de la ejecucin de la siguiente consulta?
Instruccin SQL:
SELECT Ciudad,IDAlumno,Apellido,Nombre
FROM Alumno A
RIGHT OUTER JOIN Ciudad C ON (A.IDCiudad =
C.IDCiudad)
ORDER BY Apellido,Nombre

Resultado:

10
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017
E.P. INGENIERA EN INFORMATICA Y SISTEMAS

Se muestra a las ciudades con los respectivos alumnos. Alumno A


.La sentencia Alumno a RIGHT OUTER JOIN Ciudad C indica que
se desea mostrar todas las ciudades con sus respectivos alumnos.
Si no hay alumnos en dicha ciudad, se completa con NULL.
i. Se desea extraer un listado de todas las categoras , en donde se
muestre a los alumnos que correspondan a esa categora
Instruccin SQL:
SELECT DISTINCT
C.IDCategoria,Categoria,Nombre,Apellido FROM
Categoria C
LEFT OUTER JOIN Alumno A ON (C.IDCategoria =
A.IDCategoria)
ORDER BY 3

Resultado:

11
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017
E.P. INGENIERA EN INFORMATICA Y SISTEMAS

Se muestra a las categoras con los respectivos alumnos.La


sentencia Categora C LEFT OUTER JOIN Alumno A indica que
se desea mostrar todas las categoras con sus respectivos alumnos.
Si no hay un alumno que pertenece a dicha categora entonces se
completar con null.
j. Cul es el resultado de la siguiente instruccin SQL?
Instruccin SQL:
SELECT DISTINCT
C.IDCategoria,Categoria,Nombre,Apellido FROM
Alumno A
RIGHT OUTER JOIN Categoria C ON (A.IDCategoria =
C.IDCategoria)
ORDER BY 3

Resultado:

Se muestra un listado de todos los alumnos con sus respectivas


categoras. La sentencia Alumno A RIGHT OUTER JOIN

12
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017
E.P. INGENIERA EN INFORMATICA Y SISTEMAS

Categora C indica que se desea mostrar todas las categoras con


sus respectivos alumnos.
Si no hay un alumno que pertenece a dicha categora entonces se
completar con null.

4.2.3. SECCIN 03: COMBINACIONES EXTERNAS COMPLETAS


k. Ejecutar la siguiente consulta Cul es el resultado?
Instruccin SQL:
SELECT DISTINCT
C.IDCategoria,Categoria,Nombre,Apellido FROM
Alumno A
FULL OUTER JOIN Categoria C ON (A.IDCategoria =
C.IDCategoria)
ORDER BY 3

Resultado:

Muestra todos los resultados posibles de alumnos con sus


respectivas categoras. Entrega la unin de las categoras con
alumnos. Si una fila en C(categora) no tiene una fila
correspondiente en A(alumno), la porcin de C es null, y vice
versa.

V. CONCLUSIONES
SQL Server Management, me permite la comunicacin con el motor de base
de datos. Permite administrar la base de datos.
Se logr realizar consultas de inclusin y combinaciones externas.

13
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
FACULTAD DE INGENIERIAS BASE DE DATOS I - 2017
E.P. INGENIERA EN INFORMATICA Y SISTEMAS

VI. BIBLIOGRAFA
Silberschatz A., Korth H. y Sudarshan S. (2001). Fundamentos de Bases de
datos. Espaa: Editorial McGraw Hill/Latinoamericana.
Elmasri R. y Navathe S. (1994) Sistemas de Bases de Datos Conceptos
Fundamentales. Espaa: Addison Wesley Iberoamericana.

14