Está en la página 1de 11

UNIVERSIDAD ABIERTA Y DISTANCIA DE MEXICO

Unidad: 3 Tarea: Evidencia de aprendizaje. Bases de datos en base a un caso Fecha: 25/01/2014
El propsito de la actividad es realizar una base de datos en SQL y ensayar las operaciones de creacin de base de datos en base a comandos, realizacin de consultas en base a operadores del lgebra relacional y conocer el proceso de almacenamientos de las base de datos, las cuales, como se mencion, van desde el aspecto fsico, hasta el conceptual y lgico.

Lee con atencin el siguiente caso y realiza lo que se te pide en los puntos siguientes. Observa que despus del caso que te presentan las tablas que tendra las bases de datos y los atributos de cada una de ellas:

Diseo de Base de Datos

Pgina 1

UNIVERSIDAD ABIERTA Y DISTANCIA DE MEXICO

Una pequea empresa distribuidora de productos requiere un sistema de base de datos que le ayude a controlar el procesamiento de los pedidos, dicha base de datos se llamar VentasProductos y est compuesta por las siguientes tablas:

1. Clientes: Contiene una fila por cada uno de los clientes de la empresa. Sus campos son: nmero de cliente, nombre de la empresa, nombre de la persona de contacto de la empresa y lmite de crdito. 2. RepresentanteVentas: Contiene una fila por cada uno de los vendedores de la empresa. Sus campos son: nmero de empleado, nombre edad, nmero de la oficina en la que trabaja el vendedor, ttulo, fecha de contratacin, id del director del empleado (todo empleado tiene un director del cual depende), cuota de ventas previstas y nmero de ventas realizadas. 3. Oficinas: Contiene una fila por cada una de las oficinas en las que trabajan los vendedores. Sus campos son: nmero de oficina, ciudad, regin, ventas realizadas y objetivo de ventas. 4. Productos: Contiene una fila por cada producto disponible para ventas. Sus campos son: id del producto, descripcin, precio y existencia. 5. Pedidos. Contiene una fila por cada pedido ordenado por un cliente: Por simplicidad, se supone que cada pedido solo puede ser un solo producto. Sus campos son: nmero, fecha del pedido, nmero del cliente que hizo el pedido, nmero de empleado que realiz el pedido, el id del producto que fue pedido, la cantidad y el importe.

Crea los modelos para la base de datos del caso presentado (E-R y Relacional).

Diseo de Base de Datos

Pgina 2

UNIVERSIDAD ABIERTA Y DISTANCIA DE MEXICO

titulo

Id-oficina

Fecha-contratacion Id-cliente

edad

Couta-ventaa Fecha-pedido

Id-empleado

Nombre-empresa

Nombre-contacto empresa

nombre

No-venta-realizada

Id-pedido

cantidad

Id-cliente

Limite-credito

Id-empleado

Representante venta

Realiza

pedido

Realiza

cliente

Id-director Id-director nombre tiene Tiene director importe

Id-producto

producto

existencia

ciudad

oficina

Venta-realizada descripcion precio

Id-oficina

Objetivo-venta

region

cliente Id-cliente Nombre-empresa Nombre-contatoempresa Limite-credito Id-pedido

Representante-venta Id-empleado Nombre edad Id-oficina titulo Fecha-contratacion Cuota-ventas No-ventasrealizadas Id-director Id-cliente

director Id-director Nombre Id-empleado

oficina Id-oficina ciudad region Ventas-realizadas Objetivo-ventas Id-empleado

producto Id-producto descripcion precio existencia

pedido Id-pedido Fecha-pedido Id-cliente Id-empleado cantidad importe Id-producto

Diseo de Base de Datos

Pgina 3

UNIVERSIDAD ABIERTA Y DISTANCIA DE MEXICO

Crea la BD VentasProductos en SQL server 2008, en base a comandos. CREATE DATEBASE VentasProductos Crea las tablas que se mencionan en el caso, con sus respectivos atributos, con instrucciones de SQL. CREATE TABLE `producto` ( `id-productos` INT PRIMARY KEY NOT NULL AUTO_INCREMENT, `descripcion` VARCHAR(200) NOT NULL, `precio` DECIMAL(10,0) NOT NULL, `existencia` INT NOT NULL,)

