-- Script generated by WinDev on 26/03/2018 10:24:03
-- Tables of Circle_K.wda analysis
-- for MySQL

-- Creating the Locaciones table
CREATE TABLE `Locaciones` (
    `LocacionesID` VARCHAR(50)  NOT NULL  PRIMARY KEY  DEFAULT '0',
    `TiendasID` VARCHAR(50) ,
    `Nombre` VARCHAR(50) ,
    `Activo` TINYINT DEFAULT 0,
    `Recepcion` TINYINT DEFAULT 0,
    `Salida` TINYINT DEFAULT 0,
    `Merma` TINYINT DEFAULT 0,
    `Memo1` VARCHAR(50) ,
    `Memo2` VARCHAR(50) ,
    `Memo3` VARCHAR(50) ,
    `Memo4` VARCHAR(50) ,
    `Memo5` VARCHAR(50) ,
    `Memo6` VARCHAR(50) ,
    `InternalVersion` INTEGER DEFAULT 0);
CREATE INDEX `WDIDX_Locaciones_TiendasID` ON `Locaciones` (`TiendasID`);
CREATE INDEX `WDIDX_Locaciones_Nombre` ON `Locaciones` (`Nombre`);
CREATE INDEX `WDIDX_Locaciones_Activo` ON `Locaciones` (`Activo`);
CREATE INDEX `WDIDX_Locaciones_Recepcion` ON `Locaciones` (`Recepcion`);
CREATE INDEX `WDIDX_Locaciones_Salida` ON `Locaciones` (`Salida`);
CREATE INDEX `WDIDX_Locaciones_Merma` ON `Locaciones` (`Merma`);

-- Creating the Locaciones_Kardex table
CREATE TABLE `Locaciones_Kardex` (
    `Locaciones_KardexID` VARCHAR(50)  PRIMARY KEY  DEFAULT '0',
    `PV_ArticulosID` VARCHAR(50) ,
    `PV_Articulos_LocacionesID` VARCHAR(50) ,
    `TipoKardexID` VARCHAR(50) ,
    `UsuariosID` VARCHAR(50) ,
    `TipoMovimientoID` VARCHAR(100) ,
    `MovimientoESID` VARCHAR(50) ,
    `Fecha` DATETIME DEFAULT NULL ,
    `Cantidad` INTEGER DEFAULT 0,
    `Total` INTEGER DEFAULT 0,
    `Memo1` VARCHAR(50) ,
    `Memo2` VARCHAR(50) ,
    `Memo3` VARCHAR(50) ,
    `Memo4` VARCHAR(50) ,
    `InternalVersion` INTEGER DEFAULT 0);
CREATE INDEX `WDIDX_Locaciones_Kardex_PV_ArticulosID` ON `Locaciones_Kardex` (`PV_ArticulosID`);
CREATE INDEX `WDIDX_Locaciones_Kardex_PV_Articulos_LocacionesID` ON `Locaciones_Kardex` (`PV_Articulos_LocacionesID`);
CREATE INDEX `WDIDX_Locaciones_Kardex_TipoKardexID` ON `Locaciones_Kardex` (`TipoKardexID`);
CREATE INDEX `WDIDX_Locaciones_Kardex_UsuariosID` ON `Locaciones_Kardex` (`UsuariosID`);
CREATE INDEX `WDIDX_Locaciones_Kardex_TipoMovimientoID` ON `Locaciones_Kardex` (`TipoMovimientoID`);
CREATE INDEX `WDIDX_Locaciones_Kardex_MovimientoESID` ON `Locaciones_Kardex` (`MovimientoESID`);
CREATE INDEX `WDIDX_Locaciones_Kardex_Fecha` ON `Locaciones_Kardex` (`Fecha`);

