consultas básicas en sql server

24
Instituto Polit´ ecnico Nacional Escuela Superior de Computo Bases de Datos Pr´ actica 2 Alumno: Jos´ e Ricardo P´ erez P´ erez Profesora: M. en C. Idalia Maldonado Castillo Grupo: 2CV7 20 de febrero del 2013

Upload: ararage-kun

Post on 01-Jul-2015

157 views

Category:

Education


2 download

DESCRIPTION

Práctica 2 Bases de Datos

TRANSCRIPT

Page 1: Consultas básicas en SQL Server

Instituto Politecnico Nacional

Escuela Superior de Computo

Bases de Datos

Practica 2

Alumno:

Jose Ricardo Perez Perez

Profesora:

M. en C. Idalia Maldonado Castillo

Grupo:

2CV7

20 de febrero del 2013

Page 2: Consultas básicas en SQL Server

Indice.

1 Introduccion Pg.3

2 Realizacion de la practica.4

3 Conclusiones Pg.22

4 Referencias Pg.23

2

Page 3: Consultas básicas en SQL Server

Introduccion.

En las bases de datos relacionales podemos encontrar nosotros claves foraneaso claves ajenas(Foreign Key FK)y tablas de clave principal o claver primaria.La clave o claves foraneas de una tabla son referencias a registros de otratabla, formandose entre ambas tablas una relacion, una clave foranea apun-tara siempre a la clave primaria de otra tabla. El SGBD es quien garantizano dejar armar una clave foranea si pretendemos montarla sobre el campo,o campos, que no son clave primaria en la tabla con la que se pretende rela-cionar. Se llama clave primaria a un campo o a una combinacion de camposque identifica de forma unica a cada fila de una tabla. Una clave primariacomprende de esta manera una columna o conjunto de columnas. No puedehaber dos filas en una tabla que tengan la misma clave primaria.Una claveprimaria debe identificar unıvocamente a todas las posibles filas de una tablay no solo a las filas que se encuentran en un momento determinado. Ejemp-los de claves primarias son DNI (asociado a una persona) o ISBN (asociadoa un libro). Las guıas telefonicas y diccionarios no pueden usar nombres opalabras o numeros del sistema decimal de Dewey como claves candidatas,porque no identifican unıvocamente numeros de telefono o palabras.

3

Page 4: Consultas básicas en SQL Server

Realizacion de la practica 1.

Para nuestra practica 2 tuvimos que realizar el siguiente esquema de Basede Datos para los almacenes de SEARS.

Para poder realizar nuestro esquema primero creamos nuestras tablasDEPARTAMENTO,ALMACEN y ALMACEN DEPARTAMENTO. Primer-amente creamos nuestra tabla DEPARTAMENTO que es una tabla de claveprincipal y que no acepta valores NULL, sus columnas son 2, IdDeparta-mento que almacenara tipos de datos enteros (int) y NombreDepartamentoque guardara datos de tipo varchar con un lımite de 80 caracteres.

Despues de crear la tabla DEPARTAMENTO creamos la tabla ALMA-CEN DEPARTAMENTO que sera nuestra tabla de clave externa foranea,

4

Page 5: Consultas básicas en SQL Server

esta tabla incluye 2 columnas, la de Almacen NumAlmacen que recibe datosenteros y Departamento IdDepartamento que tambien recibe datos enteros.

Ahora crearemos nuestra ultima tabla de nombre ALMACEN, que serauna tabla de clave principal y tendra 5 columnas las cuales son NumAlmacenque recibe datos enteros,NombreAlmacen que es de tipo varchar con un lımitede 80 caracteres, DireccionAlmacen que tambien es de tipo varchar con unlımite de 80 caracteres,TelefonoAlmacen que tambien es de tipo varchar conun lımite de 13 caracteres y EstadoAlmacen que es de tipo varchar con unlımite de 50 caracteres y que si permite valores NULL.