CREATE TABLE `pedido` ( `id-pedido` INT PRIMARY KEY NOT NULL AUTO_INCREMENT, `fecha-pedico` DATE NOT NULL, `id-cliente` INT NOT NULL, `id-empleado` INT NOT NULL, `cantidad` INT NOT NULL, `importe` DECIMAL(10,0) NOT NULL, `producto_id-productos` INT NOT NULL,) FOREIGN KEY (`producto_id-productos`)

CREATE TABLE`cliente` ( `id-clientes` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,

Diseo de Base de Datos

Pgina 4

UNIVERSIDAD ABIERTA Y DISTANCIA DE MEXICO

`nombre-empresa` VARCHAR(60) NOT NULL, `nombre-contacto-empresa` VARCHAR(90) NOT NULL, `limite-credito` DECIMAL(10,0) NOT NULL, `pedido_id-pedido` INT NOT NULL,) FOREIGN KEY (`pedido_id-pedido`)

CREATE TABLE `representante-venta` ( `id-empleado` INT PRIMARY KEY NOT NULL AUTO_INCREMENT, `nombre` VARCHAR(90) NOT NULL, `edad` INT NOT NULL, `id-oficina` INT NOT NULL, `titulo` VARCHAR(60) NOT NULL, `fecha-contratacion` DATE NOT NULL, `cuota-ventas` INT NOT NULL, `No-ventas-realizadas` INT NOT NULL, `id-director` VARCHAR(45) NOT NULL,) FOREIGN KEY (`cliente_id-clientes`)

Diseo de Base de Datos

Pgina 5

UNIVERSIDAD ABIERTA Y DISTANCIA DE MEXICO

CREATE TABLE `director` ( `id-director` INT PRIMARY KEY NOT NULL AUTO_INCREMENT, `nombre` VARCHAR(60) NOT NULL,) FOREIGN KEY (`representante-venta_id-empleado`)

CREATE TABLE `oficina` ( `id-oficina` INT PRIMARY KEY NOT NULL AUTO_INCREMENT, `ciudad` VARCHAR(60) NOT NULL, `region` VARCHAR(60) NOT NULL, `ventas-realizadas` INT NOT NULL, `objetivo-ventas` VARCHAR(200) NOT NULL,) FOREIGN KEY (`representante-venta_id-empleado`) Inserta por lo menos cinco registros a cada tabla por medio de comandos con instrucciones SQL. Insertando valores en la tabla producto. INSERT INTO `ventasprodutos`.`producto` (`id-productos`, `descripcion`, `precio`, `existencia`) VALUES ('3001', 'jabon de tocador 125 gr.', '12.50', '12'); INSERT INTO `ventasprodutos`.`producto` (`id-productos`, `descripcion`, `precio`, `existencia`) VALUES ('3002', 'detergente para ropa 500 gr.', '17.25', '25'); INSERT INTO `ventasprodutos`.`producto` (`id-productos`, `descripcion`, `precio`, `existencia`) VALUES ('3003', 'acido para uso comun 1 lt.', '13.45', '10'); INSERT INTO `ventasprodutos`.`producto` (`id-productos`, `descripcion`, `precio`, `existencia`) VALUES ('3004', 'fabuloso diferentes aromas 1 lt.', '19.00', '16');

Diseo de Base de Datos

Pgina 6

UNIVERSIDAD ABIERTA Y DISTANCIA DE MEXICO

INSERT INTO `ventasprodutos`.`producto` (`id-productos`, `descripcion`, `precio`, `existencia`) VALUES ('3005', 'cloro blanquedor 1 lt.', '15.00', '18');

