You are on page 1of 7

DROP DATABASE IF EXISTS adn;

CREATE DATABASE adn;


USE adn;

select * from usuarios;


select * from empleados;
select * from user;
ALTER TABLE empleados
DROP COLUMN accesoweb;

CREATE TABLE empleados (


id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
ci VARCHAR(8) NOT NULL UNIQUE,
nombre VARCHAR(25) NOT NULL,
apellido VARCHAR(25) NOT NULL,
celular INT NOT NULL,
email VARCHAR(50) NOT NULL,
fechanac DATE NOT NULL CHECK (fechanac >= '2005-09-22'),
es_chofer TINYINT(1) DEFAULT 0,
es_almacen TINYINT(1) DEFAULT 0,
updated_at DATE,
deleted_at DATE,
created_at DATE
);

use adn;
select * from funcionarios;
select * from empleados;

select *from usuarios;


select *from users;

use adn;
select * from choferes;

ALTER TABLE usuarios


ADD FOREIGN KEY (id_empleado, es_chofer, es_almacen) REFERENCES empleados(id,
es_chofer, es_almacen);

CREATE INDEX idx_es_chofer_empleados ON empleados(es_chofer);


CREATE INDEX idx_es_almacen_empleados ON empleados(es_almacen);

use adn;
select * from usuarios;
select * from users;

ALTER TABLE usuarios


MODIFY contraseña VARCHAR(200);

use adn;
select * from usuarios;

CREATE TABLE usuarios (


id_empleado INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
nombre VARCHAR(25) NOT NULL,
contraseña VARCHAR(255) NOT NULL,
es_chofer TINYINT(1) DEFAULT 0,
es_almacen TINYINT(1) DEFAULT 0,
updated_at DATE,
deleted_at DATE,
created_at DATE
);

use adn;
select * from usuarios;
/*
CREATE TABLE funcionarios (
id_func INT UNSIGNED PRIMARY KEY,
FOREIGN KEY (id_func) REFERENCES empleados(id),
updated_at DATE,
deleted_at DATE,
created_at DATE
);
*/

select * from empleados where es_chofer = true;


select * from vehiculos;

use adn;
/*
select *from choferes;
CREATE TABLE choferes (
id INT UNSIGNED PRIMARY KEY,
es_chofer TINYINT(1) NOT NULL DEFAULT 0,
es_almacen TINYINT(1) NOT NULL DEFAULT 0,
updated_at DATE,
deleted_at DATE,
created_at DATE
);
*/

select * from paquetes where paquetes

select * from empleados where ;


CREATE TABLE vehiculos (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
matricula VARCHAR(7) NOT NULL UNIQUE,
marca VARCHAR(20) NOT NULL,
modelo VARCHAR(20) NOT NULL,
peso DOUBLE(10, 2) NOT NULL,
capacidad DOUBLE(10, 2) NOT NULL,
updated_at DATE,
deleted_at DATE,
created_at DATE
);
-- Insertar un registro en la tabla "camiones" #1
use ADN;
select * from camiones;
INSERT INTO camiones (id_camion) VALUES (3);

SELECT COUNT(*) AS cantidad_de_camiones


FROM camiones;

CREATE TABLE camiones (


id_camion INT UNSIGNED PRIMARY KEY,
FOREIGN KEY (id_camion) REFERENCES vehiculos(id),
updated_at DATE,
deleted_at DATE,
created_at DATE
);

CREATE TABLE fletes (


id_flete INT UNSIGNED PRIMARY KEY,
FOREIGN KEY (id_flete) REFERENCES vehiculos(id),
updated_at DATE,
deleted_at DATE,
created_at DATE
);

SELECT tamaño, COUNT(*) AS cantidad


FROM paquetes
GROUP BY tamaño;

select * from paquetes;


CREATE TABLE paquetes (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
descripcion VARCHAR(50) NOT NULL,
calle VARCHAR(50) NOT NULL,
numero INT NOT NULL,
localidad VARCHAR(25) NOT NULL,
departamento VARCHAR(25) NOT NULL,
telefono INT NOT NULL,
estatus ENUM('Ingresado', 'En almacen origen', 'En transito', 'En almacen
destino', 'Disponible en pick up', 'En distribucion', 'Reagenda entrega',
'Entregado') NOT NULL,
tamaño ENUM('Pequeño', 'Mediano', 'Grande') NOT NULL,
peso DOUBLE NOT NULL,
fecha DATE NOT NULL,
hora TIME NOT NULL,
updated_at DATE,
deleted_at DATE,
created_at DATE
);
SELECT p.*
FROM paquetes p
INNER JOIN lotes l ON p.id = l.paqueteId
WHERE l.lote = 1;

SELECT p.estatus
FROM paquetes p
INNER JOIN lotes l ON p.id = l.paqueteId
WHERE l.lote = 1;

SELECT l.camionId
FROM lotes l
INNER JOIN paquetes p ON l.paqueteId = p.id
WHERE l.lote = 1;

select * from lotes;