-- Creating the Locaciones_Traspaso table
CREATE TABLE `Locaciones_Traspaso` (
    `Locaciones_TraspasoID` VARCHAR(50)  NOT NULL  PRIMARY KEY  DEFAULT '0',
    `LocacionesID` VARCHAR(50) ,
    `Locacion_DestinoID` VARCHAR(50) ,
    `EstatusID` VARCHAR(50) ,
    `FolioTraspaso` VARCHAR(50) ,
    `UsuariosID` VARCHAR(50) ,
    `RecibioUsuarioID` VARCHAR(50) ,
    `EstatusAutorizacionID` VARCHAR(50) ,
    `UsuarioAutorizacionID` VARCHAR(50) ,
    `FechaAutorizacion` DATETIME DEFAULT NULL ,
    `Fecha` DATETIME DEFAULT NULL ,
    `Memo1` VARCHAR(50) ,
    `Memo2` VARCHAR(50) ,
    `Memo3` VARCHAR(50) ,
    `Memo4` VARCHAR(50) ,
    `InternalVersion` INTEGER DEFAULT 0);
CREATE INDEX `WDIDX_Locaciones_Traspaso_LocacionesID` ON `Locaciones_Traspaso` (`LocacionesID`);
CREATE INDEX `WDIDX_Locaciones_Traspaso_Locacion_DestinoID` ON `Locaciones_Traspaso` (`Locacion_DestinoID`);
CREATE INDEX `WDIDX_Locaciones_Traspaso_EstatusID` ON `Locaciones_Traspaso` (`EstatusID`);
CREATE INDEX `WDIDX_Locaciones_Traspaso_FolioTraspaso` ON `Locaciones_Traspaso` (`FolioTraspaso`);
CREATE INDEX `WDIDX_Locaciones_Traspaso_UsuariosID` ON `Locaciones_Traspaso` (`UsuariosID`);
CREATE INDEX `WDIDX_Locaciones_Traspaso_RecibioUsuarioID` ON `Locaciones_Traspaso` (`RecibioUsuarioID`);
CREATE INDEX `WDIDX_Locaciones_Traspaso_EstatusAutorizacionID` ON `Locaciones_Traspaso` (`EstatusAutorizacionID`);
CREATE INDEX `WDIDX_Locaciones_Traspaso_UsuarioAutorizacionID` ON `Locaciones_Traspaso` (`UsuarioAutorizacionID`);
CREATE INDEX `WDIDX_Locaciones_Traspaso_FechaAutorizacion` ON `Locaciones_Traspaso` (`FechaAutorizacion`);
CREATE INDEX `WDIDX_Locaciones_Traspaso_Fecha` ON `Locaciones_Traspaso` (`Fecha`);

-- Creating the Locaciones_Traspaso_Detalle table
CREATE TABLE `Locaciones_Traspaso_Detalle` (
    `Locaciones_Traspaso_DetalleID` VARCHAR(50)  PRIMARY KEY  DEFAULT '0',
    `Locaciones_TraspasoID` VARCHAR(50) ,
    `PV_ArticulosID` VARCHAR(50) ,
    `PV_Articulos_LocacionesID` VARCHAR(50) ,
    `Cantidad` INTEGER DEFAULT 0,
    `Memo1` VARCHAR(50) ,
    `Memo2` VARCHAR(50) ,
    `Memo3` VARCHAR(50) ,
    `Memo4` VARCHAR(50) ,
    `InternalVersion` INTEGER DEFAULT 0);
CREATE INDEX `WDIDX_Locaciones_Trasp_Detalle_Loc_TraspasoID` ON `Locaciones_Traspaso_Detalle` (`Locaciones_TraspasoID`);
CREATE INDEX `WDIDX_Locaciones_Trasp_Detalle_PV_ArticulosID` ON `Locaciones_Traspaso_Detalle` (`PV_ArticulosID`);
CREATE INDEX `WDIDX_Locaciones_Trasp_Detalle_PV_Articulos_LocID` ON `Locaciones_Traspaso_Detalle` (`PV_Articulos_LocacionesID`);

-- Creating the PV_Articulos_Locaciones table
CREATE TABLE `PV_Articulos_Locaciones` (
    `PV_Articulos_LocacionesID` VARCHAR(50)  NOT NULL  PRIMARY KEY  DEFAULT '0',
    `LocacionesID` VARCHAR(50) ,
    `TiendasID` VARCHAR(50) ,
    `PV_ArticulosID` VARCHAR(50) ,
    `Existencia` INTEGER DEFAULT 0,
    `Activo` TINYINT DEFAULT 0,
    `Memo1` VARCHAR(50) ,
    `Memo2` VARCHAR(50) ,
    `Memo3` VARCHAR(50) ,
    `Memo4` VARCHAR(50) ,
    `Memo5` VARCHAR(50) ,
    `Memo6` VARCHAR(50) ,
    `InternalVersion` INTEGER DEFAULT 0);
