Este documento presenta los detalles de la Práctica 2 de una asignatura de Bases de Datos. Se describe la creación de un esquema de base de datos para los almacenes de SEARS con tablas como DEPARTAMENTO, ALMACEN y ALMACEN DEPARTAMENTO. También incluye ejemplos de consultas SQL como seleccionar, insertar, actualizar y eliminar datos de las tablas. Finalmente, concluye que la práctica permitió aprender conceptos básicos de administración de bases de datos a través de un ejemplo
1. Instituto Polit´cnico Nacional
e
Escuela Superior de Computo
Bases de Datos
Pr´ctica 2
a
Alumno:
Jos´ Ricardo P´rez P´rez
e
e
e
Profesora:
M. en C. Idalia Maldonado Castillo
Grupo:
2CV7
20 de febrero del 2013
3. Introducci´n.
o
En las bases de datos relacionales podemos encontrar nosotros claves for´neas
a
o claves ajenas(Foreign Key FK)y tablas de clave principal o claver primaria.
La clave o claves for´neas de una tabla son referencias a registros de otra
a
tabla, form´ndose entre ambas tablas una relaci´n, una clave for´nea apuna
o
a
tar´ siempre a la clave primaria de otra tabla. El SGBD es quien garantiza
a
no dejar armar una clave for´nea si pretendemos montarla sobre el campo,
a
o campos, que no son clave primaria en la tabla con la que se pretende relacionar. Se llama clave primaria a un campo o a una combinaci´n de campos
o
que identifica de forma unica a cada fila de una tabla. Una clave primaria
´
comprende de esta manera una columna o conjunto de columnas. No puede
haber dos filas en una tabla que tengan la misma clave primaria.Una clave
primaria debe identificar un´
ıvocamente a todas las posibles filas de una tabla
y no solo a las filas que se encuentran en un momento determinado. Ejemplos de claves primarias son DNI (asociado a una persona) o ISBN (asociado
a un libro). Las gu´ telef´nicas y diccionarios no pueden usar nombres o
ıas
o
palabras o n´ meros del sistema decimal de Dewey como claves candidatas,
u
porque no identifican un´
ıvocamente n´ meros de tel´fono o palabras.
u
e
3
4. Realizaci´n de la pr´ctica 1.
o
a
Para nuestra pr´ctica 2 tuvimos que realizar el siguiente esquema de Base
a
de Datos para los almacenes de SEARS.
Para poder realizar nuestro esquema primero creamos nuestras tablas
DEPARTAMENTO,ALMACEN y ALMACEN DEPARTAMENTO. Primeramente creamos nuestra tabla DEPARTAMENTO que es una tabla de clave
principal y que no acepta valores NULL, sus columnas son 2, IdDepartamento que almacenara tipos de datos enteros (int) y NombreDepartamento
que guardara datos de tipo varchar con un l´
ımite de 80 car´cteres.
a
Despues de crear la tabla DEPARTAMENTO creamos la tabla ALMACEN DEPARTAMENTO que ser´ nuestra tabla de clave externa foranea,
a
4
5. esta tabla incluye 2 columnas, la de Almacen NumAlmacen que recibe datos
enteros y Departamento IdDepartamento que tambien recibe datos enteros.
Ahora crearemos nuestra ultima tabla de nombre ALMACEN, que ser´
´
a
una tabla de clave principal y tendr´ 5 columnas las cuales son NumAlmacen
a
que recibe datos enteros,NombreAlmacen que es de tipo varchar con un l´
ımite
de 80 car´cteres, DireccionAlmacen que tambien es de tipo varchar con un
a
l´
ımite de 80 car´cteres,TelefonoAlmacen que tambien es de tipo varchar con
a
un l´
ımite de 13 car´cteres y EstadoAlmacen que es de tipo varchar con un
a
l´
ımite de 50 car´cteres y que si permite valores NULL.
a
Ahora para poder definir que nuestra tabla departamento es una tabla
de clave principal damos click derecho en IdDepartamento que sera nuestro
5
6. elemento de relaci´n, al salir la pesta˜ a seleccionamos la primera opci´n que
o
n
o
dice ”Establecer clave principal”.
Ahora aplicaremos lo mismo para nuestra tabla ALMACEN DEPARTAMENTO, esta tabla sera nuestra tabla de clave externa foranea,para poder
aplicar esa propiedad seleccionamos nuestros elementos y aplicamos a las dos
columnas click derecho seleccionando la opcion ”Establecer Clave Principal”.
Finalmente aplicamos lo mismo a nuestra tercera tabla de nombre ALMACEN pero solo a la columna NumAlmacen.
Ya que tenemos definidos que columnas seran las que se relacionaran y
cuales son nuestras tablas principales y nuestra tabla foranea es hora de
6
7. definir las relaciones que tendran estas. Primero en nuestra tabla FK damos
click derecho a la columna Departamento IdDepartamento, seleccionamos la
pesta˜ a ”Relaciones”,
n
En la ventana que se nos desplega damos la opcion de Agregar y nos
saldran las propiedades que podemos manpiular de la relacion que acabamos
de agregar, en la pesta˜ a”Especificaci´n de tablas y columnas” damos click
n
o
y seleccionamos el recuadritos de 3 puntos suspensivos.
Ahora podremos definir cual ser´ nuestra tabla de clave principal, podea
mos que ver que nuestra tabla de clave foranea ya est´ predeterminada como
a
ALMACEN DEPARTAMENTO, agregaremos de nuestra pesta˜ a de abajo
n
7
8. una de las columnas de est´ tabla, en este caso Departamento IdDepara
tamento; en la parte izquierda podremos ver una pesta˜ a donde podemos
n
seleccionar nuestra tabla de clave principal , podemos escojer DEPARTAMENTO o ALMACEN, en este caso primero seleccionaremos la columna de
nuestra tabla DEPARTAMENTO que se relacionara con nuestra columna
seleccionada de nuestra tabla foranea, seleccionaremos IdDepartamento.
Ya que definimos las relaci´nes de nuestra columna Departamento IdDeo
partamento es el turno de definir la relaci´n de la columna Almacen NumAlo
macen; para definir est´ relacion aplicamos lo mismo que el paso anterior
a
agregando una nueva relacion. Nuestra tabla de clave externa ser´ la misma,
a
8
9. ALMACEN DEPARTAMENTO seleccionando la columna Almacen NumAlmacen, y nuestra tabla de clave principal ser´ ALMACEN seleccionando la
a
columna NumAlmacen.
Ahora creamos un nuevo diagrama y podremos visualizar nuestras tablas
y sus relaci´nes de la siguiente manera.
o
La pr´ctica nos dice que realicemos las siguientes consultas.
a
9
11. Para las consultas de la tabla ALMACEN tendremos que generar una
nueva consulta en nuestro proyecto y generaremos las 10 nuevas filas a agregar
con la consulta:
INSERT(INTO(nombreTabla(campo1,campo2,. . . ,campon)VALUES(valorcampo1,valorcampo2,. . .
Actualizamos nuestra tabla y podremos ver que efectivamente estan nuestras nuevas filas con sus respectivos datos.
Ahora agregaremos filas a nuestra tabla DEPARTAMENTO.
11
12. Consultamos nuestra tabla para ver si se agregaron las filas y efectivamente se encuentran ah´ nuestras nuevas filas.
ı
12
13. Ahora introduciremos las filas para nuestra tabla ALMACEN DEPARTAMENTO.
Consultamos nuestra tabla para verificar si las filas fueron agregadas y
podemos ver que se encuentran ah´
ı.
13
14. CONSULTAS.
1.- Consultar el nombre y tel´fono de cada Almac´n. Para consultar solo el
e
e
nombre y tel´fono de cada almac´n escribiremos la siguiente consulta.
e
e
slect NombreAlmacen,TelefonoAlmacen from ALMACEN;
Lo que hace esta consulta es verificar las filas NombreAlmacen y Telefono
Almacen de nuestra tabla ALMACEN, la consulta no tiene condicion alguna
por lo que nos mostrara todos los nombres de los almacenes y sus respectivos
tel´fonos.
e
2.-Enlistar los departamentos que tiene el Almac´n Insurgentes y Le´n
e
o
Plaza.
Como la identificaci´n de departamento de los almac´nes Insurgentes y Le´n
o
e
o
Plaza son el 101 y 211 respectivamente nos encargaremos de extraer los departamentos a partir de su identificaci´n.
o
select Departamento IdDepartamento from ALMACEN
DEPARTAMENTO where Almacen NumAlmacen = 101;
select Departamento IdDepartamento from ALMACEN
DEPARTAMENTO where Almacen NumAlmacen = 211;
En nuestra consulta encontramos el Departamento IdDepartamento que
hace referencia a una columna donde se encuentra cada una de las filas de nuestros departamentos, se extraera esa identficaci´n de nuestra tabla ALMAo
CEN DEPARTAMENTO , de ahi extraeremos la infromaci´n de la columna
o
14
15. Almacen NumAlmacen y con el operador ”=” compararemos cada una de
las identificaciones 101 y 211 que son las que nos estan pidiendo.
3.-Mostrar los datos correspondientes a los almacenes en la ciudad de
M´xico.
e
Como queremos mostrar toda la informaci´n de los almacenes que solo se
o
encuentran en la ciudad de M´xico entonces escribiremos la siguiente cone
sulta.
select NumAlmacen,NombreAlmacen,DireccionAlmacen,TelefonoAlmacen
from ALMACEN where EstadoAlmacen = ’M´xico DF’;
e
En nuestra consulta observamos NumAlmacen,NombreAlmacen, DireccionAlmacen y TelefonoAlmacen que hacen referencia a las columnas de
nuestra tabla donde est´ contenida la informaci´n de cada uno de nuea
o
stros almacenes. Como solo queremos imprimir solamente los almacenes
de la Ciudad de M´xico y sus respectivos datos seleccionamos las columnas
e
a imprimir que son NumAlmacen,NombreAlmacen,DireccionAlmace y TelefonoAlmacen, esa infromacion se eneuentra en la tabla ALMACEN por lo
tanto buscaremos una cadena en esa misma tabla que sea igual a ”M´xico
e
DF”,lo lograremos con el operador ”=”; como es una cadena lo que buscamos
no hay que olvidar poner lo que estamos buscando entre comillas simples (’
’ ).
15
16. 4.-Insertar los siguientes datos en la tabla DEPARTAMENTO y visualizar todos los despartamentos.
Para ingresar los tres nuevos datos en nuestra tabla DEPARTAMENTO
con sus nuevas identificaci´nes solo basta con escribir 3 veces:
o
INSERT INTO DEPARTAMENTO
(IdDepartamento,NombreDepartamento) values
(NuevaId,’NuevoDepartamento’);
Ahora para verificar que se agregaron solo tecleamos SELECT * FROM
DEPARTAMENTO; , y efectivamente se encuentran nuestras nuevos datos,cabe
mencionar que los datos los ordenara automaticamente segun los ID.
16
17. 5.-Eliminar el registro que tiene los datos correspondientes al almac´n
e
Sears Universidad.
Para eliminar el registro de los datos correspondientes deberemos utilizar la
siguiente consulta:
DELETE FROM nombre Tabla WHERE condici´n;
o
Ahora consultamos nuestra tabla ALMACEN y podremos ver que se ha
actualizado y la fila que corresponde al almac´n Universidad ya no esta en
e
la tabla.
17
18. 6.-Actualizar el tel´fono de SEARS Lindavista como : 58964000.
e
Para actualizar el tel´fono tendremos que utlizar la consulta:
e
UPDATE nombre TABLA SET nombrecolumna1 = valornuevo WHERE
condici´n;
o
Ahora verificamos nuestra tabla y podemos ver que si se cambio el tel´fono
e
del almacen deseado.
18
19. 7.-Agregar al almacen Lindavista los departamentos Ropa Dama,Ropa Caballeros y Videojuegos.
Para poder agregar nuevos departamentos a nuestro almacen ingresaremos
el ID del departamento a agregar en nuestro almacen segun su numero de
identificaci´n. En este caso se realizara 3 veces la consulta ya que son 3 los
o
departamentos los que se agregaran a un mismo almacen.
19
20. Podemos ver que se han agreagado, los departamentos 66,77 y 88 hacen
referencia a los departamentos Ropa Dama,Ropa Caballeros y Videojuegos,
el n´ mero 106 hace referencia al almacen Lindavista.
u
8.-Agregar al almacen Insurgentes los departamentos Bebes,Fotograf´ y Teleıa
fon´
ıa.
Para poder agregar nuevos departamentos a nuestro almacen ingresaremos
el ID del departamento a agregar en nuestro almacen segun su numero de
identificaci´n. En este caso se realizara 3 veces la consulta ya que son 3 los
o
departamentos los que se agregaran a un mismo almacen.
Podemos ver que se han agreagado, los departamentos 11,12 y 13 hacen referencia a los departamentos Bebes,Fotograf´ y Telefon´ el n´ mero 101 hace
ıa
ıa,
u
referencia al almacen Insurgentes.
9.-Actualizar el estado de la sucursal Cuautitlan con el estado como ”Estado de M´xico”.
e
Nuevamente utilizaremos la consulta:
UPDATE nombre Tabla SET nombrecolumna1=valornuevo WHERE
condici´n;
o
Nuestra tabla a actualizar sera la tabla ALMACEN, nuestra columna EstadoAlmacen donde se encuentre la fila M´xico la cambiaremos por M´xico,identificandola
e
e
20
21. por la fila NombreAlmacen de nombre Cuautiltan.
21
22. 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 crearemos una nueva consulta, seleccionaremos nuestra tabla ALMACEN DEPARTAMENTO,de donde tomaremos el Id de nuestro departamento y mostraremos
donde el numero del almacen sea igual a 101. La consulta seria as´
ı.
SELECT Departamento IdDepartamento from ALMACEN
DEPARTAMENTO where Almacen NumAlmacen = 101;
22
23. Conclusi´nes.
o
En la pr´ctica pudimos realizar un ejemplo que a mi parecer es un ejemplo
a
muy practico ya que se ve dia a dia en el mundo laboral. El manejo de
comandos para regresar tuplas de nustra base de datos,agregar filas, agregar
tablas , actualizar datos de las columnas de nuestras tablas o quitar columnas
o hasta tablas completas son comandos b´sicos que se deben aprender para
a
la creacion y administraci´n de una base de datos, aunque no es muy f´cil
o
a
conocer cuales son nuestras tablas for´neas y principales si las vemos desde
a
una prespectiva como un diagrama (como el que hicimos en nuestra base de
datos) podremos entender mejor que es a lo que hacen referencia y como
es que se pueden relacionar cada una de las tablas seg´ n las columnas que
u
seleccionemos y como se comportaran cada una de estas, haciendo asi mas
eficiente la administracion y gestt´n de nuestra base de datos.
o
23