Ahora para poder definir que nuestra tabla departamento es una tablade clave principal damos click derecho en IdDepartamento que sera nuestro

5

Page 6: Consultas básicas en SQL Server

elemento de relacion, al salir la pestana seleccionamos la primera opcion quedice ”Establecer clave principal”.

Ahora aplicaremos lo mismo para nuestra tabla ALMACEN DEPARTA-MENTO, esta tabla sera nuestra tabla de clave externa foranea,para poderaplicar esa propiedad seleccionamos nuestros elementos y aplicamos a las doscolumnas click derecho seleccionando la opcion ”Establecer Clave Principal”.

Finalmente aplicamos lo mismo a nuestra tercera tabla de nombre AL-MACEN pero solo a la columna NumAlmacen.

Ya que tenemos definidos que columnas seran las que se relacionaran ycuales son nuestras tablas principales y nuestra tabla foranea es hora de

6

Page 7: Consultas básicas en SQL Server

definir las relaciones que tendran estas. Primero en nuestra tabla FK damosclick derecho a la columna Departamento IdDepartamento, seleccionamos lapestana ”Relaciones”,

En la ventana que se nos desplega damos la opcion de Agregar y nossaldran las propiedades que podemos manpiular de la relacion que acabamosde agregar, en la pestana”Especificacion de tablas y columnas” damos clicky seleccionamos el recuadritos de 3 puntos suspensivos.

Ahora podremos definir cual sera nuestra tabla de clave principal, pode-mos que ver que nuestra tabla de clave foranea ya esta predeterminada comoALMACEN DEPARTAMENTO, agregaremos de nuestra pestana de abajo

7

Page 8: Consultas básicas en SQL Server

una de las columnas de esta tabla, en este caso Departamento IdDepar-tamento; en la parte izquierda podremos ver una pestana donde podemosseleccionar nuestra tabla de clave principal , podemos escojer DEPARTA-MENTO o ALMACEN, en este caso primero seleccionaremos la columna denuestra tabla DEPARTAMENTO que se relacionara con nuestra columnaseleccionada de nuestra tabla foranea, seleccionaremos IdDepartamento.

Ya que definimos las relaciones de nuestra columna Departamento IdDe-partamento es el turno de definir la relacion de la columna Almacen NumAl-macen; para definir esta relacion aplicamos lo mismo que el paso anterioragregando una nueva relacion. Nuestra tabla de clave externa sera la misma,

8

Page 9: Consultas básicas en SQL Server

ALMACEN DEPARTAMENTO seleccionando la columna Almacen NumAl-macen, y nuestra tabla de clave principal sera ALMACEN seleccionando lacolumna NumAlmacen.

Ahora creamos un nuevo diagrama y podremos visualizar nuestras tablasy sus relaciones de la siguiente manera.

La practica nos dice que realicemos las siguientes consultas.

9

Page 10: Consultas básicas en SQL Server

10

Page 11: Consultas básicas en SQL Server

Para las consultas de la tabla ALMACEN tendremos que generar unanueva consulta en nuestro proyecto y generaremos las 10 nuevas filas a agregarcon la consulta:

