create table cliente(
pk_cliente int primary key,
nombre varchar(25) not null,
a_pat varchar(20),
a_mat varchar(20),
direccion varchar(30),
telefono int
);

create table pedido(
pk_pedido int primary key,
total number(18,2) not null,
monto number(18,2)
);

create table Traspaso(
pk_traspaso  int primary key,
fecha date,
Id_AlDe int,
Id_AlOr int
);

create table  Almacen(
pk_almacen int primary key,
sucursal varchar(50),
telefono varchar(30),
direccion varchar(100)
);

create table marca(
pk_marca int primary key,
nombre varchar(20) not null,
industria varchar(30),
estado varchar(1)
);

create table categoria(
pk_categoria int primary key,
nombre varchar(20) not null,
estado varchar(1)
);

create table Proveedor(
pk_proveedor  int primary key,
nombre varchar(20) not null,
descripcion varchar(40),
estado varchar(1)
);

>>>>>>FALTA EMPLEADO<<<<<<<<<
create table empleado(
pk_empleado int primary key,
nombre varchar(15) not null,
apellido varchar(40) not null,
Ci int not null,
fechaIngreso date,
direccion varchar(30),
sueldo number(10,2),
telefono varchar(10)
);

create table TipoUsuario (
  pk_Tipousuario int primary key,
  descripcion varchar(50) not null, 
  estado varchar(1)
 );

create table  Usuario(
pk_Usuario int primary key,
ULogin varchar (30) NULL,
UClave varchar (30) NULL,
estado varchar(1),
fk_empleado int,
fk_TipoUsuario int ,
foreign key(fk_empleado) references empleado(pk_empleado),
foreign key(fk_TipoUsuario) references TipoUsuario(pK_TipoUsuario)
);

create table privilegio(  
 pk_privilegio int primary key,
 descripcion varchar(50) not null ,
 estado varchar(1)
 );

create table Permiso(
pK_privilegio int,
pK_TipoUsuario int,
estado varchar(1),
primary key(pK_privilegio,pK_TipoUsuario),
foreign key(pK_privilegio) references privilegio(pK_privilegio),
foreign key(pK_TipoUsuario) references TipoUsuario(pK_TipoUsuario)
);

create table Producto(
pk_producto int primary key,
nombre varchar (50) not null,
descripcion varchar(100),
PrecioCompra number(18,1),
PrecioVenta number(18,1),
fk_marca int,
fK_categoria int ,
estado varchar(1),
foreign key (fk_marca) references Marca (pk_marca),
foreign key (fk_categoria) references Categoria (pk_categoria)
);

create table precio(
pk_precio  int,
precio number(18,2),
fecha date,
estado varchar(1),
fk_producto int,
primary key(pk_precio,fk_producto),
foreign key (fk_producto) references producto (pk_producto)
);

create table Alm_Prod(
fk_almacen int,
fk_producto int,
STOCK int,
primary key(fk_almacen, fk_producto),
foreign key(fk_almacen) references almacen (pk_almacen),
foreign key(fk_producto) references producto (pk_producto)
);

>>>>>REVISAR<<<<<<
create table venta(
pk_venta int primary key,
documento varchar(50),
fecha date,
hora varchar(5),
fk_cliente int,
fk_empleado int,
foreign key(fk_cliente) references cliente(pk_cliente),
foreign key(fk_empleado) references empleado (pk_empleado)
);

create table compra(
pk_compra int primary key,
DOCUMENTO varchar(30),
fecha date,
fk_proveedor  int,
fk_empleado int,
foreign key(fk_proveedor) references proveedor (pk_proveedor),
foreign key(fk_empleado) references empleado (pk_empleado)
);



Create table ingreso(
Pk_ingreso int primary key,
Fecha date,
Observacion varchar(40),
fk_empleado int, 
foreign key(fk_empleado) references empleado (pk_empleado)
);

Create table Egreso(
Pk_Egreso int primary key,
Fecha date,
Observacion varchar(40),
fk_empleado int, 
foreign key(fk_empleado) references empleado (pk_empleado)
);


