|
| 1 | +-- FALSE = INACTIVO: 0 |
| 2 | +-- TRUE = ACTIVO: 1 |
| 3 | + |
| 4 | +CREATE TABLE IF NOT EXISTS estado( |
| 5 | + cod_estado CHAR(3) PRIMARY KEY, |
| 6 | + nombre_estado VARCHAR(25) NOT NULL UNIQUE |
| 7 | +); |
| 8 | + |
| 9 | +CREATE TABLE IF NOT EXISTS distrito( |
| 10 | + cod_distrito CHAR(4) PRIMARY KEY, |
| 11 | + nombre_distrito VARCHAR(25) NOT NULL UNIQUE |
| 12 | +); |
| 13 | + |
| 14 | +CREATE TABLE IF NOT EXISTS moneda( |
| 15 | + cod_moneda CHAR(4) PRIMARY KEY, |
| 16 | + nombre_moneda VARCHAR(25) NOT NULL UNIQUE |
| 17 | +); |
| 18 | + |
| 19 | +CREATE TABLE IF NOT EXISTS talla( |
| 20 | + cod_talla CHAR(4) PRIMARY KEY, |
| 21 | + numero_talla DECIMAL NOT NULL UNIQUE, |
| 22 | + estado SMALLINT DEFAULT 1 |
| 23 | +); |
| 24 | + |
| 25 | +CREATE TABLE IF NOT EXISTS color( |
| 26 | + cod_color CHAR(4) PRIMARY KEY, |
| 27 | + nombre_color VARCHAR(25) NOT NULL UNIQUE, |
| 28 | + estado SMALLINT DEFAULT 1 |
| 29 | +); |
| 30 | + |
| 31 | +CREATE TABLE IF NOT EXISTS categoria( |
| 32 | + cod_categoria CHAR(4) PRIMARY KEY, |
| 33 | + nombre_categoria VARCHAR(25) NOT NULL UNIQUE |
| 34 | +); |
| 35 | + |
| 36 | +CREATE TABLE IF NOT EXISTS estilo( |
| 37 | + cod_estilo CHAR(4) PRIMARY KEY, |
| 38 | + nombre_estilo VARCHAR(25) NOT NULL UNIQUE |
| 39 | +); |
| 40 | + |
| 41 | +CREATE TABLE IF NOT EXISTS rol( |
| 42 | + cod_rol CHAR(4) PRIMARY KEY, |
| 43 | + nombre_rol VARCHAR(25) NOT NULL UNIQUE |
| 44 | +); |
| 45 | + |
| 46 | +CREATE TABLE IF NOT EXISTS empleado( -- DROP TABLE IF EXISTS empleado; |
| 47 | + cod_empleado CHAR(7) PRIMARY KEY, |
| 48 | + cod_distrito CHAR(4), |
| 49 | + cod_estado CHAR(3), |
| 50 | + nombre VARCHAR(25) NOT NULL,-- CHECK (nombre != "") , |
| 51 | + apellidos VARCHAR(25) NOT NULL, |
| 52 | + dni CHAR(8) UNIQUE, |
| 53 | + direccion VARCHAR(45), |
| 54 | + telefono VARCHAR(12), |
| 55 | + email VARCHAR(45) UNIQUE, |
| 56 | + usuario VARCHAR(25) NOT NULL UNIQUE, |
| 57 | + contrasena VARCHAR(100) NOT NULL, |
| 58 | + FOREIGN KEY (cod_distrito) REFERENCES distrito(cod_distrito) ON DELETE CASCADE, |
| 59 | + FOREIGN KEY (cod_estado) REFERENCES estado(cod_estado) ON DELETE CASCADE |
| 60 | +); |
| 61 | + |
| 62 | +CREATE TABLE IF NOT EXISTS empleado_rol( -- DROP TABLE IF EXISTS empleado_rol; |
| 63 | + cod_rol CHAR(4), |
| 64 | + cod_empleado CHAR(7), |
| 65 | + PRIMARY KEY (cod_rol, cod_empleado), |
| 66 | + FOREIGN KEY (cod_rol) REFERENCES rol(cod_rol) ON DELETE CASCADE, |
| 67 | + FOREIGN KEY (cod_empleado) REFERENCES empleado(cod_empleado) ON DELETE CASCADE |
| 68 | +); |
| 69 | + |
| 70 | +CREATE TABLE IF NOT EXISTS marca( |
| 71 | + cod_marca CHAR(7) PRIMARY KEY, |
| 72 | + nombre_marca VARCHAR(25) NOT NULL UNIQUE |
| 73 | +); |
| 74 | + |
| 75 | +CREATE TABLE IF NOT EXISTS modelo( -- DROP TABLE IF EXISTS modelo; |
| 76 | + cod_modelo CHAR(7) PRIMARY KEY, |
| 77 | + cod_marca CHAR(7), |
| 78 | + cod_categoria CHAR(4), |
| 79 | + cod_estilo CHAR(4), |
| 80 | + nombre_modelo VARCHAR(25) NOT NULL UNIQUE, |
| 81 | + precio_compra DECIMAL NOT NULL, |
| 82 | + precio_venta DECIMAL NOT NULL, -- precio final |
| 83 | + precio_lista DECIMAL NOT NULL, -- precio inicial |
| 84 | + descuento_modelo INT DEFAULT 0 CHECK(descuento_modelo>=0 AND descuento_modelo<=100), |
| 85 | + descripcion VARCHAR(250) DEFAULT 'descrixion generica', |
| 86 | + stock_min INT DEFAULT 0, |
| 87 | + FOREIGN KEY (cod_marca) REFERENCES marca(cod_marca) ON DELETE CASCADE, |
| 88 | + FOREIGN KEY (cod_categoria) REFERENCES categoria(cod_categoria) ON DELETE CASCADE, |
| 89 | + FOREIGN KEY (cod_estilo) REFERENCES estilo(cod_estilo) ON DELETE CASCADE |
| 90 | +); |
| 91 | + |
| 92 | +CREATE TABLE IF NOT EXISTS modelo_color( -- DROP TABLE IF EXISTS modelo_color; |
| 93 | + --cod_mc CHAR(7), |
| 94 | + cod_modelo CHAR(7), |
| 95 | + cod_color CHAR(4), |
| 96 | + imagen_url VARCHAR(200), |
| 97 | + PRIMARY KEY (cod_modelo, cod_color), |
| 98 | + FOREIGN KEY (cod_modelo) REFERENCES modelo(cod_modelo) ON DELETE CASCADE, |
| 99 | + FOREIGN KEY (cod_color) REFERENCES color(cod_color) ON DELETE CASCADE |
| 100 | +); |
| 101 | + |
| 102 | +CREATE TABLE IF NOT EXISTS calzado( -- DROP TABLE IF EXISTS calzado; |
| 103 | + cod_calzado CHAR(8) UNIQUE, -- ***************** |
| 104 | + cod_modelo CHAR(7), |
| 105 | + cod_color CHAR(4), |
| 106 | + cod_talla CHAR(4), |
| 107 | + codigo_br VARCHAR(20) UNIQUE, |
| 108 | + stock INT DEFAULT 1 CHECK(stock>=0), |
| 109 | + PRIMARY KEY (cod_calzado,cod_modelo,cod_color,cod_talla), |
| 110 | + CONSTRAINT fk_calzado1 FOREIGN KEY(cod_modelo,cod_color) REFERENCES modelo_color(cod_modelo,cod_color) ON DELETE CASCADE, |
| 111 | + FOREIGN KEY (cod_talla) REFERENCES talla(cod_talla) ON DELETE CASCADE |
| 112 | +); |
| 113 | + |
| 114 | +CREATE TABLE IF NOT EXISTS cliente( -- DROP TABLE IF EXISTS cliente; |
| 115 | + cod_cliente CHAR(8) PRIMARY KEY, |
| 116 | + cod_distrito CHAR(4), |
| 117 | + nombre VARCHAR(25) NOT NULL, |
| 118 | + apellidos VARCHAR(25) NOT NULL, |
| 119 | + dni CHAR(8) NOT NULL UNIQUE, |
| 120 | + direccion VARCHAR(45), |
| 121 | + telefono VARCHAR(12), |
| 122 | + email VARCHAR(45) UNIQUE, |
| 123 | + FOREIGN KEY (cod_distrito) REFERENCES distrito(cod_distrito) ON DELETE CASCADE |
| 124 | +); |
| 125 | + |
| 126 | +CREATE TABLE IF NOT EXISTS boleta( -- DROP TABLE IF EXISTS boleta; |
| 127 | + cod_boleta CHAR(8) PRIMARY KEY, |
| 128 | + cod_cliente CHAR(8), |
| 129 | + cod_empleado CHAR(7), |
| 130 | + cod_moneda CHAR(4), |
| 131 | + fecha_hora_emision TIMESTAMP NOT NULL, |
| 132 | + importe_total DECIMAL NOT NULL, |
| 133 | + FOREIGN KEY (cod_cliente) REFERENCES cliente(cod_cliente) ON DELETE CASCADE, |
| 134 | + FOREIGN KEY (cod_empleado) REFERENCES empleado(cod_empleado) ON DELETE CASCADE, |
| 135 | + FOREIGN KEY (cod_moneda) REFERENCES moneda(cod_moneda) ON DELETE CASCADE |
| 136 | +); |
| 137 | + |
| 138 | +CREATE TABLE IF NOT EXISTS detalle_boleta( -- DROP TABLE IF EXISTS detalle_boleta; |
| 139 | + cod_boleta CHAR(8), |
| 140 | + cod_calzado CHAR(8), |
| 141 | + cantidad INT NOT NULL, |
| 142 | + -- importe bruto -> cantidad * [p_venta(P.U) - igv] |
| 143 | + igv DECIMAL DEFAULT 0.18, |
| 144 | + descuento DECIMAL DEFAULT 0, |
| 145 | + importe DECIMAL NOT NULL, |
| 146 | + PRIMARY KEY (cod_boleta, cod_calzado), |
| 147 | + FOREIGN KEY (cod_boleta) REFERENCES boleta(cod_boleta) ON DELETE CASCADE, |
| 148 | + FOREIGN KEY (cod_calzado) REFERENCES calzado(cod_calzado) ON DELETE CASCADE |
| 149 | +); |
| 150 | + |
| 151 | +-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
| 152 | +-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
| 153 | + |
| 154 | +-- ESTADO -> SELECT * FROM estado; |
| 155 | +INSERT INTO estado (cod_estado, nombre_estado) VALUES ('ES1','INACTIVO'); |
| 156 | +INSERT INTO estado (cod_estado, nombre_estado) VALUES ('ES2','ACTIVO'); |
| 157 | +INSERT INTO estado (cod_estado, nombre_estado) VALUES ('ES3','SUSPENDIDO'); |
| 158 | + |
| 159 | +-- DISTRITO -> SELECT * FROM distrito; |
| 160 | +INSERT INTO distrito (cod_distrito, nombre_distrito) VALUES ('DI01','Comas'); |
| 161 | +INSERT INTO distrito (cod_distrito, nombre_distrito) VALUES ('DI02','Lince'); |
| 162 | +INSERT INTO distrito (cod_distrito, nombre_distrito) VALUES ('DI03','Miraflores'); |
| 163 | +INSERT INTO distrito (cod_distrito, nombre_distrito) VALUES ('DI04','Los Olivos'); |
| 164 | +INSERT INTO distrito (cod_distrito, nombre_distrito) VALUES ('DI05','S.J.L'); |
| 165 | +INSERT INTO distrito (cod_distrito, nombre_distrito) VALUES ('DI06','Independencia'); |
| 166 | + |
| 167 | +-- MONEDA -> SELECT * FROM moneda; |
| 168 | +INSERT INTO moneda (cod_moneda, nombre_moneda) VALUES ('MN01','SOL'); |
| 169 | +INSERT INTO moneda (cod_moneda, nombre_moneda) VALUES ('MN02','DOLAR'); |
| 170 | + |
| 171 | +-- TALLA -> SELECT * FROM talla; |
| 172 | +INSERT INTO talla (cod_talla, numero_talla) VALUES ('TL01',38); |
| 173 | +INSERT INTO talla (cod_talla, numero_talla) VALUES ('TL02',39); |
| 174 | +INSERT INTO talla (cod_talla, numero_talla) VALUES ('TL03',40); |
| 175 | +INSERT INTO talla (cod_talla, numero_talla) VALUES ('TL04',41); |
| 176 | +INSERT INTO talla (cod_talla, numero_talla) VALUES ('TL05',41.5); |
| 177 | +INSERT INTO talla (cod_talla, numero_talla) VALUES ('TL06',42); |
| 178 | + |
| 179 | +-- COLOR -> SELECT * FROM color; |
| 180 | +INSERT INTO color (cod_color, nombre_color) VALUES ('CR01','Negro'); |
| 181 | +INSERT INTO color (cod_color, nombre_color) VALUES ('CR02','Marron'); |
| 182 | +INSERT INTO color (cod_color, nombre_color) VALUES ('CR03','Azul'); |
| 183 | +INSERT INTO color (cod_color, nombre_color) VALUES ('CR04','Canela'); |
| 184 | +INSERT INTO color (cod_color, nombre_color) VALUES ('CR05','Azul Marino'); |
| 185 | + |
| 186 | +-- CATEGORIA -> SELECT * FROM categoria; |
| 187 | +INSERT INTO categoria (cod_categoria, nombre_categoria) VALUES ('CT01','Mocasin'); |
| 188 | +INSERT INTO categoria (cod_categoria, nombre_categoria) VALUES ('CT02','Botin'); |
| 189 | + |
| 190 | +-- ESTILO -> SELECT * FROM estilo; |
| 191 | +INSERT INTO estilo (cod_estilo, nombre_estilo) VALUES ('ET01','Casual'); |
| 192 | +INSERT INTO estilo (cod_estilo, nombre_estilo) VALUES ('ET02','Vestir'); |
| 193 | + |
| 194 | +-- ROL -> SELECT * FROM rol; |
| 195 | +INSERT INTO rol (cod_rol, nombre_rol) VALUES ('RL01','ROLE_ADMIN'); |
| 196 | +INSERT INTO rol (cod_rol, nombre_rol) VALUES ('RL02','ROLE_USER'); |
| 197 | + |
| 198 | +-- EMPLEADO -> SELECT * FROM empleado; |
| 199 | +INSERT INTO empleado (cod_empleado,cod_distrito,cod_estado,nombre,apellidos,dni,direccion,telefono,email,usuario,contrasena) VALUES ('EM10001','DI01','ES2','KEVIN','B','00000000','DIRECCION','999999999','paledot01@gmail.com','kevinB','$2a$10$Jtfxa0EuEjZrfQ4OvR4WbuqD00OBIfIp.5Sv33A7G8ya3xTI542nq'); |
| 200 | + |
| 201 | +-- EMPLEADO-ROL -> SELECT * FROM empleado_rol; |
| 202 | +INSERT INTO empleado_rol (cod_rol,cod_empleado) VALUES ('RL01','EM10001'); |
| 203 | +INSERT INTO empleado_rol (cod_rol,cod_empleado) VALUES ('RL02','EM10001'); |
| 204 | + |
| 205 | +-- MARCA -> SELECT * FROM marca; --> DELETE FROM marca WHERE cod_marca = 'MA10002'; --> UPDATE marca SET field='C', field2='Z' WHERE id=3; |
| 206 | +INSERT INTO marca (cod_marca, nombre_marca) VALUES ('MA10001','Calimod'); |
| 207 | +INSERT INTO marca (cod_marca, nombre_marca) VALUES ('MA10002','Basement'); |
| 208 | +INSERT INTO marca (cod_marca, nombre_marca) VALUES ('MA10003','Call It Spring'); |
| 209 | + |
| 210 | +-- MODELO -> SELECT * FROM modelo; --> DELETE FROM modelo WHERE cod_modelo = 'MD10002'; |
| 211 | +INSERT INTO modelo (cod_modelo,cod_marca,cod_categoria,cod_estilo,nombre_modelo,precio_compra,precio_venta,precio_lista,stock_min) VALUES ('MD10001','MA10001','CT01','ET01','1CEA003',75,150,150,3); |
| 212 | +INSERT INTO modelo (cod_modelo,cod_marca,cod_categoria,cod_estilo,nombre_modelo,precio_compra,precio_venta,precio_lista,stock_min) VALUES ('MD10002','MA10002','CT02','ET02','Burkos Cl',120,200,200,5); |
| 213 | + |
| 214 | +-- MODELO_COLOR -> SELECT * FROM modelo_color; |
| 215 | +INSERT INTO modelo_color (cod_modelo, cod_color, imagen_url) VALUES ('MD10001','CR02',NULL); |
| 216 | +INSERT INTO modelo_color (cod_modelo, cod_color, imagen_url) VALUES ('MD10001','CR03',NULL); |
| 217 | +INSERT INTO modelo_color (cod_modelo, cod_color, imagen_url) VALUES ('MD10002','CR04',NULL); |
| 218 | +INSERT INTO modelo_color (cod_modelo, cod_color, imagen_url) VALUES ('MD10002','CR05',NULL); |
| 219 | + |
| 220 | +-- CALZADO -> SELECT * FROM calzado; |
| 221 | +INSERT INTO calzado (cod_calzado, cod_modelo, cod_color, cod_talla, codigo_br, stock) VALUES ('CZ100001','MD10001','CR02','TL02',NULL,10); |
| 222 | +INSERT INTO calzado (cod_calzado, cod_modelo, cod_color, cod_talla, codigo_br, stock) VALUES ('CZ100002','MD10001','CR02','TL03',NULL,6); |
| 223 | +INSERT INTO calzado (cod_calzado, cod_modelo, cod_color, cod_talla, codigo_br, stock) VALUES ('CZ100003','MD10001','CR02','TL04',NULL,3); |
| 224 | +INSERT INTO calzado (cod_calzado, cod_modelo, cod_color, cod_talla, codigo_br, stock) VALUES ('CZ100004','MD10001','CR02','TL05',NULL,8); |
| 225 | +INSERT INTO calzado (cod_calzado, cod_modelo, cod_color, cod_talla, codigo_br, stock) VALUES ('CZ100005','MD10001','CR02','TL06',NULL,9); |
| 226 | +INSERT INTO calzado (cod_calzado, cod_modelo, cod_color, cod_talla, codigo_br, stock) VALUES ('CZ100006','MD10001','CR03','TL02',NULL,12); |
| 227 | +INSERT INTO calzado (cod_calzado, cod_modelo, cod_color, cod_talla, codigo_br, stock) VALUES ('CZ100007','MD10001','CR03','TL03',NULL,10); |
| 228 | +INSERT INTO calzado (cod_calzado, cod_modelo, cod_color, cod_talla, codigo_br, stock) VALUES ('CZ100008','MD10001','CR03','TL04',NULL,9); |
| 229 | +INSERT INTO calzado (cod_calzado, cod_modelo, cod_color, cod_talla, codigo_br, stock) VALUES ('CZ100009','MD10001','CR03','TL05',NULL,13); |
| 230 | +INSERT INTO calzado (cod_calzado, cod_modelo, cod_color, cod_talla, codigo_br, stock) VALUES ('CZ100010','MD10001','CR03','TL06',NULL,7); |
| 231 | + |
| 232 | +-- CLIENTE -> SELECT * FROM cliente; |
| 233 | +INSERT INTO cliente (cod_cliente,cod_distrito,nombre,apellidos,dni,direccion,telefono,email) VALUES ('CL100001','DI02','ANETH LUANA','TINEO URIBE','32425643','AV. LOS GIRASOLES # 1800','990990230','LUANITAHERMOSA@GMAIL.COM'); |
| 234 | +INSERT INTO cliente (cod_cliente,cod_distrito,nombre,apellidos,dni,direccion,telefono,email) VALUES ('CL100002','DI03','JOSE LUIS','TARAZONA ZELA','78395021','AV. LAS FLORES # 1800',null,'JOSESITO@GMAIL.COM'); |
| 235 | +INSERT INTO cliente (cod_cliente,cod_distrito,nombre,apellidos,dni,direccion,telefono,email) VALUES ('CL100003','DI05','ANA MARIA','VILLAVICENCIO CASTRO','48502717','AV. LAS FLORES # 2560','989434228','ANITAMARIA@GMAIL.COM'); |
| 236 | +INSERT INTO cliente (cod_cliente,cod_distrito,nombre,apellidos,dni,direccion,telefono,email) VALUES ('CL100004','DI06','JOSE ANTONIO','ENCISO NOLASCO','86294711','AV. PROCERES DE LA INDEPENDENCIA # 5000','987845874','JOSANTONIO@GMAIL.COM'); |
| 237 | +INSERT INTO cliente (cod_cliente,cod_distrito,nombre,apellidos,dni,direccion,telefono,email) VALUES ('CL100005','DI05','ALEJANDRA','CHUCO HUERTA','97537923','AV. GRAN CHIMU # 3500','963245874','ALEJANDRITA5245@HOTMAIL.COM'); |
| 238 | + |
| 239 | +-- BOLETA -> SELECT * FROM boleta; |
| 240 | +INSERT INTO boleta (cod_boleta,cod_cliente,cod_empleado,cod_moneda,fecha_hora_emision,importe_total) VALUES ('BL100001','CL100001','EM10001','MN01',NOW(),750); |
| 241 | + |
| 242 | +-- DETALLE BOLETA -> SELECT * FROM detalle_boleta; |
| 243 | +INSERT INTO detalle_boleta (cod_boleta,cod_calzado,cantidad,descuento,importe) VALUES ('BL100001','CZ100001',2,0,300); |
| 244 | +INSERT INTO detalle_boleta (cod_boleta,cod_calzado,cantidad,descuento,importe) VALUES ('BL100001','CZ100002',3,0,450); |
| 245 | + |
| 246 | + |
| 247 | +-- DROP DATABASE db_shoesformen |
| 248 | +-- DROP TABLE IF EXISTS distrito; |
| 249 | +-- IMPORTANTE : PARA QUE EL VALOR POR DEFAULT DE UN CAMPO FUNCIONE ESTE NO DEBE SER NI MENSIONADO, NO PUEDE SER NI NULL PORQUE NULL YA ES UN VALOR. |
| 250 | + |
| 251 | +/* |
| 252 | +SELECT * FROM calzado AS ca |
| 253 | +INNER JOIN modelo_color AS mc ON ca.cod_modelo = mc.cod_modelo AND ca.cod_color = mc.cod_color |
| 254 | +INNER JOIN modelo AS mo ON mc.cod_modelo = mo.cod_modelo |
| 255 | +INNER JOIN talla AS ta ON ca.cod_talla = ta.cod_talla |
| 256 | +*/ |
| 257 | + |
| 258 | + |
| 259 | + |
| 260 | +-- SELECT CONCAT('EM',CAST(SUBSTRING(MAX(e.cod_empleado),3) AS INT) + 1) FROM empleado AS e |
| 261 | +-- SELECT version(); |
| 262 | + |
| 263 | + |
| 264 | + |
| 265 | + |
| 266 | + |
| 267 | + |
| 268 | + |
| 269 | + |
| 270 | + |
| 271 | + |
| 272 | + |
| 273 | + |
| 274 | + |
| 275 | + |
0 commit comments