Insertando valores en la tabla pedido INSERT INTO `ventasprodutos`.`pedido` (`id-pedido`, `fecha-pedico`, `idcliente`, `id-empleado`, `cantidad`, `importe`, `producto_id-productos`) VALUES ('2001', '2014/02/15', '1001', '6001', '1', '12.50', '3001'); INSERT INTO `ventasprodutos`.`pedido` (`id-pedido`, `fecha-pedico`, `idcliente`, `id-empleado`, `cantidad`, `importe`, `producto_id-productos`) VALUES ('2002', '2014/03/16', '1002', '6002', '1', '17.25', '3002'); INSERT INTO `ventasprodutos`.`pedido` (`id-pedido`, `fecha-pedico`, `idcliente`, `id-empleado`, `cantidad`, `importe`, `producto_id-productos`) VALUES ('2003', '2014/04/17', '1003', '6003', '1', '13.45', '3003'); INSERT INTO `ventasprodutos`.`pedido` (`id-pedido`, `fecha-pedico`, `idcliente`, `id-empleado`, `cantidad`, `importe`, `producto_id-productos`) VALUES ('2004', '2014/05/18', '1004', '6004', '1', '19.00', '3004'); INSERT INTO `ventasprodutos`.`pedido` (`id-pedido`, `fecha-pedico`, `idcliente`, `id-empleado`, `cantidad`, `importe`, `producto_id-productos`) VALUES ('2005', '2014/06/19', '1005', '6005', '1', '15.00', '3005');

Insertando valores en la tabla cliente INSERT INTO `ventasprodutos`.`cliente` (`id-clientes`, `nombre-empresa`, `nombre-contacto-empresa`, `limite-credito`, `pedido_id-pedido`) VALUES ('1001', 'chedraui', 'jose perez', '5000.00', '2005'); INSERT INTO `ventasprodutos`.`cliente` (`id-clientes`, `nombre-empresa`, `nombre-contacto-empresa`, `limite-credito`, `pedido_id-pedido`) VALUES ('1002', 'walmart', 'juan castillo', '7500.00', '2004'); INSERT INTO `ventasprodutos`.`cliente` (`id-clientes`, `nombre-empresa`, `nombre-contacto-empresa`, `limite-credito`, `pedido_id-pedido`) VALUES ('1003', 'megaComercial', 'adela diaz', '10000.00', '2003'); INSERT INTO `ventasprodutos`.`cliente` (`id-clientes`, `nombre-empresa`, `nombre-contacto-empresa`, `limite-credito`, `pedido_id-pedido`) VALUES ('1004', 'superAki', 'marina salazar', '12000.00', '2002');

Diseo de Base de Datos

Pgina 7

UNIVERSIDAD ABIERTA Y DISTANCIA DE MEXICO

INSERT INTO `ventasprodutos`.`cliente` (`id-clientes`, `nombre-empresa`, `nombre-contacto-empresa`, `limite-credito`, `pedido_id-pedido`) VALUES ('1005', 'soriana', 'miguel castaeda', '11500.00', '2001');

Insertando valores en la tabla director INSERT INTO `ventasprodutos`.`director` (`id-director`, `nombre`, `representante-venta_id-empleado`) VALUES ('4001', 'camilo cesto', '6001'); INSERT INTO `ventasprodutos`.`director` (`id-director`, `nombre`, `representante-venta_id-empleado`) VALUES ('4002', 'juan gabriel', '6002'); INSERT INTO `ventasprodutos`.`director` (`id-director`, `nombre`, `representante-venta_id-empleado`) VALUES ('4003', 'selena gomez', '6003'); INSERT INTO `ventasprodutos`.`director` (`id-director`, `nombre`, `representante-venta_id-empleado`) VALUES ('4004', 'luis miguel', '6004'); INSERT INTO `ventasprodutos`.`director` (`id-director`, `nombre`, `representante-venta_id-empleado`) VALUES ('4005', 'jenny rivera', '6005');