create table Detalle_Venta(
fk_venta  int,
fk_almacen int,
fk_producto int,
Cantidad int,
precio_venta number(18,2),
Subtotal  number(18,2),
primary key(fk_venta,fk_almacen, fk_producto),
foreign key(fk_almacen,fk_producto) references  Alm_Prod (fk_almacen,fk_producto),
foreign key(fk_venta) references  Venta (pk_venta)
);

create table Detalle_Compra(
fk_almacen int,
fk_producto int,
fk_compra  int,
Cantidad int,
precio_compra number(18,2),
Subtotal  number(18,2),
primary key(fk_almacen, fk_producto, fk_compra),
foreign key(fk_almacen,fk_producto) references  Alm_Prod (fk_almacen,fk_producto),
foreign key(fk_compra) references compra (pk_compra)
);

create table Detalle_Ingreso(
fk_almacen int,
fk_producto int,
fk_ingreso int,
Cantidad int,
Subtotal  number(18,2),
primary key(fk_almacen, fk_producto, fk_ingreso),
foreign key(fk_almacen,fk_producto) references  Alm_Prod (fk_almacen,fk_producto),
foreign key(fk_ingreso) references ingreso (pk_ingreso)
);

create table Detalle_Egreso(
fk_almacen int,
fk_producto int,
fk_egreso  int,
Cantidad int,
Subtotal  number(18,2),
primary key(fk_almacen, fk_producto, fk_egreso),
foreign key(fk_almacen,fk_producto) references  Alm_Prod (fk_almacen,fk_producto),
foreign key(fk_egreso) references egreso (pk_egreso)
);

create table Detalle_Traspaso(
fk_almacen int,
fk_producto int,
fk_traspaso int,
Cantidad int,
primary key(fk_almacen, fk_producto, fk_traspaso),
foreign key(fk_almacen,fk_producto) references  Alm_Prod (fk_almacen,fk_producto),
foreign key(fk_traspaso) references traspaso (pk_traspaso)
);


insert into cliente values(1,'Carlos', 'Soliz','Saucedo', 'Calle Manfredo C.', 76551489);
insert into cliente values(2,'Pedro', 'Mamani','Alvarado', 'Calle Editha Arias', 76546519);
insert into cliente values(3,'Juan', 'Quispe','Urquieta', 'Calle Batalla del Pari', 67851489);
insert into cliente values(4,'Etelberto', 'Roca','Negrete', 'Calle 16 de Julio', 69871589);
insert into cliente values(5,'Miguel', 'Tesla','Torrez', 'Calle Caoto', 67654489);

insert into empleado values(1,'Justino', 'Padilla Cuellar',4816157, '26/02/2010', 'Calle Rosendo Paz', 1900, '78624561');
insert into empleado values(2,'Herlan', 'Cuellar Balcazar',4655857, '13/12/2011', 
'Calle Betania', 2100, '77349541');
insert into empleado values(3,'Marlene', 'Herrera Fernandez',1694658, '26/04/1996', 
'Calle Santa Cruz', 2200, '71418561');
insert into empleado values(4,'Mario', 'Baracu Rojas',5468411, '13/11/1999', 
'Calle Santa Cruz', 2500, '76481192');
insert into empleado values(5,'Maria', 'Samamme Pinto',4564651, '14/09/2012', 
'Calle Potosi', 1950, '75214952');

insert into categoria values(1,'Disco Duro', '1');
insert into categoria values(2,'Lector DVDRW', '1');
insert into categoria values(3,'Memorias USB', '1');
insert into categoria values(4,'Impresora', '1');
insert into categoria values(5,'Monitor', '1');

insert into marca values(1,'Delux', 'brasilera', '1');
insert into marca values(2,'Intel', 'Americana', '1');
insert into marca values(3,'Sure', 'Argentina', '1');
insert into marca values(4,'LG', 'Chilena', '1');
insert into marca values(5,'Samsung', 'Japonesa', '1');
insert into marca values(6,'Sony', 'Japonesa', '1');
insert into marca values(7,'Canon', 'Brasilera', '1');
insert into marca values(8,'Epson', 'Americana', '1');
insert into marca values(9,'Pioner', 'Americana', '1');
insert into marca values(10,'Seagate', 'Americana', '1');
insert into marca values(11,'Toshiba', 'Taiwanesa', '1');
insert into marca values(12,'Kingston', 'Koreana', '1');
insert into marca values(13,'HP', 'Americana', '1');
insert into marca values(14,'Delux', 'brasilera', '1');