INSERT(INTO(nombreTabla(campo1,campo2,. . . ,campon)VALUES(valorcampo1,valorcampo2,. . .

Actualizamos nuestra tabla y podremos ver que efectivamente estan nues-tras nuevas filas con sus respectivos datos.

Ahora agregaremos filas a nuestra tabla DEPARTAMENTO.

11

Page 12: Consultas básicas en SQL Server

Consultamos nuestra tabla para ver si se agregaron las filas y efectiva-mente se encuentran ahı nuestras nuevas filas.

12

Page 13: Consultas básicas en SQL Server

Ahora introduciremos las filas para nuestra tabla ALMACEN DEPAR-TAMENTO.

Consultamos nuestra tabla para verificar si las filas fueron agregadas ypodemos ver que se encuentran ahı.

13

Page 14: Consultas básicas en SQL Server

CONSULTAS.

1.- Consultar el nombre y telefono de cada Almacen. Para consultar solo elnombre y telefono de cada almacen escribiremos la siguiente consulta.

slect NombreAlmacen,TelefonoAlmacen from ALMACEN;

Lo que hace esta consulta es verificar las filas NombreAlmacen y TelefonoAlmacen de nuestra tabla ALMACEN, la consulta no tiene condicion algunapor lo que nos mostrara todos los nombres de los almacenes y sus respectivostelefonos.

2.-Enlistar los departamentos que tiene el Almacen Insurgentes y Leon

Plaza.

Como la identificacion de departamento de los almacenes Insurgentes y LeonPlaza son el 101 y 211 respectivamente nos encargaremos de extraer los de-partamentos a partir de su identificacion.

select Departamento IdDepartamento from ALMACENDEPARTAMENTO where Almacen NumAlmacen = 101;

select Departamento IdDepartamento from ALMACENDEPARTAMENTO where Almacen NumAlmacen = 211;

En nuestra consulta encontramos el Departamento IdDepartamento quehace referencia a una columna donde se encuentra cada una de las filas de nue-stros departamentos, se extraera esa identficacion de nuestra tabla ALMA-CEN DEPARTAMENTO , de ahi extraeremos la infromacion de la columna

14

Page 15: Consultas básicas en SQL Server

Almacen NumAlmacen y con el operador ”=” compararemos cada una delas identificaciones 101 y 211 que son las que nos estan pidiendo.

3.-Mostrar los datos correspondientes a los almacenes en la ciudad de

Mexico.

Como queremos mostrar toda la informacion de los almacenes que solo seencuentran en la ciudad de Mexico entonces escribiremos la siguiente con-sulta.

select NumAlmacen,NombreAlmacen,DireccionAlmacen,TelefonoAlmacenfrom ALMACEN where EstadoAlmacen = ’Mexico DF’;

En nuestra consulta observamos NumAlmacen,NombreAlmacen, Direc-cionAlmacen y TelefonoAlmacen que hacen referencia a las columnas denuestra tabla donde esta contenida la informacion de cada uno de nue-stros almacenes. Como solo queremos imprimir solamente los almacenesde la Ciudad de Mexico y sus respectivos datos seleccionamos las columnasa imprimir que son NumAlmacen,NombreAlmacen,DireccionAlmace y Tele-fonoAlmacen, esa infromacion se eneuentra en la tabla ALMACEN por lotanto buscaremos una cadena en esa misma tabla que sea igual a ”MexicoDF”,lo lograremos con el operador ”=”; como es una cadena lo que buscamosno hay que olvidar poner lo que estamos buscando entre comillas simples (’’ ).

15

Page 16: Consultas básicas en SQL Server

4.-Insertar los siguientes datos en la tabla DEPARTAMENTO y visu-

alizar todos los despartamentos.

Para ingresar los tres nuevos datos en nuestra tabla DEPARTAMENTOcon sus nuevas identificaciones solo basta con escribir 3 veces:

INSERT INTO DEPARTAMENTO(IdDepartamento,NombreDepartamento) values

(NuevaId,’NuevoDepartamento’);

Ahora para verificar que se agregaron solo tecleamos SELECT * FROMDEPARTAMENTO; , y efectivamente se encuentran nuestras nuevos datos,cabemencionar que los datos los ordenara automaticamente segun los ID.

16

Page 17: Consultas básicas en SQL Server

5.-Eliminar el registro que tiene los datos correspondientes al almacen

Sears Universidad.

Para eliminar el registro de los datos correspondientes deberemos utilizar lasiguiente consulta:

DELETE FROM nombre Tabla WHERE condicion;

Ahora consultamos nuestra tabla ALMACEN y podremos ver que se haactualizado y la fila que corresponde al almacen Universidad ya no esta enla tabla.

17

Page 18: Consultas básicas en SQL Server

6.-Actualizar el telefono de SEARS Lindavista como : 58964000.

Para actualizar el telefono tendremos que utlizar la consulta:

UPDATE nombre TABLA SET nombrecolumna1 = valornuevo WHEREcondicion;

Ahora verificamos nuestra tabla y podemos ver que si se cambio el telefonodel almacen deseado.

18

Page 19: Consultas básicas en SQL Server

7.-Agregar al almacen Lindavista los departamentos Ropa Dama,Ropa Ca-

balleros y Videojuegos.

Para poder agregar nuevos departamentos a nuestro almacen ingresaremosel ID del departamento a agregar en nuestro almacen segun su numero deidentificacion. En este caso se realizara 3 veces la consulta ya que son 3 losdepartamentos los que se agregaran a un mismo almacen.

19

Page 20: Consultas básicas en SQL Server

Podemos ver que se han agreagado, los departamentos 66,77 y 88 hacenreferencia a los departamentos Ropa Dama,Ropa Caballeros y Videojuegos,el numero 106 hace referencia al almacen Lindavista.

8.-Agregar al almacen Insurgentes los departamentos Bebes,Fotografıa y Tele-

fonıa.

Para poder agregar nuevos departamentos a nuestro almacen ingresaremosel ID del departamento a agregar en nuestro almacen segun su numero deidentificacion. En este caso se realizara 3 veces la consulta ya que son 3 losdepartamentos los que se agregaran a un mismo almacen.

Podemos ver que se han agreagado, los departamentos 11,12 y 13 hacen refer-encia a los departamentos Bebes,Fotografıa y Telefonıa, el numero 101 hacereferencia al almacen Insurgentes.

9.-Actualizar el estado de la sucursal Cuautitlan con el estado como ”Es-

tado de Mexico”.

Nuevamente utilizaremos la consulta:

UPDATE nombre Tabla SET nombrecolumna1=valornuevo WHEREcondicion;

Nuestra tabla a actualizar sera la tabla ALMACEN, nuestra columna Es-tadoAlmacen donde se encuentre la fila Mexico la cambiaremos por Mexico,identificandola

20

Page 21: Consultas básicas en SQL Server

por la fila NombreAlmacen de nombre Cuautiltan.

21

Page 22: Consultas básicas en SQL Server

10.-Mostrar todos los departamentos del Almacen Insurgentes. Se puede

usar el identificador del almacen 101.

Para poder mostrar los departamentos de nuestro Almacen Insurgentes creare-mos una nueva consulta, seleccionaremos nuestra tabla ALMACEN DEPAR-TAMENTO,de donde tomaremos el Id de nuestro departamento y mostraremosdonde el numero del almacen sea igual a 101. La consulta seria ası.

SELECT Departamento IdDepartamento from ALMACENDEPARTAMENTO where Almacen NumAlmacen = 101;

22

Page 23: Consultas básicas en SQL Server

Conclusiones.

En la practica pudimos realizar un ejemplo que a mi parecer es un ejemplomuy practico ya que se ve dia a dia en el mundo laboral. El manejo decomandos para regresar tuplas de nustra base de datos,agregar filas, agregartablas , actualizar datos de las columnas de nuestras tablas o quitar columnaso hasta tablas completas son comandos basicos que se deben aprender parala creacion y administracion de una base de datos, aunque no es muy facilconocer cuales son nuestras tablas foraneas y principales si las vemos desdeuna prespectiva como un diagrama (como el que hicimos en nuestra base dedatos) podremos entender mejor que es a lo que hacen referencia y comoes que se pueden relacionar cada una de las tablas segun las columnas queseleccionemos y como se comportaran cada una de estas, haciendo asi maseficiente la administracion y gestton de nuestra base de datos.

23

Page 24: Consultas básicas en SQL Server

Referencias.

http://deletesql.com/viewtopic.php?f=5t=20http://es.wikipedia.org/wiki/Clave primaria

24