Upload
jose-angel-medina-mrtinez
View
460
Download
0
Embed Size (px)
Citation preview
DescripciónSe implementara una aplicación empresarial la cual llevara cabo las tareas de : Registro y modificación de la información de los
clientes con sus respectivos transportistas, proveedores y destinatarios.
Administración de bodegas y ubicaciones de la empresa con la posibilidad de eliminar o ingresar dependencias.
Mantención de ubicaciones disponibles, no disponibles y próximas para arrendar.
Manejo del ingreso de mercadería junto con el envió a destinatarios.
Modelo Físico
CREATE TABLE PERSONA ( RUT VARCHAR2(15 ) NOT NULL, RSOCIAL VARCHAR2(100) NOT NULL, DIRECCION VARCHAR2(100) NOT NULL, CIUDAD VARCHAR2(50) NOT NULL, TELEFONO VARCHAR2(10) NOT NULL, EMAIL VARCHAR2(70 ) NOT NULL, EDAD NUMBER(3,0) NOT NULL, PRIMARY KEY (RUT) ) ;
CREATE TABLE CLIENTE( RUT VARCHAR2(15 ) NOT NULL , DESCUENTO NUMBER(4,0), CLASIFICACION VARCHAR2(10), FOREIGN KEY (RUT) REFERENCES PERSONA (RUT) PRIMARY KEY (RUT) ) ;
Modelo Físico
CREATE TABLE PROVEEDOR( RUT VARCHAR2(15 ) NOT NULL, FOREIGN KEY (RUT) REFERENCES PERSONA (RUT) , PRIMARY KEY (RUT) ) ;
CREATE TABLE DESTINATARIO( RUT_DEST VARCHAR2(15) NOT NULL, RUT_CLIE VARCHAR2(15) NOT NULL, FOREIGN KEY (RUT_CLIE) REFERENCES CLIENTE (RUT) , PRIMARY KEY (RUT_DEST,RUT_CLIE) ) ;
Modelo Físico
CREATE TABLE TRANSPORTISTA ( RUT VARCHAR2(15) NOT NULL , FOREIGN KEY (RUT) REFERENCES PERSONA (RUT), PRIMARY KEY (RUT) ) ;
CREATE TABLE REL_CLIE_TRANS( RUT_CLIE VARCHAR2(15) NOT NULL, RUT_TRANS VARCHAR2(15) NOT NULL, FOREIGN KEY (RUT_CLIE) REFERENCES CLIENTE(RUT) , FOREIGN KEY (RUT_TRANS) REFERENCES TRANSPORTISTA (RUT) , PRIMARY KEY (RUT_CLIE, RUT_TRANS) ) ;
CREATE TABLE REL_CLIE_PVD( RUT_CLIE VARCHAR2(15 ) NOT NULL, RUT_PVD VARCHAR2(15) NOT NULL, FOREIGN KEY (RUT_CLIE) REFERENCES CIENTE (RUT), FOREIGN KEY (RUT_PVD) REFERENCES PROVEEDOR (RUT), PRIMARY KEY (RUT_CLIE, RUT_PVD );
CREATE TABLE BODEGA( ID_BODEGA NUMBER NOT NULL, NOMBRE_BODEGA VARCHAR2(20) NOT NULL , CONSTRAINT BODEGA_PK PRIMARY KEY (ID_BODEGA) );
Modelo Físico
Modelo Físico
CREATE TABLE UBICACION( ID_UBICACION NUMBER NOT NULL, PASILLO VARCHAR2(20) NOT NULL, ANCHO NUMBER NOT NULL, LARGO NUMBER NOT NULL, ALTURA NUMBER NOT NULL, ESTADO NUMBER NOT NULL, ID_BODEGA NUMBER NOT NULL, VOLUMEN NUMBER NOT NULL, TAMAÑO VARCHAR2(20) NOT NULL, CONSTRAINT UBICACION_PK PRIMARY KEY (ID_UBICACION));
CREATE TABLE CAMION( PATENTE VARCHAR2(15) NOT NULL, MARCA VARCHAR2(15) NOT NULL, MODELO VARCHAR2(15) NOT NULL, YEAR DATE NOT NULL , RUT_PROPIETARIO VARCHAR2(15) NOT NULL, FOREIGN KEY (RUT_PROPIETARIO) REFERENCES TRANSPORTISTA (RUT), CONSTRAINT SYS_C004631 PRIMARY KEY (PATENTE) ) ;
Modelo Físico
CREATE TABLE RESERVA ( CODIGO_RESERVA NUMBER(4,0) NOT NULL, RUT_CLIE VARCHAR2(15 BYTE) NOT NULL , ID_UBICACION NUMBER NOT NULL, FECHA_INICIO DATE, FECHA_TERMINO DATE, ESTADO_RESERVA CHAR(1), FOREIGN KEY (RUT_CLIE) REFERENCES CLIENTE (RUT) FOREIGN KEY (ID_UBICACION) REFERENCES UBICACION (ID_UBICACION) , PRIMARY KEY (RUT_CLIE, ID_UBICACION, FECHA_INICIO) ) ;
CREATE TABLE CLASIFICACION( CODIGO NUMBER(9,0) NOT NULL, DESCRIPCION VARCHAR2(20) NOT NULL, PRIMARY KEY (CODIGO) );
Modelo Físico
CREATE TABLE ARTICULO ( CODIGO_PRODU NUMBER(5,0) NOT NULL, RUT_PVD VARCHAR2(15 BYTE) NOT NULL , DESCRIPCION NUMBER(5,0) NOT NULL, LARGO NUMBER(9,0) NOT NULL, ANCHO NUMBER(9,0) NOT NULL, PRECIO NUMBER(9,0) NOT NULL, ESTADOASEGURADO NUMBER(2,0) NOT NULL, FOREIGN KEY (RUT_PVD) REFERENCES PROVEEDOR (RUT), FOREIGN KEY (DESCRIPCION) REFERENCES CLASIFICACION(CODIGO), PRIMARY KEY (CODIGO_PRODU, RUT_PVD) ) ;
CREATE TABLE UBICACION( ID_UBICACION NUMBER NOT NULL, PASILLO VARCHAR2(20) NOT NULL, ANCHO NUMBER NOT NULL, LARGO NUMBER NOT NULL, ALTURA NUMBER NOT NULL, ESTADO NUMBER NOT NULL, ID_BODEGA NUMBER NOT NULL, VOLUMEN NUMBER NOT NULL, TAMAÑO VARCHAR2(20) NOT NULL, CONSTRAINT UBICACION_PK PRIMARY KEY (ID_UBICACION));
Modelo Físico
CREATE TABLE ENTRADA_MERCADERIA( CODIGO_ENTRADA NUMBER(9,0) NOT NULL, FECHA_ENTRADA DATE, PATENTE_CAMION VARCHAR2(15) NOT NULL, FOREIGN KEY (PATENTE_CAMION) REFERENCES CAMION (PATENTE), PRIMARY KEY (CODIGO_ENTRADA) ) ;
CREATE TABLE DETALLE_LISTA_CLIE( FOLIO VARCHAR2(15) NOT NULL, CODIGO_PRODU NUMBER(5,0) NOT NULL, FECHA_SALID DATE NOT NULL, CANTIDAD NUMBER(9,0), PRIMARY KEY (FOLIO, CODIGO_PRODU, FECHA_SALIDA) ) ;
Modelo Físico CREATE TABLE ENTRA_A_UBICACION( ID_UBICACION NUMBER (5,0)NOT NULL, CODIGO_ENTRADA NUMBER(9,0) NOT NULL, CODIGO_PRODU NUMBER(5,0), FECHA_HORA DATE NOT NULL, FECHA_RETIRO DATE, CANTIDAD_INICIAL NUMBER (9,0), STOCK NUMBER(9,0), FOREIGN KEY(ID_UBICACION) REFERENCES UBICACION(ID_UBICACION ), FOREIGN KEY (CODIGO_PRODU) REFERENCES ARTICULO(CODIGO_PRODU), FOREIGN KEY(CODIGO_ENTRADA) REFERENCES ENTRADA_MERCADERIA(CODIGO_ENTRADA), PRIMARY KEY(ID_UBICACION, CODIGO_ENTRADA, FECHA_HORA) );
CREATE TABLE LISTA_SALIDA( FOLIO VARCHAR2(15) NOT NULL, RUT_CLIE VARCHAR2(15 BYTE) NOT NULL, FECHA DATE, PRIMARY KEY (FOLIO, RUT_CLIE) ) ;
Modelo Físico CREATE OR REPLACE FORCE VIEW RESERVASPOSIBLES (UBICACION, PASILLO, NOMBRE_BODEGA, DIAS_RESTANTES) AS SELECT a.id_ubicacion AS ubicacion, b.pasillo,c.nombre_bodega, trunc(((sysdate –to_date(A.fecha_termino,'dd/mm/yy'))*-1)+1)as dias_restantesFROM reserva a INNER JOIN ubicacion bON(a.id_ubicacion=b.id_ubicacion)INNER JOIN bodega c ON(b.id_bodega = c.id_bodega) where b.estado = '1'AND trunc((sysdate - to_date(a.fecha_termino,'dd/mm/yy'))*-1) <= 3;