· 6 years ago · Jun 17, 2019, 07:40 PM
1-- MySQL Workbench Forward Engineering
2
3SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
4SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
5SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
6
7-- -----------------------------------------------------
8-- Schema mydb
9-- -----------------------------------------------------
10DROP SCHEMA IF EXISTS `libreria` ;
11
12-- -----------------------------------------------------
13-- Schema mydb
14-- -----------------------------------------------------
15CREATE SCHEMA IF NOT EXISTS `libreria` DEFAULT CHARACTER SET utf8 ;
16USE `libreria` ;
17
18-- -----------------------------------------------------
19-- Table `mydb`.`Cliente`
20-- -----------------------------------------------------
21CREATE TABLE IF NOT EXISTS `libreria`.`Cliente` (
22 `nombre` VARCHAR(20) NOT NULL,
23 `apellidos` VARCHAR(45) NOT NULL,
24 `email` VARCHAR(45) NOT NULL,
25 `telefono` VARCHAR(10) NOT NULL,
26 `edad` INT NOT NULL,
27 `genero` VARCHAR(20) NOT NULL,
28 PRIMARY KEY (nombre, apellidos))
29ENGINE = InnoDB;
30
31
32-- -----------------------------------------------------
33-- Table `mydb`.`Vendedor`
34-- -----------------------------------------------------
35CREATE TABLE IF NOT EXISTS `libreria`.`Vendedor` (
36 `nombre` VARCHAR(20) NOT NULL,
37 `apellidos` VARCHAR(45) NOT NULL,
38 `email` VARCHAR(45) NOT NULL,
39 `direccion` VARCHAR(45) NOT NULL,
40 `telefono` VARCHAR(45) NOT NULL,
41 `salario` DOUBLE NOT NULL,
42 `fecha_contratacion` DATE NOT NULL,
43 PRIMARY KEY (nombre, apellidos))
44ENGINE = InnoDB;
45-- -----------------------------------------------------
46-- Table `mydb`.`Factura`
47-- -----------------------------------------------------
48
49CREATE TABLE `libreria`.`Factura` (
50 `cod_factura` INT NOT NULL,
51 `fecha` DATE NOT NULL,
52 `nombre_cliente` VARCHAR(20) NOT NULL,
53 `apellidos_cliente` VARCHAR(45) NOT NULL,
54 `nombre_vendedor` VARCHAR(20) NOT NULL,
55 `apellidos_vendedor` VARCHAR(45) NOT NULL,
56 PRIMARY KEY (`cod_factura`),
57 INDEX `nombre_cliente_idx` (`nombre_cliente` ASC),
58 INDEX `apellidos_cliente_idx` (`apellidos_cliente` ASC),
59 INDEX `nombre_vendedor_idx` (`nombre_vendedor` ASC),
60 INDEX `apellidos_vendedor_idx` (`apellidos_vendedor` ASC),
61 CONSTRAINT `nombre_cliente`
62 FOREIGN KEY (`nombre_cliente`)
63 REFERENCES `libreria`.`cliente` (`nombre`)
64 ON DELETE RESTRICT
65 ON UPDATE RESTRICT,
66 CONSTRAINT `apellidos_cliente`
67 FOREIGN KEY (`apellidos_cliente`)
68 REFERENCES `libreria`.`cliente` (`apellidos`)
69 ON DELETE RESTRICT
70 ON UPDATE RESTRICT,
71 CONSTRAINT `nombre_vendedor`
72 FOREIGN KEY (`nombre_vendedor`)
73 REFERENCES `libreria`.`vendedor` (`nombre`)
74 ON DELETE RESTRICT
75 ON UPDATE RESTRICT,
76 CONSTRAINT `apellidos_vendedor`
77 FOREIGN KEY (`apellidos_vendedor`)
78 REFERENCES `libreria`.`vendedor` (`apellidos`)
79 ON DELETE RESTRICT
80 ON UPDATE RESTRICT);
81
82SET SQL_MODE=@OLD_SQL_MODE;
83SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
84SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;