Documente Academic
Documente Profesional
Documente Cultură
Código 00826
Proyecto 1
113980269
Tercer Cuatrimestre
Año 2019
Introducción
El presente documento pretende introducir los conceptos básicos en la construcción de
bases de datos relacionales por medio de MySQL. De la misma forma, pretende
familiarizar al autor con la herramienta, así como con el MySQL Workbench. Este
trabajo es meramente introductorio, por lo que no se extiende a la elaboración propia
del Script en MySQL, sino a la generación del mismo, una vez creado el modelo
relacional, a partir de la herramienta.
-- -----------------------------------------------------
-- Schema CallCenter
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema CallCenter
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `CallCenter` DEFAULT CHARACTER SET utf8 ;
USE `CallCenter` ;
-- -----------------------------------------------------
-- Table `CallCenter`.`Tipo`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `CallCenter`.`Tipo` (
`tipo_Codigo` INT NOT NULL AUTO_INCREMENT,
`tipo_Nombre` VARCHAR(45) NOT NULL,
PRIMARY KEY (`tipo_Codigo`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `CallCenter`.`EstadoAgente`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `CallCenter`.`EstadoAgente` (
`estado_Codigo` INT NOT NULL AUTO_INCREMENT,
`estado_Nombre` VARCHAR(45) NOT NULL,
PRIMARY KEY (`estado_Codigo`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `CallCenter`.`Agente`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `CallCenter`.`Agente` (
`agente_Codigo` INT NOT NULL,
`agente_Nombre` VARCHAR(45) NOT NULL,
`agente_Usuario` VARCHAR(45) NOT NULL,
`agente_Ext` INT NOT NULL,
`agente_Estado` INT NOT NULL,
`agente_Nac` DATE NOT NULL,
`agente_Salario` DECIMAL NOT NULL,
`agente_Puesto` VARCHAR(45) NOT NULL,
PRIMARY KEY (`agente_Codigo`),
INDEX `agente_Estado_idx` (`agente_Estado` ASC) VISIBLE,
CONSTRAINT `agente_Estado`
FOREIGN KEY (`agente_Estado`)
REFERENCES `CallCenter`.`EstadoAgente` (`estado_Codigo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `CallCenter`.`EstadoCaso`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `CallCenter`.`EstadoCaso` (
`estado_Codigo` INT NOT NULL,
`estado_Nombre` VARCHAR(45) NOT NULL,
PRIMARY KEY (`estado_Codigo`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `CallCenter`.`Caso`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `CallCenter`.`Caso` (
`caso_Codigo` INT NOT NULL AUTO_INCREMENT,
`caso_FechaOpen` DATETIME NOT NULL,
`caso_Agente` INT NOT NULL,
`caso_Tipo` INT NOT NULL,
`caso_Desc` VARCHAR(100) NOT NULL,
`caso_Estado` INT NOT NULL,
`caso_FechaClose` DATETIME NOT NULL,
PRIMARY KEY (`caso_Codigo`),
INDEX `caso_Agente_idx` (`caso_Agente` ASC) VISIBLE,
INDEX `caso_Tipo_idx` (`caso_Tipo` ASC) VISIBLE,
INDEX `casp_Estado_idx` (`caso_Estado` ASC) VISIBLE,
CONSTRAINT `caso_Agente`
FOREIGN KEY (`caso_Agente`)
REFERENCES `CallCenter`.`Agente` (`agente_Codigo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `caso_Tipo`
FOREIGN KEY (`caso_Tipo`)
REFERENCES `CallCenter`.`Tipo` (`tipo_Codigo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `caso_Estado`
FOREIGN KEY (`caso_Estado`)
REFERENCES `CallCenter`.`EstadoCaso` (`estado_Codigo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `CallCenter`.`SubCaso`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `CallCenter`.`SubCaso` (
`caso_Codigo` INT NOT NULL,
`subcaso_Codigo` INT NOT NULL,
`subcaso_Desc` VARCHAR(100) NOT NULL,
`subcaso_Tipo` INT NOT NULL,
`subcaso_FechaClose` DATETIME NOT NULL,
PRIMARY KEY (`caso_Codigo`, `subcaso_Codigo`),
INDEX `subcaso_Tipo_idx` (`subcaso_Tipo` ASC) VISIBLE,
CONSTRAINT `caso_Codigo`
FOREIGN KEY (`caso_Codigo`)
REFERENCES `CallCenter`.`Caso` (`caso_Codigo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `subcaso_Tipo`
FOREIGN KEY (`subcaso_Tipo`)
REFERENCES `CallCenter`.`Tipo` (`tipo_Codigo`)
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;
Conclusiones
De forma puntual se encontraron las siguientes conclusiones:
● La estandarización de las bases de datos relaciones permite que hoy en día se
puedan generar desde la formulación pura de su diagrama.
● La generación de scripts permite replicar las bases de datos en cualquier
momento y en cualquier lugar sin necesidad de reprogramarlas, lo que acelera
los procesos de respaldo y reproducción de información.
● La intuitividad de los procedimientos permite que, actualmente, cualquier
persona con un conocimiento bajo o medio en el uso de computadores pueda
crear su propia base de datos, disminuyendo la brecha digital y aumentando las
posibilidades para un sin fin de proyectos.