insert into proveedor values(1,'Orbital', 'Accesorios Informaticos', '1');
insert into proveedor values(2,'Tienda Chiriguano', 'Segundo Anillo', '1');
insert into proveedor values(3,'PROVTEC', 'Proveedores de Tecnologia', '1');
insert into proveedor values(4,'DMC', 'DISTRIBUIDOR MAYORISTA', '1');

insert into pedido values(1,100, 2000);
insert into pedido values(2,200, 1500);
insert into pedido values(3,150, 3000);
insert into pedido values(4,110, 1500);
insert into pedido values(5,100, 1000);

insert into traspaso values(1,'10/04/2014', 1, 2);
insert into traspaso values(2,'19/03/2015', 4, 3);
insert into traspaso values(3,'20/09/2014', 4, 3);
insert into traspaso values(4,'26/07/2014', 2, 4);
insert into traspaso values(5,'13/11/2014', 3, 2);

insert into producto values(1,'Flash Memory', '16 GB',25, 80, 95, 12, 3, '1' );
insert into producto values(2,'Flash Memory', '32 GB',25, 90, 110, 12, 3, '1' );
insert into producto values(3,'Flash Memory', '8 GB', 25, 60, 75, 13, 3, '1' );
insert into producto values(4,'Monitor', 'LED 24' , 25, 1100, 1300, 5, 5, '1' );
insert into producto values(5,'Monitor', 'LED 22 ', 25, 1000, 1100, 4, 5, '1' );
insert into producto values(6,'Impresora', 'Multifuncional MP140 ',25 , 450, 550, 7, 4, '1' );
insert into producto values(7,'Impresora', 'Multifuncional ', 25, 450, 550, 8, 4, '1' );
insert into producto values(8,'Lector de DVD', 'Lector y Quemador ',25, 110, 140, 9, 2, '1' );
insert into producto values(9,'Lector de DVD', 'Lector y Quemador', 25, 100, 120, 4, 2, '1' );
insert into producto values(10,'Disco Duro', '1 TB' , 25, 500, 600, 10, 1, '1' );
insert into producto values(11,'Disco Duro', '1.5 TB ',25, 600, 700, 10, 1, '1' );
insert into producto values(12,'Disco Duro', '1.5 TB ',25,  550, 650, 5, 1, '1' );

insert into Almacen values(1,'Sur', '334-5416', 'Avenida 3 pasos al frente');
insert into Almacen values(2,'Norte', '392-54116', 'Avenida Muyurina(Montero)');
insert into Almacen values(3,'Este', '392-54116', 'Avenida Avaroa(Yapacani)');
insert into Almacen values(4,'Central', '334-5000', 'Calle Mexico');

insert into Alm_Prod values(4, 1, 10,800);
insert into Alm_Prod values(4,2, 10,900);
insert into Alm_Prod values(4,3,10,6000);
insert into Alm_Prod values(4,4,10,11000);
insert into Alm_Prod values(4,5,10,10000);
insert into Alm_Prod values(4,6,10,4500);
insert into Alm_Prod values(4,7,10,4500);
insert into Alm_Prod values(4,8,10,1100);
insert into Alm_Prod values(4,9,10,1000);
insert into Alm_Prod values(4,10,10,5000);
insert into Alm_Prod values(4,11,10,6000);
insert into Alm_Prod values(4,12,10,5500);

insert into Alm_Prod values(1,1,5,400);
insert into Alm_Prod values(1,2,5,450);
insert into Alm_Prod values(1,3,5,3000);
insert into Alm_Prod values(1,4,5,5500);
insert into Alm_Prod values(1,5,5,5500);
insert into Alm_Prod values(1,6,5,2250);
insert into Alm_Prod values(1,7,5,2250);
insert into Alm_Prod values(1,8,5,550);
insert into Alm_Prod values(1,9,5,500);
insert into Alm_Prod values(1,10,5,2500);
insert into Alm_Prod values(1,11,5,3000);
insert into Alm_Prod values(1,12,5,2250);

