OTEP ALBERTO GARCA LPEZ TEMA: REPORTE DE PRCTICA. MATERIA: ADMINISTRACIN DE BASE DE DATOS PROFESOR: ING. EUTIMIO SOSA SILVA 06/03/2014 CARRERA: ING. EN SISTEMAS COMPUTACIONALES UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 2
PAGINA
INDICE .... 2
INTRODUCCIN .. 3
DESARROLLO .. 5
CONCLUSIN ... 37
REFERENCIAS BIBLIOGRFICAS 39
UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 3
UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 4
na base de datos es un almacn que nos permite guardar grandes cantidades de informacin de forma organizada para que luego podamos encontrar y utilizar fcilmente. A continuacin te presentamos una gua que te explicar el concepto y caractersticas de las bases de datos. El trmino de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA. Una base de datos se puede definir como un conjunto de informacin relacionada que se encuentra agrupada o estructurada. Desde el punto de vista informtico, la base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos. Cada base de datos se compone de una o ms tablas que guarda un conjunto de datos. Cada tabla tiene una o ms columnas y filas. Las columnas guardan una parte de la informacin sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro. U UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 5
UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 6
DEFINICIN DEL PROBLEMA
Se desea disear una base de datos para un Centro Comercial, organizado por Departamentos, que contenga informacin sobre los Clientes que han comprado algo, los Trabajadores, el Gnero que se oferta y las Ventas realizadas. Construir el modelo Entidad/Relacin teniendo en cuenta las siguientes restricciones:
Existen tres tipos de Trabajadores: Gerentes, Jefes y Vendedores Cada Departamento est gobernado por un Gerente Un determinado Producto slo se encuentra en un Departamento Los Jefes y Vendedores slo pueden pertenecer a un nico Departamento Un Gerente tiene a su cargo un cierto nmero de Jefes y stos a su vez a un cierto nmero de Vendedores Una Venta la realiza un Vendedor a un Cliente y debe quedar constancia del artculo vendido. Slo puede existir un artculo por apunte de venta.
NUMERO DE EJERCICIO
Ejercicio 42. Centro Comercial.
UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 7
DIAGRAMA ENTIDAD RELACIN
Diagrama Entidad\Relacin
UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 8
TABLAS Y RELACIONES
CLIENTES Esta tabla, almacena toda la informacin de los clientes que adquieran algn producto del centro comercial, contiene informacin y datos del cliente tales como: (idCliente, Nombre, Costo total de Compra, Articulo_idArticulo, Venta_idVenta), siendo estos ltimos dos elementos las llaves forneas de la tabla clientes. LLAVE PRIMARIA (Primary Key) Como llave primaria tiene: idCliente VARCHAR (4)
Tabla clientes UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 9
TABLAS RELACIONADAS Se relaciona principal y nicamente con las tablas: (ARTCULO, VENTA)
ARTCULOS Esta tabla guarda informacin acerca de los diferentes artculos que posee el centro comercial, y sus elementos como nombre del artculo, precio unitario, descripcin etc. Tabla Artculos UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 10
LLAVES FORANEAS Esta tabla no contiene ninguna llave fornea, esto es debido, no porque la tabla no tenga ninguna relacin con otra, sino porque no depende de ninguna otra para realizar consultas.
TABLAS RELACIONADAS Se relaciona principal y nicamente con las tablas: (ARTCULO, VENTA, DEPARTAMENTOS)
VENTA
Esta tabla posee informacin sobre las ventas realizadas por algn trabajador hacia un cliente, tomando en cuenta y registrando el artculo que se vendi, une las dos llaves forneas: (Articulo_idArticulo, Vendedor_idVendedor), contiene una llave primaria, idVenta VARCHAR (4).
UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 11
LLAVES FORANEAS Esta tabla contiene dos llaves forneas, esto es debido a que en una relacin de muchos a muchos, automticamente se crea otra tabla, cuando se trabaja en MySQL WORKBENCH
TABLAS RELACIONADAS Se relaciona principal y nicamente con las tablas: (ARTCULO, CLIENTES)
Tabla Venta UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 12
DEPARTAMENTOS Esta tabla contiene informacin acerca de los diferentes departamentos que el centro comercial posee y de los cuales los artculos estn inmersos, para que los clientes puedan tener una variedad de artculos por cada departamento para seleccionar y hacer sus compras.
LLAVES FORANEAS Esta es la tabla dentro de la base de datos que ms contiene llaves forneas, esto es ocasionado porque tiene relacin con muchas tablas. Tabla Departamentos UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 13
TABLAS RELACIONADAS Se relaciona con las tablas: (JEFE, VENDEDOR, ARTCULOS)
TRABAJADORES Esta tabla contiene la informacin personal de todos y cada uno de los trabajadores de este centro comercial, sea cual sea su puesto o cargo, estos estn registrados dentro de esta tabla, contiene la siguiente informacin: (idTrabajador, Nombre(s), Apellido Paterno, Apellido Materno, Edad, Sexo), por lo visto es una tabla con datos extensos, esto es para solo clasificar a los trabajadores por su rango, sean gerentes, jefes o vendedores.
LLAVE PRIMARIA (Primary Key) Como llave primaria tiene: idTrabajadores VARCHAR (4) Tabla Trabajadores UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 14
LLAVES FORANEAS Esta tabla no contiene ninguna llave fornea, esto es debido, no porque la tabla no tenga ninguna relacin con otra, sino porque no depende de ninguna otra para realizar consultas.
TABLAS RELACIONADAS Se relaciona con las tablas: (GERENTE, JEFE, VENDEDOR)
GERENTE, JEFE Y VENDEDOR Esta tabla, al igual que, cuando se hace la relacin de muchos a muchos, se crean llaves forneas, asi sucede con estas 3 ya que se podran decir que dependen de la tabla TRABAJADORES pues esta ltima guarda la mayor informacin de estas.
Tablas: Vendedor, Jefe, Gerente (Izquierda a Derecha) UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 15
CAPTURAS DE PANTALLA A continuacin se muestran las pantallas de la aplicacin generada.
La pantalla principal, es para el registro del usuario, el nombre de usuario es: root y su contrasea respectiva es: 1234, para este caso se consider una contrasea de seguridad baja, puesto que no se implementa en un sistema real, en caso de ser as, se recomendara cambiar la contrasea y volverla ms segura. En caso de ingresar un usuario incorrecto aparecer lo siguiente:
Y en caso de ingresar una contrasea incorrecta:
UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 16
En caso de ingresar correctamente ambos campos, se accede a la pgina principal, donde el usuario fina, o sea el vendedor registrar la venta.
En el men >archivo encontraremos los apartados registrar y nuevo, en registrar podemos registrar un nuevo empleado y un nuevo artculo. En el apartado nuevo podremos registrar una nueva venta.
UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 17
Para registrar un trabajador se abrir esta pantalla.
Para registrar un nuevo producto, se abrir la siguiente pantalla.
UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 18
Para la ejecucin de consultas se abrir la siguiente pestaa.
BASE DE DATOS
UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 19
CODIGO EN MySQL SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
DROP SCHEMA IF EXISTS `mydb` ; CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ; USE `mydb` ;
-- ----------------------------------------------------- -- Table `mydb`.`Articulo` -- ----------------------------------------------------- DROP TABLE IF EXISTS `mydb`.`Articulo` ;
CREATE TABLE IF NOT EXISTS `mydb`.`Articulo` ( `idArticulo` VARCHAR(4) NOT NULL, `Nombre` VARCHAR(45) NULL, `Precio Unitario` INT NULL, `Descripcion` VARCHAR(45) NULL, PRIMARY KEY (`idArticulo`)) ENGINE = InnoDB;
-- ----------------------------------------------------- -- Table `mydb`.`Trabajadores` -- ----------------------------------------------------- DROP TABLE IF EXISTS `mydb`.`Trabajadores` ;
-- ----------------------------------------------------- -- Table `mydb`.`Vendedor` -- ----------------------------------------------------- DROP TABLE IF EXISTS `mydb`.`Vendedor` ;
CREATE TABLE IF NOT EXISTS `mydb`.`Vendedor` ( `idVendedor` VARCHAR(4) NOT NULL, UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 20
`Trabajadores_idTrabajador` VARCHAR(4) NULL, PRIMARY KEY (`idVendedor`), INDEX `fk_Vendedor_Trabajadores1_idx` (`Trabajadores_idTrabajador` ASC), CONSTRAINT `fk_Vendedor_Trabajadores1` FOREIGN KEY (`Trabajadores_idTrabajador`) REFERENCES `mydb`.`Trabajadores` (`idTrabajador`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
-- ----------------------------------------------------- -- Table `mydb`.`Jefe` -- ----------------------------------------------------- DROP TABLE IF EXISTS `mydb`.`Jefe` ;
CREATE TABLE IF NOT EXISTS `mydb`.`Jefe` ( `idJefe` VARCHAR(4) NOT NULL, `Vendedor_idVendedor` VARCHAR(4) NULL, `Trabajadores_idTrabajador` VARCHAR(4) NULL, PRIMARY KEY (`idJefe`), INDEX `fk_Jefe_Vendedor1_idx` (`Vendedor_idVendedor` ASC), INDEX `fk_Jefe_Trabajadores1_idx` (`Trabajadores_idTrabajador` ASC), CONSTRAINT `fk_Jefe_Vendedor1` FOREIGN KEY (`Vendedor_idVendedor`) REFERENCES `mydb`.`Vendedor` (`idVendedor`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Jefe_Trabajadores1` FOREIGN KEY (`Trabajadores_idTrabajador`) REFERENCES `mydb`.`Trabajadores` (`idTrabajador`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
-- ----------------------------------------------------- -- Table `mydb`.`Departamentos` -- ----------------------------------------------------- DROP TABLE IF EXISTS `mydb`.`Departamentos` ;
CREATE TABLE IF NOT EXISTS `mydb`.`Departamentos` ( `idDepartamento` VARCHAR(4) NOT NULL, `Nombre` VARCHAR(45) NULL, `Total de articulos` INT NULL, `Numero de Trabajadores` INT NULL, `Articulo_idArticulo` VARCHAR(4) NULL, `Jefe_idJefe` VARCHAR(4) NULL, `Vendedor_idVendedor` VARCHAR(4) NULL, PRIMARY KEY (`idDepartamento`), INDEX `fk_Departamentos_Articulo1_idx` (`Articulo_idArticulo` ASC), UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 21
INDEX `fk_Departamentos_Jefe1_idx` (`Jefe_idJefe` ASC), INDEX `fk_Departamentos_Vendedor1_idx` (`Vendedor_idVendedor` ASC), CONSTRAINT `fk_Departamentos_Articulo1` FOREIGN KEY (`Articulo_idArticulo`) REFERENCES `mydb`.`Articulo` (`idArticulo`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Departamentos_Jefe1` FOREIGN KEY (`Jefe_idJefe`) REFERENCES `mydb`.`Jefe` (`idJefe`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Departamentos_Vendedor1` FOREIGN KEY (`Vendedor_idVendedor`) REFERENCES `mydb`.`Vendedor` (`idVendedor`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
-- ----------------------------------------------------- -- Table `mydb`.`Venta` -- ----------------------------------------------------- DROP TABLE IF EXISTS `mydb`.`Venta` ;
CREATE TABLE IF NOT EXISTS `mydb`.`Venta` ( `idVenta` VARCHAR(4) NOT NULL, `Articulo_idArticulo` VARCHAR(4) NULL, `Vendedor_idVendedor` VARCHAR(4) NULL, PRIMARY KEY (`idVenta`), INDEX `fk_Venta_Articulo1_idx` (`Articulo_idArticulo` ASC), INDEX `fk_Venta_Vendedor1_idx` (`Vendedor_idVendedor` ASC), CONSTRAINT `fk_Venta_Articulo1` FOREIGN KEY (`Articulo_idArticulo`) REFERENCES `mydb`.`Articulo` (`idArticulo`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Venta_Vendedor1` FOREIGN KEY (`Vendedor_idVendedor`) REFERENCES `mydb`.`Vendedor` (`idVendedor`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
-- ----------------------------------------------------- -- Table `mydb`.`Clientes` -- ----------------------------------------------------- DROP TABLE IF EXISTS `mydb`.`Clientes` ;
CREATE TABLE IF NOT EXISTS `mydb`.`Clientes` ( UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 22
`idCliente` VARCHAR(4) NOT NULL, `Nombre` VARCHAR(45) NULL, `Costo total de Compra` INT NULL, `Articulo_idArticulo` VARCHAR(4) NULL DEFAULT '', `Venta_idVenta` VARCHAR(4) NULL DEFAULT '', PRIMARY KEY (`idCliente`), INDEX `fk_Clientes_Articulo1_idx` (`Articulo_idArticulo` ASC), INDEX `fk_Clientes_Venta1_idx` (`Venta_idVenta` ASC), CONSTRAINT `fk_Clientes_Articulo1` FOREIGN KEY (`Articulo_idArticulo`) REFERENCES `mydb`.`Articulo` (`idArticulo`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Clientes_Venta1` FOREIGN KEY (`Venta_idVenta`) REFERENCES `mydb`.`Venta` (`idVenta`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
-- ----------------------------------------------------- -- Table `mydb`.`Gerente` -- ----------------------------------------------------- DROP TABLE IF EXISTS `mydb`.`Gerente` ;
CREATE TABLE IF NOT EXISTS `mydb`.`Gerente` ( `idGerente` VARCHAR(4) NOT NULL, `Jefe_idJefe` VARCHAR(4) NULL, `Trabajadores_idTrabajador` VARCHAR(4) NULL, INDEX `fk_Gerente_Jefe1_idx` (`Jefe_idJefe` ASC), INDEX `fk_Gerente_Trabajadores1_idx` (`Trabajadores_idTrabajador` ASC), PRIMARY KEY (`idGerente`), CONSTRAINT `fk_Gerente_Jefe1` FOREIGN KEY (`Jefe_idJefe`) REFERENCES `mydb`.`Jefe` (`idJefe`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Gerente_Trabajadores1` FOREIGN KEY (`Trabajadores_idTrabajador`) REFERENCES `mydb`.`Trabajadores` (`idTrabajador`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
-- ----------------------------------------------------- UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 23
-- Data for table `mydb`.`Articulo` -- ----------------------------------------------------- START TRANSACTION; USE `mydb`; INSERT INTO `mydb`.`Articulo` (`idArticulo`, `Nombre`, `Precio Unitario`, `Descripcion`) VALUES ('A1', 'Television', 4500, 'Pantalla plana FULL HD'); INSERT INTO `mydb`.`Articulo` (`idArticulo`, `Nombre`, `Precio Unitario`, `Descripcion`) VALUES ('A2', 'Bluray', 1500, 'Reproductor de BluRay'); INSERT INTO `mydb`.`Articulo` (`idArticulo`, `Nombre`, `Precio Unitario`, `Descripcion`) VALUES ('A3', 'Computadora', 4000, 'Computadora hp ');
-- ----------------------------------------------------- -- Data for table `mydb`.`Vendedor` -- ----------------------------------------------------- START TRANSACTION; USE `mydb`; INSERT INTO `mydb`.`Vendedor` (`idVendedor`, `Trabajadores_idTrabajador`) VALUES ('Ven1', NULL); INSERT INTO `mydb`.`Vendedor` (`idVendedor`, `Trabajadores_idTrabajador`) VALUES ('Ven2', NULL);
COMMIT;
-- ----------------------------------------------------- -- Data for table `mydb`.`Venta` -- ----------------------------------------------------- START TRANSACTION; USE `mydb`; INSERT INTO `mydb`.`Venta` (`idVenta`, `Articulo_idArticulo`, `Vendedor_idVendedor`) VALUES ('V1', 'A1', 'Ven1'); UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 24
INSERT INTO `mydb`.`Venta` (`idVenta`, `Articulo_idArticulo`, `Vendedor_idVendedor`) VALUES ('V2', 'A2', 'Ven2');
COMMIT;
-- ----------------------------------------------------- -- Data for table `mydb`.`Clientes` -- ----------------------------------------------------- START TRANSACTION; USE `mydb`; INSERT INTO `mydb`.`Clientes` (`idCliente`, `Nombre`, `Costo total de Compra`, `Articulo_idArticulo`, `Venta_idVenta`) VALUES ('C1', 'Antonio', 4500, NULL, NULL);
COMMIT;
UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 25
UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 26
ara la primera unidad de la materia de administracin de base de datos, se estudi la teora, ahora en esta unidad, lo aprendido lo llevamos a la prctica y toda la teora aprendida se aplic, esto es lo ms importante, pues no servira de nada el poseer conocimientos si solamente los vamos a almacenar para nosotros mismos sin darles ningn uso, en cambio, si se utilizan esos conocimientos para ensear a otras personas o tambin si se aplican en la vida diaria para generar sistemas de bases de datos funcionales, estaramos comprobando que las aplicaciones generadas tienen fundamentos, pues seran nuestros propios conocimientos.
Gracias a este trabajo pudimos aplicar los conocimientos adquiridos pues muchas personas aprendemos con la prctica, ms que con la teora y aqu es donde en verdad se comprueba que poseemos conocimientos y nos podremos defender ms adelante en el mundo laboral, ms all de una calificacin, lo verdaderamente importante son los conocimientos, pues lo que bien se aprende jams se olvida. P UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 27
UNIDAD 1. REPORTE DE PRCTICA ADMON. BASE DE DATOS
JOS ANTONIO CASTRO HERNNDEZ OTEP ALBERTO GARCA LPEZ 28