CREATE INDEX `WDIDX_PV_Articulos_Locaciones_LocacionesID` ON `PV_Articulos_Locaciones` (`LocacionesID`);
CREATE INDEX `WDIDX_PV_Articulos_Locaciones_TiendasID` ON `PV_Articulos_Locaciones` (`TiendasID`);
CREATE INDEX `WDIDX_PV_Articulos_Locaciones_PV_ArticulosID` ON `PV_Articulos_Locaciones` (`PV_ArticulosID`);
CREATE INDEX `WDIDX_PV_Articulos_Locaciones_Activo` ON `PV_Articulos_Locaciones` (`Activo`);

-- Creating the Usuarios_Locaciones table
CREATE TABLE `Usuarios_Locaciones` (
    `Usuarios_LocacionesID` VARCHAR(50)  PRIMARY KEY  DEFAULT '0',
    `LocacionesID` VARCHAR(50) ,
    `UsuariosID` VARCHAR(50) ,
    `Activo` TINYINT DEFAULT 0,
    `Memo1` VARCHAR(50) ,
    `Memo2` VARCHAR(50) ,
    `Memo3` VARCHAR(50) ,
    `InternalVersion` INTEGER DEFAULT 0);
CREATE INDEX `WDIDX_Usuarios_Locaciones_LocacionesID` ON `Usuarios_Locaciones` (`LocacionesID`);
CREATE INDEX `WDIDX_Usuarios_Locaciones_UsuariosID` ON `Usuarios_Locaciones` (`UsuariosID`);
CREATE INDEX `WDIDX_Usuarios_Locaciones_Activo` ON `Usuarios_Locaciones` (`Activo`);

-- Creating the Usuarios_Plazas table
CREATE TABLE `Usuarios_Plazas` (
    `Usuarios_PlazasID` VARCHAR(50)  PRIMARY KEY  DEFAULT '0',
    `PlazasID` VARCHAR(50) ,
    `UsuariosID` VARCHAR(50) ,
    `Activo` TINYINT DEFAULT 0,
    `CorreoElectronico` VARCHAR(50) ,
    `Memo1` VARCHAR(50) ,
    `Memo2` VARCHAR(50) ,
    `Memo3` VARCHAR(50) ,
    `InternalVersion` INTEGER DEFAULT 0);
CREATE INDEX `WDIDX_Usuarios_Plazas_PlazasID` ON `Usuarios_Plazas` (`PlazasID`);
CREATE INDEX `WDIDX_Usuarios_Plazas_UsuariosID` ON `Usuarios_Plazas` (`UsuariosID`);
CREATE INDEX `WDIDX_Usuarios_Plazas_Activo` ON `Usuarios_Plazas` (`Activo`);
-- Integrity Constraints
ALTER TABLE `Locaciones_Traspaso` ADD FOREIGN KEY (`LocacionesID`) REFERENCES `Locaciones` (`LocacionesID`);
ALTER TABLE `Usuarios_Locaciones` ADD FOREIGN KEY (`LocacionesID`) REFERENCES `Locaciones` (`LocacionesID`);
ALTER TABLE `PV_Articulos_Locaciones` ADD FOREIGN KEY (`LocacionesID`) REFERENCES `Locaciones` (`LocacionesID`);
ALTER TABLE `Locaciones_Traspaso_Detalle` ADD FOREIGN KEY (`PV_Articulos_LocacionesID`) REFERENCES `PV_Articulos_Locaciones` (`PV_Articulos_LocacionesID`);
ALTER TABLE `Locaciones_Traspaso_Detalle` ADD FOREIGN KEY (`Locaciones_TraspasoID`) REFERENCES `Locaciones_Traspaso` (`Locaciones_TraspasoID`);
ALTER TABLE `Locaciones_Kardex` ADD FOREIGN KEY (`PV_Articulos_LocacionesID`) REFERENCES `PV_Articulos_Locaciones` (`PV_Articulos_LocacionesID`);