insert into Alm_Prod values(2,1,5,400);
insert into Alm_Prod values(2,2,5,450);
insert into Alm_Prod values(2,3,5,3000);
insert into Alm_Prod values(2,4,5,5500);
insert into Alm_Prod values(2,5,5,5500);
insert into Alm_Prod values(2,6,5,2250);
insert into Alm_Prod values(2,7,5,2250);
insert into Alm_Prod values(2,8,5,550);
insert into Alm_Prod values(2,9,5,500);
insert into Alm_Prod values(2,10,5,2500);
insert into Alm_Prod values(2,11,5,3000);
insert into Alm_Prod values(2,12,5,2250);

insert into Alm_Prod values(3,1,5,400);
insert into Alm_Prod values(3,2,5,450);
insert into Alm_Prod values(3,3,5,3000);
insert into Alm_Prod values(3,4,5,5500);
insert into Alm_Prod values(3,5,5,5500);
insert into Alm_Prod values(3,6,5,2250);
insert into Alm_Prod values(3,7,5,2250);
insert into Alm_Prod values(3,8,5,550);
insert into Alm_Prod values(3,9,5,500);
insert into Alm_Prod values(3,10,5,2500);
insert into Alm_Prod values(3,11,5,3000);
insert into Alm_Prod values(3,12,5,2250);


insert into venta values(1,'1001', '16/03/15','15:00',  1, 4);
insert into venta values(2,'1002', '15/04/15','10:00',  3, 2);
insert into venta values(3,'1003', '06/04/15','13:00',  5, 1);
insert into venta values(4,'1004', '19/02/15','11:00',  2, 5);
insert into venta values(5,'1005', '22/01/15','18:00',  4, 1);

insert into compra values(1,'16/03/15', 1, 5);
insert into compra values(2,'16/03/15', 4, 3);
insert into compra values(3,'16/03/15', 2, 1);
insert into compra values(4,'16/03/15', 3, 4);
insert into compra values(5,'16/03/15', 4, 2);

insert into egreso values(1,'13/03/15','Devolucion al proveedor por falla', 5);
insert into egreso values(2,'14/03/15','Devolucion  por empaque abierto', 4);
insert into egreso values(3,'16/03/15','Devolucion por falta de mercaderia', 1);
insert into egreso values(4,'19/03/15','Devolucion al proveedor por falla', 3);
insert into egreso values(5,'23/03/15','Devolucion al proveedor empaque abierto', 2);

insert into ingreso values(1,'11/03/15','Devolucion del cliente por fallo', 3);
insert into ingreso values(2,'25/03/15','Devolucion del cliente unidad daada', 2);
insert into ingreso values(3,'16/03/15','Devolucion por falta de accesorios', 1);
insert into ingreso values(4,'09/03/15','Devolucion del cliente por fallo', 5);
insert into ingreso values(5,'19/03/15','Devolucion del client por unidad daada', 4);

insert into detalle_compra values(3,12,5, 5, 2750 );
insert into detalle_compra values(4,10,3, 5, 2500 );
insert into detalle_compra values(4,5,2, 5, 550 );
insert into detalle_compra values(1,1,1, 5, 400 );
insert into detalle_compra values(2,6,4, 5, 2250);

insert into detalle_egreso values(1,7,1, 5, 2250);
insert into detalle_egreso values(2,4,2, 5, 5500);
insert into detalle_egreso values(3,1,3, 5, 400);
insert into detalle_egreso values(4,2,4, 5, 450);
insert into detalle_egreso values(2,12,5, 5, 2750);


insert into detalle_ingreso values(3,8,3, 5, 700);
insert into detalle_ingreso values(2,7,4, 5, 2750);
insert into detalle_ingreso values(4,4,2, 5, 6500);
insert into detalle_ingreso values(1,5,1, 5, 5500);


insert into detalle_traspaso values(1,6,1, 2, 1100);
insert into detalle_traspaso values(2,4,5, 2, 2600);
insert into detalle_traspaso values(3,5,3, 2, 2200);
insert into detalle_traspaso values(4,11,4, 2, 1400);

insert into detalle_venta values(1,3,9, 3, 360);
insert into detalle_venta values(4,4,7, 2, 1100);
insert into detalle_venta values(5,1,5, 2, 2200);
insert into detalle_venta values(3,2,4, 2, 2600);
insert into detalle_venta values(2,3,10, 2, 1200);