· 9 years ago · Nov 22, 2016, 01:40 PM
1-- MySQL Script generated by MySQL Workbench
2-- 11/22/16 01:44:27
3-- Model: New Model Version: 1.0
4-- MySQL Workbench Forward Engineering
5
6SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
7SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
8SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
9
10-- -----------------------------------------------------
11-- Schema mydb
12-- -----------------------------------------------------
13DROP SCHEMA IF EXISTS `mydb` ;
14
15-- -----------------------------------------------------
16-- Schema mydb
17-- -----------------------------------------------------
18CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
19USE `mydb` ;
20
21-- -----------------------------------------------------
22-- Table `mydb`.`Venta`
23-- -----------------------------------------------------
24CREATE TABLE IF NOT EXISTS `mydb`.`Venta` (
25 `idCuenta` INT NOT NULL,
26 `idProducto` INT NOT NULL,
27 `cantidad` INT NOT NULL,
28 `Ventacol` VARCHAR(45) NULL,
29 PRIMARY KEY (`idCuenta`, `idProducto`),
30 CONSTRAINT `fk_Cuenta_has_Producto_Cuenta`
31 FOREIGN KEY (`idCuenta`)
32 REFERENCES `mydb`.`Cuenta` (`idCuenta`)
33 ON DELETE NO ACTION
34 ON UPDATE NO ACTION,
35 CONSTRAINT `fk_Cuenta_has_Producto_Producto1`
36 FOREIGN KEY (`idProducto`)
37 REFERENCES `mydb`.`Producto` (`idProducto`)
38 ON DELETE NO ACTION
39 ON UPDATE NO ACTION)
40ENGINE = InnoDB;
41
42
43-- -----------------------------------------------------
44-- Table `mydb`.`CategoriaMesero`
45-- -----------------------------------------------------
46CREATE TABLE IF NOT EXISTS `mydb`.`CategoriaMesero` (
47 `idCategoriaMesero` INT NOT NULL,
48 `NombreCategoriaMesero` VARCHAR(45) NOT NULL,
49 PRIMARY KEY (`idCategoriaMesero`))
50ENGINE = InnoDB;
51
52
53-- -----------------------------------------------------
54-- Table `mydb`.`Mesero`
55-- -----------------------------------------------------
56CREATE TABLE IF NOT EXISTS `mydb`.`Mesero` (
57 `idMesero` INT NOT NULL,
58 `nombreMesero` VARCHAR(45) NOT NULL,
59 `apell1Mesero` VARCHAR(45) NOT NULL,
60 `apelli2Mesero` VARCHAR(45) NOT NULL,
61 `categoriaMesero` INT NOT NULL,
62 PRIMARY KEY (`idMesero`),
63 CONSTRAINT `fk_Mesero_CategoriaMesero1`
64 FOREIGN KEY (`categoriaMesero`)
65 REFERENCES `mydb`.`CategoriaMesero` (`idCategoriaMesero`)
66 ON DELETE NO ACTION
67 ON UPDATE NO ACTION)
68ENGINE = InnoDB;
69
70CREATE INDEX `fk_Mesero_CategoriaMesero1_idx` ON `mydb`.`Mesero` (`categoriaMesero` ASC);
71
72
73-- -----------------------------------------------------
74-- Table `mydb`.`Mesa`
75-- -----------------------------------------------------
76CREATE TABLE IF NOT EXISTS `mydb`.`Mesa` (
77 `idMesa` INT NOT NULL,
78 `posicionMesa` VARCHAR(60) NOT NULL,
79 PRIMARY KEY (`idMesa`))
80ENGINE = InnoDB;
81
82
83-- -----------------------------------------------------
84-- Table `mydb`.`Cuenta`
85-- -----------------------------------------------------
86CREATE TABLE IF NOT EXISTS `mydb`.`Cuenta` (
87 `idCuenta` INT NOT NULL,
88 `propina` INT NULL,
89 `Cuentacol` VARCHAR(45) NULL,
90 `idMesero` INT NOT NULL,
91 `idMesa` INT NOT NULL,
92 PRIMARY KEY (`idCuenta`),
93 CONSTRAINT `fk_Cuenta_Mesero1`
94 FOREIGN KEY (`idMesero`)
95 REFERENCES `mydb`.`Mesero` (`idMesero`)
96 ON DELETE NO ACTION
97 ON UPDATE NO ACTION,
98 CONSTRAINT `fk_Cuenta_Mesa1`
99 FOREIGN KEY (`idMesa`)
100 REFERENCES `mydb`.`Mesa` (`idMesa`)
101 ON DELETE NO ACTION
102 ON UPDATE NO ACTION)
103ENGINE = InnoDB;
104
105CREATE INDEX `fk_Cuenta_Mesero1_idx` ON `mydb`.`Cuenta` (`idMesero` ASC);
106
107CREATE INDEX `fk_Cuenta_Mesa1_idx` ON `mydb`.`Cuenta` (`idMesa` ASC);
108
109
110-- -----------------------------------------------------
111-- Table `mydb`.`Producto`
112-- -----------------------------------------------------
113CREATE TABLE IF NOT EXISTS `mydb`.`Producto` (
114 `idProducto` INT NOT NULL,
115 `nombreProducto` VARCHAR(45) NOT NULL,
116 `costoProducto` INT NOT NULL,
117 `precioProducto` INT NOT NULL,
118 PRIMARY KEY (`idProducto`))
119ENGINE = InnoDB;
120
121
122-- -----------------------------------------------------
123-- Table `mydb`.`Venta`
124-- -----------------------------------------------------
125CREATE TABLE IF NOT EXISTS `mydb`.`Venta` (
126 `idCuenta` INT NOT NULL,
127 `idProducto` INT NOT NULL,
128 `cantidad` INT NOT NULL,
129 `Ventacol` VARCHAR(45) NULL,
130 PRIMARY KEY (`idCuenta`, `idProducto`),
131 CONSTRAINT `fk_Cuenta_has_Producto_Cuenta`
132 FOREIGN KEY (`idCuenta`)
133 REFERENCES `mydb`.`Cuenta` (`idCuenta`)
134 ON DELETE NO ACTION
135 ON UPDATE NO ACTION,
136 CONSTRAINT `fk_Cuenta_has_Producto_Producto1`
137 FOREIGN KEY (`idProducto`)
138 REFERENCES `mydb`.`Producto` (`idProducto`)
139 ON DELETE NO ACTION
140 ON UPDATE NO ACTION)
141ENGINE = InnoDB;
142
143CREATE INDEX `fk_Cuenta_has_Producto_Producto1_idx` ON `mydb`.`Venta` (`idProducto` ASC);
144
145CREATE INDEX `fk_Cuenta_has_Producto_Cuenta_idx` ON `mydb`.`Venta` (`idCuenta` ASC);
146
147
148SET SQL_MODE=@OLD_SQL_MODE;
149SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
150SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
151
152
153INSERT INTO mesa (idMesa, posicionMesa) VALUES (1, 'entrada');
154INSERT INTO mesa (idMesa, posicionMesa) VALUES (2, 'segunda');
155INSERT INTO mesa (idMesa, posicionMesa) VALUES (3, 'columna');
156
157INSERT INTO categoriaMesero (idCategoriaMesero, NombreCategoriaMesero) VALUES (1, 'A');
158INSERT INTO categoriaMesero (idCategoriaMesero, NombreCategoriaMesero) VALUES (2, 'B');
159INSERT INTO categoriaMesero (idCategoriaMesero, NombreCategoriaMesero) VALUES (3, 'C');
160INSERT INTO Mesero (idMesero, NombreMesero, apell1Mesero, apelli2mesero, categoriaMesero)
161 VALUES (1, 'Alberto', 'Mendez', 'Pérez', 1);
162INSERT INTO Mesero (idMesero, NombreMesero, apell1Mesero, apelli2mesero, categoriaMesero)
163 VALUES (2, 'José', 'Navarro', 'DÃaz', 2);
164
165 INSERT INTO Mesero (idMesero, NombreMesero, apell1Mesero, apelli2mesero, categoriaMesero)
166 VALUES (3, 'Elba', 'lazo', 'soto', 3);
167
168
169INSERT INTO Cuenta (idCuenta,propina,Cuentacol,idMesero,idMesa)values(1,2500,1,1,1);
170INSERT INTO Cuenta (idCuenta,propina,Cuentacol,idMesero,idMesa)values(2,1500,2,2,2);
171INSERT INTO Cuenta (idCuenta,propina,Cuentacol,idMesero,idMesa)values(3,3000,3,2,3);
172
173INSERT INTO Producto (idProducto,nombreProducto,costoProducto,precioProducto) values (1,'pizza',1000,2000);
174INSERT INTO Producto (idProducto,nombreProducto,costoProducto,precioProducto) values (2,'cafe',500,1000);
175INSERT INTO Producto (idProducto,nombreProducto,costoProducto,precioProducto) values (3,'completo',800,1600);
176
177INSERT INTO Venta (idCuenta,idProducto,cantidad,Ventacol) values (1,1,1,1);
178INSERT INTO Venta (idCuenta,idProducto,cantidad,Ventacol) values (2,2,2,2);
179INSERT INTO Venta (idCuenta,idProducto,cantidad,Ventacol) values (3,3,1,1);
180
181
182select Mesero.nombreMesero as nombre ,Mesero.apell1Mesero as apellido1,Mesero.apelli2Mesero as apellido2 from
183Mesero inner join Cuenta inner join Mesa on Mesero.idMesero = Cuenta.idMesero and
184Mesa.idMesa = Cuenta.IdMesa and Mesa.posicionMesa = 'columna';
185
186
187select Mesero.nombreMesero as nombre ,Mesero.apell1Mesero as apellido1,Mesero.apelli2Mesero as
188 apellido2 from Mesero where idMesero in( select idMesero from Cuenta where
189 idMesa in (select idMesa from Mesa where posicionMesa = 'columna'));
190
191
192
193 select Mesero.nombreMesero as Nombre from Mesero inner join CategoriaMesero inner join Cuenta
194 on Mesero.categoriaMesero = CategoriaMesero.idCategoriaMesero
195 and CategoriaMesero.NombreCategoriaMesero = 'A';
196
197 select nombreMesero as nombre from Mesero where categoriaMesero IN
198 (select idCategoriaMesero from CategoriaMesero where NombreCategoriaMesero = 'C') and
199 idMesero in (select idMesero from Cuenta where propina>0);
200
201 select nombreProducto from Producto where costoProducto >10000 and
202 idProducto IN (select idProducto from Venta where cantidad>5);
203
204
205
206select nombreProducto from Cuenta inner join Producto inner join
207Mesa inner join Mesero inner join Venta ON Cuenta.idMesa = Mesa.idMesa
208and Cuenta.idMesero = Mesero.idMesero and Producto.idProducto = Venta.idProducto
209and Mesa.idMesa = 1;
210
211
212select nombreProducto from Producto where (precioProducto) - (costoProducto);