CREATE TABLE lotes (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
lote INT,
camionId INT,
paqueteId INT,
estatus ENUM('Consolidado', 'En Transito', 'Desconsolidado') NOT NULL,
updated_at DATE,
deleted_at DATE,
created_at DATE
);

CREATE TABLE transportas (


id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
id_camion INT UNSIGNED UNIQUE NOT NULL,
id_lote INT UNSIGNED UNIQUE NOT NULL,
fecha DATE NOT NULL,
hora TIME NOT NULL,
FOREIGN KEY (id_camion) REFERENCES vehiculos(id),
FOREIGN KEY (id_lote) REFERENCES lotes(id),
updated_at DATE,
deleted_at DATE,
created_at DATE
);
use ADN;
select * from users;

CREATE TABLE almacenes (


id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
nombre VARCHAR(25) NOT NULL,
calle VARCHAR(50) NOT NULL,
numero INT NOT NULL,
localidad VARCHAR(50) NOT NULL,
departamento VARCHAR(50) NOT NULL,
telefono INT NOT NULL,
updated_at DATE,
deleted_at DATE,
created_at DATE
);

CREATE TABLE almacenas (


id_paquete INT UNSIGNED PRIMARY KEY,
id_almacen INT UNSIGNED NOT NULL,
FOREIGN KEY (id_almacen) REFERENCES almacenes(id),
FOREIGN KEY (id_paquete) REFERENCES paquetes(id),
updated_at DATE,
deleted_at DATE,
created_at DATE
);

INSERT INTO empresas (RUT, nombre, calle, numero, localidad, departamento,


telefono)
VALUES (4, 'FTTTF', 'Ricaldoni', 123, 'Sayago', 'Montevideo', 12345678);

use adn;

select * from empresas;

CREATE TABLE empresas (


RUT VARCHAR(12) PRIMARY KEY NOT NULL,
nombre VARCHAR(25) NOT NULL,
calle VARCHAR(50) NOT NULL,
numero INT NOT NULL,
localidad VARCHAR(25) NOT NULL,
departamento VARCHAR(25) NOT NULL,
telefono VARCHAR(12) NOT NULL,
updated_at DATE,
deleted_at DATE,
created_at DATE
);

CREATE TABLE retiras (


id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
id_flete INT UNSIGNED NOT NULL,
RUT VARCHAR(12) NOT NULL,
id_paquete INT UNSIGNED NOT NULL,
fecha DATE NOT NULL,
hora TIME NOT NULL,
FOREIGN KEY (id_flete) REFERENCES vehiculos(id),
FOREIGN KEY (RUT) REFERENCES empresas(RUT),
FOREIGN KEY (id_paquete) REFERENCES paquetes(id),
updated_at DATE,
deleted_at DATE,
created_at DATE
);

CREATE TABLE despachas (


id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
id_flete INT UNSIGNED NOT NULL,
id_almacen INT UNSIGNED NOT NULL,
fecha DATE NOT NULL,
hora TIME NOT NULL,
FOREIGN KEY (id_flete) REFERENCES vehiculos(id),
FOREIGN KEY (id_almacen) REFERENCES almacenes(id),
updated_at DATE,
deleted_at DATE,
created_at DATE
);

CREATE TABLE clientes (


tracking_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
updated_at DATE,
deleted_at DATE,
created_at DATE
);

CREATE TABLE entregas (


id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
tracking_id INT UNSIGNED UNIQUE NOT NULL,
id_flete INT UNSIGNED UNIQUE NOT NULL,
fecha DATE NOT NULL,
hora TIME NOT NULL,
FOREIGN KEY (id_flete) REFERENCES vehiculos(id),
FOREIGN KEY (tracking_id) REFERENCES clientes(tracking_id),
updated_at DATE,
deleted_at DATE,
created_at DATE
);

CREATE TABLE creas (


id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
id_func INT UNSIGNED UNIQUE NOT NULL,
id_paquete INT UNSIGNED UNIQUE NOT NULL,
FOREIGN KEY (id_func) REFERENCES empleados(id),
FOREIGN KEY (id_paquete) REFERENCES paquetes(id),
updated_at DATE,
deleted_at DATE,
created_at DATE
);

CREATE TABLE conformas (


id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
descripcion VARCHAR(50) NOT NULL,
calle VARCHAR(50) NOT NULL,
numero INT NOT NULL,
localidad VARCHAR(25) NOT NULL,
departamento VARCHAR(25) NOT NULL,
telefono INT NOT NULL,
paqueteid INT UNSIGNED NOT NULL,
updated_at DATE,
deleted_at DATE,
created_at DATE
);
CREATE TABLE asignas (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
id_func INT UNSIGNED UNIQUE NOT NULL,
id_lote INT UNSIGNED UNIQUE NOT NULL,
id_camion INT UNSIGNED UNIQUE NOT NULL,
FOREIGN KEY (id_func) REFERENCES empleados(id),
FOREIGN KEY (id_lote) REFERENCES lotes(id),
FOREIGN KEY (id_camion) REFERENCES vehiculos(id),
updated_at DATE,
deleted_at DATE,
created_at DATE
);

You might also like