Insertando valores en tabla oficina INSERT INTO `ventasprodutos`.`oficina` (`id-oficina`, `ciudad`, `region`, `ventas-realizadas`, `objetivo-ventas`, `representante-venta_id-empleado`) VALUES ('5001', 'cancun', 'q.roo', '5', '7', '6001'); INSERT INTO `ventasprodutos`.`oficina` (`id-oficina`, `ciudad`, `region`, `ventas-realizadas`, `objetivo-ventas`, `representante-venta_id-empleado`) VALUES ('5002', 'puertomorelos', 'q.roo', '10', '11', '6002'); INSERT INTO `ventasprodutos`.`oficina` (`id-oficina`, `ciudad`, `region`, `ventas-realizadas`, `objetivo-ventas`, `representante-venta_id-empleado`) VALUES ('5003', 'playacarmen', 'q.roo', '15', '20', '6003'); INSERT INTO `ventasprodutos`.`oficina` (`id-oficina`, `ciudad`, `region`, `ventas-realizadas`, `objetivo-ventas`, `representante-venta_id-empleado`) VALUES ('5004', 'tulum', 'q.roo', '30', '25', '6004'); INSERT INTO `ventasprodutos`.`oficina` (`id-oficina`, `ciudad`, `region`, `ventas-realizadas`, `objetivo-ventas`, `representante-venta_id-empleado`) VALUES ('5005', 'chetumal', 'q.roo', '20', '20', '6005');

Diseo de Base de Datos

Pgina 8

UNIVERSIDAD ABIERTA Y DISTANCIA DE MEXICO

Insertando valores en la tabla representanteventa INSERT INTO `ventasprodutos`.`representanteventa` (`id-empleado`, `nombre`, `edad`, `id-oficina`, `titulo`, `fecha-contratacion`, `cuota-ventas`, `Noventas-realizadas`, `id-director`, `cliente_id-clientes`) VALUES ('6001', 'carlos', '36', '5001', 'LAE', '2012/05/07', '10', '8', '4001', '1005'); INSERT INTO `ventasprodutos`.`representanteventa` (`id-empleado`, `nombre`, `edad`, `id-oficina`, `titulo`, `fecha-contratacion`, `cuota-ventas`, `Noventas-realizadas`, `id-director`, `cliente_id-clientes`) VALUES ('6002', 'pedro', '25', '5002', 'LAET', '2011/06/12', '13', '15', '4002', '1004'); INSERT INTO `ventasprodutos`.`representanteventa` (`id-empleado`, `nombre`, `edad`, `id-oficina`, `titulo`, `fecha-contratacion`, `cuota-ventas`, `Noventas-realizadas`, `id-director`, `cliente_id-clientes`) VALUES ('6003', 'enrrique', '28', '5003', 'contador', '2000/12/12', '15', '20', '4003', '1003'); INSERT INTO `ventasprodutos`.`representanteventa` (`id-empleado`, `nombre`, `edad`, `id-oficina`, `titulo`, `fecha-contratacion`, `cuota-ventas`, `Noventas-realizadas`, `id-director`, `cliente_id-clientes`) VALUES ('6004', 'cataliano', '32', '5004', 'LAE', '2005/11/09', '20', '18', '4004', '1002'); INSERT INTO `ventasprodutos`.`representanteventa` (`id-empleado`, `nombre`, `edad`, `id-oficina`, `titulo`, `fecha-contratacion`, `cuota-ventas`, `Noventas-realizadas`, `id-director`, `cliente_id-clientes`) VALUES ('6005', 'camila', '23', '5005', 'LAET', '2002/03/26', '15', '15', '4005', '1001'); Realiza por lo menos diez consultas diferentes de las que se presentaron en la unidad, utilizando algunos operadores lgicos, y observa lo que sucede.

SELECT * FROM ventasprodutos.director,representanteventa SELECT * FROM ventasprodutos.representanteventa where edad < 25 SELECT precio,existencia FROM producto where existencia >10 SELECT nombre, edad FROM representanteventa select nombre, edad FROM m representanteventa WHERE edad>25 SELECT nombre,titulo FROM representanteventa WHERE titulo='LAE' SELECT *FROM oficina WHERE ciudad='cancun' SELECT descripcion,precio,existencia FROM product ORDER BY descripcion DESC SELECT descripcion,precio,existenciaFROM productowhere (existencia IN ('10'))ORDER BY descripcion DESC DELETE FROM oficina WHERE ciudad='cancun'

Diseo de Base de Datos

Pgina 9

UNIVERSIDAD ABIERTA Y DISTANCIA DE MEXICO

Diseo de Base de Datos

Pgina 10

UNIVERSIDAD ABIERTA Y DISTANCIA DE MEXICO

Diseo de Base de Datos

Pgina 11