Estructura de aplicación en PHP para System i

Anuncio
Estructura de aplicación en PHP para System i
La aplicación esta diseñada para IBM DB2 en System i, UNIX y Windows.
Se trata de la gestión de una entidad deportiva.
A modo de ejemplo de como está desarrollada se presentan capturas de
diversas pantallas.
En su construcción se hace uso intensivo de la tecnología Ajax, aportando
una funcionalidad semejante a otras aplicaciones de escritorio.
Se ha probado exhaustivamente su funcionamiento en Internet Explorer
que actualmente es considerado de uso mayoritario en los navegadores
de escritorio.
El código fuente del ejemplo se puede obtener en el siguiente enlace:
http://www.marce.com/docs/systems/anexos/deporweb.exe
Archivo: listado_alumnos_monitor.log
Monitor: 0001 | Codigo servicio: 002 | Id linea: 001 | Fecha inicio: 02/01/2012 | Fecha fin: 02/03/2012 |
02/01/2012 | Numero: 0000000002 | Numero socio: 00000002 | Puerta: 002 | Hora: 2012-01-02 09:02:00.000000
apellidos: SOCIO-B APELLIDO1-B APELLIDO2-B
Monitor: 0001 | Codigo servicio: 003 | Id linea: 001 | Fecha inicio: 03/01/2012 | Fecha fin: 03/03/2012 |
03/01/2012 | Numero: 0000000003 | Numero socio: 00000003 | Puerta: 003 | Hora: 2012-01-03 09:03:00.000000
apellidos: SOCIO-C APELLIDO1-C APELLIDO2-C
Monitor: 0001 | Codigo servicio: 004 | Id linea: 001 | Fecha inicio: 04/01/2012 | Fecha fin: 04/03/2012 |
04/01/2012 | Numero: 0000000004 | Numero socio: 00000004 | Puerta: 004 | Hora: 2012-01-04 09:04:00.000000
apellidos: SOCIO-D APELLIDO1-D APELLIDO2-D
Monitor: 0001 | Codigo servicio: 005 | Id linea: 001 | Fecha inicio: 05/01/2012 | Fecha fin: 05/03/2012 |
05/01/2012 | Numero: 0000000005 | Numero socio: 00000005 | Puerta: 005 | Hora: 2012-01-05 09:05:00.000000
apellidos: SOCIO-E APELLIDO1-E APELLIDO2-E
Monitor: 0001 | Codigo servicio: 006 | Id linea: 001 | Fecha inicio: 06/01/2012 | Fecha fin: 06/03/2012 |
06/01/2012 | Numero: 0000000006 | Numero socio: 00000006 | Puerta: 006 | Hora: 2012-01-06 09:06:00.000000
apellidos: SOCIO-F APELLIDO1-F APELLIDO2-F
Monitor: 0001 | Codigo servicio: 009 | Id linea: 001 | Fecha inicio: 09/01/2012 | Fecha fin: 09/03/2012 |
09/01/2012 | Numero: 0000000009 | Numero socio: 00000009 | Puerta: 003 | Hora: 2012-01-09 09:09:00.000000
apellidos: SOCIO-I APELLIDO1-I APELLIDO2-I
Monitor: 0001 | Codigo servicio: 010 | Id linea: 001 | Fecha inicio: 10/01/2012 | Fecha fin: 10/03/2012 |
10/01/2012 | Numero: 0000000010 | Numero socio: 00000010 | Puerta: 004 | Hora: 2012-01-10 09:10:00.000000
apellidos: SOCIO-J APELLIDO1-J APELLIDO2-J
Monitor: 0001 | Codigo servicio: 011 | Id linea: 001 | Fecha inicio: 11/01/2012 | Fecha fin: 11/03/2012 |
11/01/2012 | Numero: 0000000011 | Numero socio: 00000011 | Puerta: 005 | Hora: 2012-01-11 09:11:00.000000
apellidos: SOCIO-K APELLIDO1-K APELLIDO2-K
Monitor: 0001 | Codigo servicio: 012 | Id linea: 001 | Fecha inicio: 12/01/2012 | Fecha fin: 12/03/2012 |
12/01/2012 | Numero: 0000000012 | Numero socio: 00000012 | Puerta: 006 | Hora: 2012-01-12 09:12:00.000000
apellidos: SOCIO-L APELLIDO1-L APELLIDO2-L
Monitor: 0001 | Codigo servicio: 012 | Id linea: 001 | Fecha inicio: 12/01/2012 | Fecha fin: 12/03/2012 |
12/03/2012 | Numero: 0000000013 | Numero socio: 00000012 | Puerta: 001 | Hora: 2012-03-12 09:13:00.000000
apellidos: SOCIO-L APELLIDO1-L APELLIDO2-L
Data:
| Nombre
Data:
| Nombre
Data:
| Nombre
Data:
| Nombre
Data:
| Nombre
Data:
| Nombre
Data:
| Nombre
Data:
| Nombre
Data:
| Nombre
Data:
| Nombre
Página: 1
CreateTables.sql
-- Create schema
CREATE SCHEMA DEPORWEB;
SET SCHEMA DEPORWEB;
-- Tabla cobros
CREATE TABLE COBROS (
SERIE_COBRO CHAR(1) NOT NULL,
NUMERO_COBRO CHAR(10) NOT NULL,
TIPO_ORIGEN NUMERIC(1) NOT NULL,
CODIGO_ORIGEN CHAR(10) NOT NULL);
ALTER TABLE COBROS ADD CONSTRAINT COBROS_CLAVE PRIMARY KEY(SERIE_COBRO, NUMERO_COBRO);
-- Tabla codpos
CREATE TABLE CODPOS (
CP CHAR(5) NOT NULL,
POBLACION CHAR(50) NOT NULL);
ALTER TABLE CODPOS ADD CONSTRAINT CODPOS_CLAVE PRIMARY KEY(CP,POBLACION);
-- Tabla contadores
CREATE TABLE CONTADORES (
NOMBRE CHAR(30) NOT NULL,
VALOR NUMERIC(10) NOT NULL);
ALTER TABLE CONTADORES ADD CONSTRAINT CONTADORES_CLAVE PRIMARY KEY(NOMBRE);
-- Tabla ctrl_accesos
CREATE TABLE CTRL_ACCESOS (
CODIGO CHAR(10) NOT NULL,
CODIGO_PUERTA CHAR(3) NOT NULL,
CODIGO_SOCIO CHAR(8) NOT NULL,
FECHA_HORA TIMESTAMP NOT NULL);
ALTER TABLE CTRL_ACCESOS ADD CONSTRAINT CTRL_ACCESOS_CLAVE PRIMARY KEY(CODIGO);
-- Tabla cuotas_esp
CREATE TABLE CUOTAS_ESP (
CODIGO_CUOTA CHAR(10) NOT NULL,
CODIGO_CUO_ESP CHAR(3) NOT NULL,
DESCRIPCION CHAR(50) NOT NULL,
IMPORTE NUMERIC(9, 2) NOT NULL,
CODIGO_ESPACIO CHAR(10) NOT NULL,
ESTADO CHAR(1) NOT NULL,
CODIGO_IVA CHAR(2) NOT NULL,
IMP_IVA NUMERIC(9, 2) NOT NULL);
ALTER TABLE CUOTAS_ESP ADD CONSTRAINT CUOTAS_ESP_CLAVE PRIMARY KEY(CODIGO_CUOTA);
-- Tabla entidad
CREATE TABLE ENTIDAD (
RAZON_SOCIAL CHAR(50) NOT NULL,
NOMBRE CHAR(50) NOT NULL,
NIF CHAR(15) NOT NULL,
DIRECCION CHAR(50) NOT NULL,
CP CHAR(5) NOT NULL,
POBLACION CHAR(50) NOT NULL,
PROVINCIA CHAR(40) NOT NULL,
TELEFONO_1 CHAR(15) NOT NULL,
TELEFONO_2 CHAR(15) NOT NULL,
FAX CHAR(15) NOT NULL,
Página 1
CreateTables.sql
WEB CHAR(200) NOT NULL,
EMAIL CHAR(200) NOT NULL,
NUM_SOCIOS CHAR(8) NOT NULL,
LOGO BLOB(1048576) NOT NULL);
ALTER TABLE ENTIDAD ADD CONSTRAINT ENTIDAD_CLAVE PRIMARY KEY(RAZON_SOCIAL);
-- Tabla espacios
CREATE TABLE ESPACIOS (
CODIGO_ESPACIO CHAR(10) NOT NULL,
DESCRIPCION CHAR(100) NOT NULL,
REFERENCIA CHAR(4) NOT NULL,
N_NIVEL_1 CHAR(5) NOT NULL,
N_NIVEL_2 CHAR(5) NOT NULL,
N_NIVEL_3 CHAR(5) NOT NULL,
N_NIVEL_4 CHAR(5) NOT NULL,
F_ALTA DATE NOT NULL,
F_INICIO DATE NOT NULL,
F_FIN DATE NOT NULL,
N_PLAZAS NUMERIC(5) NOT NULL,
RESERVABLE NUMERIC(1) NOT NULL,
ESTADO CHAR(1) NOT NULL,
LUN SMALLINT NOT NULL,
LUN_H_INICIO CHAR(5) NOT NULL,
LUN_H_FIN CHAR(5) NOT NULL,
LUN_DURACION CHAR(5) NOT NULL,
MAR SMALLINT NOT NULL,
MAR_H_INICIO CHAR(5) NOT NULL,
MAR_H_FIN CHAR(5) NOT NULL,
MAR_DURACION CHAR(5) NOT NULL,
MIE SMALLINT NOT NULL,
MIE_H_INICIO CHAR(5) NOT NULL,
MIE_H_FIN CHAR(5) NOT NULL,
MIE_DURACION CHAR(5) NOT NULL,
JUE SMALLINT NOT NULL,
JUE_H_INICIO CHAR(5) NOT NULL,
JUE_H_FIN CHAR(5) NOT NULL,
JUE_DURACION CHAR(5) NOT NULL,
VIE SMALLINT NOT NULL,
VIE_H_INICIO CHAR(5) NOT NULL,
VIE_H_FIN CHAR(5) NOT NULL,
VIE_DURACION CHAR(5) NOT NULL,
SAB SMALLINT NOT NULL,
SAB_H_INICIO CHAR(5) NOT NULL,
SAB_H_FIN CHAR(5) NOT NULL,
SAB_DURACION CHAR(5) NOT NULL,
DOM SMALLINT NOT NULL,
DOM_H_INICIO CHAR(5) NOT NULL,
DOM_H_FIN CHAR(5) NOT NULL,
DOM_DURACION CHAR(5) NOT NULL);
ALTER TABLE ESPACIOS ADD CONSTRAINT ESPACIOS_CLAVE PRIMARY KEY(CODIGO_ESPACIO);
-- Tabla festivos_esp
CREATE TABLE FESTIVOS_ESP (
CODIGO_FEST CHAR(10) NOT NULL,
FECHA DATE NOT NULL,
DESCRIPCION CHAR(50) NOT NULL,
CODIGO_ESPACIO CHAR(10) NOT NULL,
ESTADO CHAR(1) NOT NULL);
ALTER TABLE FESTIVOS_ESP ADD CONSTRAINT FESTIVOS_ESP_CLAVE PRIMARY KEY(CODIGO_FEST);
Página 2
CreateTables.sql
-- Tabla horarios_serv
CREATE TABLE HORARIOS_SERV (
CODIGO_SERVICIO CHAR(3) NOT NULL,
CODIGO_LINEA CHAR(3) NOT NULL,
F_INICIO DATE NOT NULL,
F_FIN DATE NOT NULL,
N_PLAZAS NUMERIC(4) NOT NULL,
CODIGO_MONITOR CHAR(4) NOT NULL,
CODIGO_ESPACIO CHAR(10) NOT NULL,
PUERTA_1 CHAR(3) NOT NULL,
PUERTA_2 CHAR(3) NOT NULL,
PUERTA_3 CHAR(3) NOT NULL,
PUERTA_4 CHAR(3) NOT NULL,
OBSERVACIONES CHAR(60) NOT NULL,
REFERENCIA CHAR(30) NOT NULL,
LUN SMALLINT NOT NULL,
LUN_H_INICIO CHAR(5) NOT NULL,
LUN_H_FIN CHAR(5) NOT NULL,
MAR SMALLINT NOT NULL,
MAR_H_INICIO CHAR(5) NOT NULL,
MAR_H_FIN CHAR(5) NOT NULL,
MIE SMALLINT NOT NULL,
MIE_H_INICIO CHAR(5) NOT NULL,
MIE_H_FIN CHAR(5) NOT NULL,
JUE SMALLINT NOT NULL,
JUE_H_INICIO CHAR(5) NOT NULL,
JUE_H_FIN CHAR(5) NOT NULL,
VIE SMALLINT NOT NULL,
VIE_H_INICIO CHAR(5) NOT NULL,
VIE_H_FIN CHAR(5) NOT NULL,
SAB SMALLINT NOT NULL,
SAB_H_INICIO CHAR(5) NOT NULL,
SAB_H_FIN CHAR(5) NOT NULL,
DOM SMALLINT NOT NULL,
DOM_H_INICIO CHAR(5) NOT NULL,
DOM_H_FIN CHAR(5) NOT NULL);
ALTER TABLE HORARIOS_SERV ADD CONSTRAINT HORARIOS_SERV_CLAVE PRIMARY
KEY(CODIGO_SERVICIO,CODIGO_LINEA);
-- Tabla imp_serv_edad
CREATE TABLE IMP_SERV_EDAD (
CODIGO_SERVICIO CHAR(3) NOT NULL,
NUMERO_LINEA INT NOT NULL,
EDAD_INICIAL NUMERIC(3) NOT NULL,
EDAD_FINAL NUMERIC(3) NOT NULL,
CODIGO_IVA CHAR(2) NOT NULL,
IMP_PLAZ_SOC NUMERIC(10, 2) NOT NULL,
IMP_PLAZ_NOS NUMERIC(10, 2) NOT NULL,
IVA_PLAZ_SOC NUMERIC(9, 2) NOT NULL,
IVA_PLAZ_NOS NUMERIC(9, 2) NOT NULL,
TOT_PLAZ_SOC NUMERIC(10, 2) NOT NULL,
TOT_PLAZ_NOS NUMERIC(10, 2) NOT NULL,
IMP_CONT_SOC NUMERIC(10, 2) NOT NULL,
IMP_CONT_NOS NUMERIC(10, 2) NOT NULL,
IVA_CONT_SOC NUMERIC(10, 2) NOT NULL,
IVA_CONT_NOS NUMERIC(10, 2) NOT NULL,
TOT_CONT_SOC NUMERIC(10, 2) NOT NULL,
TOT_CONT_NOS NUMERIC(10, 2) NOT NULL);
ALTER TABLE IMP_SERV_EDAD ADD CONSTRAINT IMP_SERV_EDAD_CLAVE PRIMARY
Página 3
CreateTables.sql
KEY(CODIGO_SERVICIO,NUMERO_LINEA);
-- Tabla inscripcion_serv
CREATE TABLE INSCRIPCION_SERV (
CODIGO_INSCRIPCION CHAR(10) NOT NULL,
DESCRIPCION CHAR(50) NOT NULL,
CODIGO_SERVICIO CHAR(3) NOT NULL,
CODIGO_LINEA CHAR(3) NOT NULL,
CODIGO_SOCIO CHAR(8) NOT NULL,
CODIGO_PERSONA CHAR(10) NOT NULL,
F_INSCRIPCION DATE NOT NULL,
F_BAJA DATE NOT NULL,
PRIORIDAD NUMERIC(1) NOT NULL,
RAZON_PRIORIDAD CHAR(50) NOT NULL,
ESTADO NUMERIC(1) NOT NULL,
TIPO_CUOTA CHAR(2) NOT NULL,
N_RECIBOS NUMERIC(4) NOT NULL,
MES_RECIBO_1 CHAR(2) NOT NULL,
CODIGO_IVA CHAR(2) NOT NULL,
IMPORTE_SERV NUMERIC(9, 2) NOT NULL,
IVA_SERV NUMERIC(9, 2) NOT NULL,
TOTAL_SERV NUMERIC(9, 2) NOT NULL,
PAGADA_ALTA NUMERIC(1) NOT NULL,
COBRADO_TODO NUMERIC(1) NOT NULL,
P_PROPORCIONAL NUMERIC(1) NOT NULL,
F_ULTIMA_FAC DATE NOT NULL);
ALTER TABLE INSCRIPCION_SERV ADD CONSTRAINT INSCRIPCION_SERV_CLAVE PRIMARY
KEY(CODIGO_INSCRIPCION);
-- Tabla lineas_factura
CREATE TABLE LINEAS_FACTURA (
SERIE_FACTURA CHAR(1) NOT NULL,
NUMERO_FACTURA CHAR(10) NOT NULL,
TIPO_ORIGEN NUMERIC(1) NOT NULL,
CODIGO_ORIGEN CHAR(10) NOT NULL);
ALTER TABLE LINEAS_FACTURA ADD CONSTRAINT LINEAS_FACTURA_CLAVE PRIMARY
KEY(SERIE_FACTURA,NUMERO_FACTURA);
-- Tabla medios
CREATE TABLE MEDIOS (
CODIGO CHAR(2) NOT NULL,
DESCRIPCION CHAR(50) NOT NULL);
ALTER TABLE MEDIOS ADD CONSTRAINT MEDIOS_CLAVE PRIMARY KEY(CODIGO);
-- Tabla monitores
CREATE TABLE MONITORES (
CODIGO_MONITOR CHAR(4) NOT NULL,
NOMBRE CHAR(30) NOT NULL,
APELLIDO_1 CHAR(30) NOT NULL,
APELLIDO_2 CHAR(30) NOT NULL,
DNI CHAR(15) NOT NULL,
DIRECCION_1 CHAR(50) NOT NULL,
DIRECCION_2 CHAR(50) NOT NULL,
CP CHAR(5) NOT NULL,
POBLACION CHAR(50) NOT NULL,
PROVINCIA CHAR(50) NOT NULL,
TELEFONO_1 CHAR(15) NOT NULL,
TELEFONO_2 CHAR(15) NOT NULL,
OBSERVACIONES VARCHAR(2000) NOT NULL);
Página 4
CreateTables.sql
ALTER TABLE MONITORES ADD CONSTRAINT MONITORES_CLAVE PRIMARY KEY(CODIGO_MONITOR);
-- Tabla niveles
CREATE TABLE NIVELES (
CODIGO CHAR(2) NOT NULL,
DESCRIPCION CHAR(50) NOT NULL);
ALTER TABLE NIVELES ADD CONSTRAINT NIVELES_CLAVE PRIMARY KEY(CODIGO);
-- Tabla personas
CREATE TABLE PERSONAS (
CODIGO_PERSONA CHAR(10) NOT NULL,
NOMBRE CHAR(30) NOT NULL,
APELLIDO_1 CHAR(30) NOT NULL,
APELLIDO_2 CHAR(30) NOT NULL,
DNI CHAR(15) NOT NULL,
DIRECCION CHAR(50) NOT NULL,
CP CHAR(5) NOT NULL,
POBLACION CHAR(50) NOT NULL,
PROVINCIA CHAR(40) NOT NULL,
TELEFONO_1 CHAR(15) NOT NULL,
TELEFONO_2 CHAR(15) NOT NULL,
EMAIL CHAR(100) NOT NULL,
F_NACIMIENTO DATE NOT NULL,
FOTO BLOB(524288) NOT NULL);
ALTER TABLE PERSONAS ADD CONSTRAINT PERSONAS_CLAVE PRIMARY KEY(CODIGO_PERSONA);
-- Tabla provincias
CREATE TABLE PROVINCIAS (
CODIGO CHAR(2) NOT NULL,
PROVINCIA CHAR(13) NOT NULL);
ALTER TABLE PROVINCIAS ADD CONSTRAINT PROVINCIAS_CLAVE PRIMARY KEY(CODIGO);
-- Tabla puertas
CREATE TABLE PUERTAS (
CODIGO CHAR(3) NOT NULL,
DESCRIPCION CHAR(70) NOT NULL);
ALTER TABLE PUERTAS ADD CONSTRAINT PUERTAS_CLAVE PRIMARY KEY(CODIGO);
-- Tabla reservas
CREATE TABLE RESERVAS (
CODIGO_RESERVA CHAR(10) NOT NULL,
CODIGO_ESPACIO CHAR(10) NOT NULL,
CODIGO_CUOTA CHAR(10) NOT NULL,
FECHA DATE NOT NULL,
H_INICIO CHAR(5) NOT NULL,
H_FIN CHAR(5) NOT NULL,
RESERVADO SMALLINT NOT NULL,
CODIGO_SOCIO CHAR(8) NOT NULL,
COBRADO SMALLINT NOT NULL,
IMPORTE NUMERIC(9, 2) NOT NULL,
FESTIVO SMALLINT NOT NULL,
CODIGO_SRV_LIN CHAR(6) NOT NULL,
ESTADO CHAR(1) NOT NULL,
NOMBRE CHAR(40) NOT NULL,
OBSERVACIONES CHAR(60) NOT NULL,
FECHA_REGISTRO DATE NOT NULL);
Página 5
CreateTables.sql
ALTER TABLE RESERVAS ADD CONSTRAINT RESERVAS_CLAVE PRIMARY KEY(CODIGO_RESERVA);
-- Tabla servicios
CREATE TABLE SERVICIOS (
CODIGO_SERVICIO CHAR(3) NOT NULL,
DESCRIPCION CHAR(50) NOT NULL,
F_ALTA DATE NOT NULL,
F_BAJA DATE NOT NULL,
N_RECIBOS NUMERIC(4) NOT NULL,
N_SESIONES CHAR(2) NOT NULL,
TIPO_SERVICIO CHAR(3) NOT NULL,
TIPO_CUOTA CHAR(2) NOT NULL,
NIVEL_DESEADO CHAR(2) NOT NULL,
NIVEL_MINIMO CHAR(2) NOT NULL,
OBSERVACIONES VARCHAR(2000) NOT NULL,
REFERENCIA CHAR(15) NOT NULL,
CTRL_USO_ACCESO NUMERIC(1) NOT NULL,
INSCR_SEMANAL NUMERIC(1) NOT NULL,
ACREDITACION CHAR(8) NOT NULL,
MESES_CADENCIA CHAR(2) NOT NULL,
SERV_CADUCADO NUMERIC(1) NOT NULL,
CTRL_INSCRITOS NUMERIC(1) NOT NULL,
MIN_PREV_ENT NUMERIC(2) NOT NULL,
CODIGO_IVA CHAR(2) NOT NULL,
IMP_PLAZ_SOC NUMERIC(10, 2) NOT NULL,
IMP_PLAZ_NOS NUMERIC(10, 2) NOT NULL,
IVA_PLAZ_SOC NUMERIC(9, 2) NOT NULL,
IVA_PLAZ_NOS NUMERIC(9, 2) NOT NULL);
ALTER TABLE SERVICIOS ADD CONSTRAINT SERVICIOS_CLAVE PRIMARY KEY(CODIGO_SERVICIO);
-- Tabla servicios_monitor
CREATE TABLE SERVICIOS_MONITOR (
CODIGO_MONITOR CHAR(4) NOT NULL,
CODIGO_SRV_LIN CHAR(6) NOT NULL,
F_INICIO DATE NOT NULL,
F_FIN DATE NOT NULL,
DESCRIPCION CHAR(40) NOT NULL,
REFERENCIA CHAR(30) NOT NULL);
ALTER TABLE SERVICIOS_MONITOR ADD CONSTRAINT SERVICIOS_MONITOR_CLAVE PRIMARY
KEY(CODIGO_MONITOR,CODIGO_SRV_LIN);
-- Tabla socios
CREATE TABLE SOCIOS (
CODIGO_SOCIO CHAR(8) NOT NULL,
NOMBRE CHAR(30) NOT NULL,
APELLIDO_1 CHAR(30) NOT NULL,
APELLIDO_2 CHAR(30) NOT NULL,
DNI CHAR(15) NOT NULL,
DIRECCION CHAR(50) NOT NULL,
CP CHAR(5) NOT NULL,
POBLACION CHAR(50) NOT NULL,
PROVINCIA CHAR(40) NOT NULL,
TELEFONO_1 CHAR(15) NOT NULL,
TELEFONO_2 CHAR(15) NOT NULL,
EMAIL CHAR(100) NOT NULL,
F_NACIMIENTO DATE NOT NULL,
FOTO BLOB(524288) NOT NULL);
ALTER TABLE SOCIOS ADD CONSTRAINT SOCIOS_CLAVE PRIMARY KEY(CODIGO_SOCIO);
Página 6
CreateTables.sql
-- Tabla tipos_cuota
CREATE TABLE TIPOS_CUOTA (
CODIGO CHAR(2) NOT NULL,
DESCRIPCION CHAR(50) NOT NULL);
ALTER TABLE TIPOS_CUOTA ADD CONSTRAINT TIPOS_CUOTA_CLAVE PRIMARY KEY(CODIGO);
-- Tabla tipos_iva
CREATE TABLE TIPOS_IVA (
CODIGO CHAR(2) NOT NULL,
DESCRIPCION CHAR(50) NOT NULL,
PORCENTAJE NUMERIC(4, 2) NOT NULL);
ALTER TABLE TIPOS_IVA ADD CONSTRAINT TIPOS_IVA_CLAVE PRIMARY KEY(CODIGO);
-- Tabla tipos_servicio
CREATE TABLE TIPOS_SERVICIO (
CODIGO CHAR(3) NOT NULL,
DESCRIPCION CHAR(50) NOT NULL,
OBSERVACIONES VARCHAR(2000) NOT NULL);
ALTER TABLE TIPOS_SERVICIO ADD CONSTRAINT TIPOS_SERVICIO_CLAVE PRIMARY KEY(CODIGO);
-- Tabla usuarios
CREATE TABLE USUARIOS (
USUARIO CHAR(20) NOT NULL,
NOMBRE CHAR(50) NOT NULL,
CLAVE CHAR(50) NOT NULL);
ALTER TABLE USUARIOS ADD CONSTRAINT USUARIOS_CLAVE PRIMARY KEY(USUARIO);
-- Tabla ventas_cab
CREATE TABLE VENTAS_CAB (
CODIGO_VENTA CHAR(10) NOT NULL,
SERIE CHAR(1) NOT NULL,
CODIGO_TICKET CHAR(10) NOT NULL,
FECHA DATE NOT NULL,
HORA CHAR(5) NOT NULL,
CODIGO_USUARIO CHAR(20) NOT NULL,
CODIGO_SOCIO CHAR(8) NOT NULL,
FECHA_VTO DATE NOT NULL,
PAGADO NUMERIC(1) NOT NULL,
IMP_BASE NUMERIC(10, 2) NOT NULL,
CODIGO_IVA CHAR(2) NOT NULL,
POR_IVA NUMERIC(4, 2) NOT NULL,
IMP_IVA NUMERIC(9, 2) NOT NULL,
IMP_TOTAL NUMERIC(10, 2) NOT NULL,
ENTREGADO NUMERIC(10, 2) NOT NULL,
ABONO CHAR(10) NOT NULL,
ABONADO NUMERIC(1) NOT NULL,
TIPO_DOCUMENTO NUMERIC(1) NOT NULL);
ALTER TABLE VENTAS_CAB ADD CONSTRAINT VENTAS_CAB_CLAVE PRIMARY KEY(CODIGO_VENTA);
-- Tabla ventas_lin
CREATE TABLE VENTAS_LIN (
CODIGO_VENTA CHAR(10) NOT NULL,
CODIGO_LINEA CHAR(3) NOT NULL,
SERIE CHAR(1) NOT NULL,
CODIGO_TICKET CHAR(10) NOT NULL,
CODIGO_ARTICULO CHAR(6) NOT NULL,
TEXTO_ARTICULO CHAR(50) NOT NULL,
Página 7
CreateTables.sql
CANTIDAD NUMERIC(4) NOT NULL,
PRECIO_UNIDAD NUMERIC(10, 2) NOT NULL,
DESCUENTO NUMERIC(4, 2) NOT NULL,
IMP_LIN NUMERIC(10, 2) NOT NULL,
CODIGO_IVA CHAR(2) NOT NULL,
IMP_IVA NUMERIC(10, 2) NOT NULL,
TIPO_DOCUMENTO NUMERIC(1) NOT NULL,
CODIGO_RESERVA CHAR(10) NOT NULL);
ALTER TABLE VENTAS_LIN ADD CONSTRAINT VENTAS_LIN_CLAVE PRIMARY
KEY(CODIGO_VENTA,CODIGO_LINEA);
-- Tabla ventas_pie
CREATE TABLE VENTAS_PIE (
CODIGO_VENTA CHAR(10) NOT NULL,
CODIGO_MEDIO CHAR(2) NOT NULL,
IMPORTE NUMERIC(10, 2) NOT NULL);
ALTER TABLE VENTAS_PIE ADD CONSTRAINT VENTAS_PIE_CLAVE PRIMARY
KEY(CODIGO_VENTA,CODIGO_MEDIO);
-- Clave foranea cobros
CREATE INDEX COBROS_CODIGO_ORIGEN ON COBROS (CODIGO_ORIGEN);
ALTER TABLE COBROS ADD CONSTRAINT COBROS_INSCRIPCION_SERV FOREIGN KEY(CODIGO_ORIGEN)
REFERENCES INSCRIPCION_SERV (CODIGO_INSCRIPCION);
-- Clave foranea codpos
CREATE INDEX CODPOS_CP ON CODPOS (CP);
-- ALTER TABLE CODPOS ADD CONSTRAINT CODPOS_PROVINCIAS FOREIGN KEY(SUBSTRING(CP, 1,
2))
-- REFERENCES PROVINCIAS (CODIGO);
-- Clave foranea ctrl_accesos
CREATE INDEX CTRL_ACCESOS_CODIGO_PUERTA ON CTRL_ACCESOS (CODIGO_PUERTA);
ALTER TABLE CTRL_ACCESOS ADD CONSTRAINT CTRL_ACCESOS_PUERTAS FOREIGN
KEY(CODIGO_PUERTA)
REFERENCES PUERTAS (CODIGO);
-- Clave foranea ctrl_accesos
CREATE INDEX CTRL_ACCESOS_CODIGO_SOCIO ON CTRL_ACCESOS (CODIGO_SOCIO);
ALTER TABLE CTRL_ACCESOS ADD CONSTRAINT CTRL_ACCESOS_SOCIOS FOREIGN KEY(CODIGO_SOCIO)
REFERENCES SOCIOS (CODIGO_SOCIO);
-- Clave foranea cuotas_esp
CREATE INDEX CUOTAS_ESP_CODIGO_ESPACIO ON CUOTAS_ESP (CODIGO_ESPACIO);
ALTER TABLE CUOTAS_ESP ADD CONSTRAINT CUOTAS_ESP_ESPACIOS FOREIGN KEY(CODIGO_ESPACIO)
REFERENCES ESPACIOS (CODIGO_ESPACIO);
-- Clave foranea cuotas_esp
CREATE INDEX CUOTAS_ESP_CODIGO_IVA ON CUOTAS_ESP (CODIGO_IVA);
ALTER TABLE CUOTAS_ESP ADD CONSTRAINT CUOTAS_ESP_TIPOS_IVA FOREIGN KEY(CODIGO_IVA)
REFERENCES TIPOS_IVA (CODIGO);
-- Clave foranea entidad
CREATE INDEX ENTIDAD_CP_POBLACION ON ENTIDAD (CP,POBLACION);
Página 8
CreateTables.sql
ALTER TABLE ENTIDAD ADD CONSTRAINT ENTIDAD_CODPOS FOREIGN KEY(CP,POBLACION)
REFERENCES CODPOS(CP,POBLACION);
-- Clave foranea festivos_esp
CREATE INDEX FESTIVOS_ESP_CODIGO_ESPACIO ON FESTIVOS_ESP (CODIGO_ESPACIO);
ALTER TABLE FESTIVOS_ESP ADD CONSTRAINT FESTIVOS_ESP_ESPACIOS FOREIGN
KEY(CODIGO_ESPACIO)
REFERENCES ESPACIOS (CODIGO_ESPACIO);
-- Clave foranea horarios_serv
CREATE INDEX HORARIOS_SERV_CODIGO_ESPACIO ON HORARIOS_SERV (CODIGO_ESPACIO);
ALTER TABLE HORARIOS_SERV ADD CONSTRAINT HORARIOS_SERV_ESPACIOS FOREIGN
KEY(CODIGO_ESPACIO)
REFERENCES ESPACIOS (CODIGO_ESPACIO);
-- Clave foranea horarios_serv
CREATE INDEX HORARIOS_SERV_CODIGO_MONITOR ON HORARIOS_SERV (CODIGO_MONITOR);
ALTER TABLE HORARIOS_SERV ADD CONSTRAINT HORARIOS_SERV_MONITORES FOREIGN
KEY(CODIGO_MONITOR)
REFERENCES MONITORES (CODIGO_MONITOR);
-- Clave foranea horarios_serv
CREATE INDEX HORARIOS_SERV_CODIGO_SERVICIO ON HORARIOS_SERV (CODIGO_SERVICIO);
ALTER TABLE HORARIOS_SERV ADD CONSTRAINT HORARIOS_SERV_SERVICIOS FOREIGN
KEY(CODIGO_SERVICIO)
REFERENCES SERVICIOS (CODIGO_SERVICIO);
-- Clave foranea horarios_serv
CREATE INDEX HORARIOS_SERV_PUERTA_1 ON HORARIOS_SERV (PUERTA_1);
ALTER TABLE HORARIOS_SERV ADD CONSTRAINT HORARIOS_SERV_PUERTAS_1 FOREIGN KEY(PUERTA_1)
REFERENCES PUERTAS (CODIGO);
-- Clave foranea horarios_serv
CREATE INDEX HORARIOS_SERV_PUERTA_2 ON HORARIOS_SERV (PUERTA_2);
ALTER TABLE HORARIOS_SERV ADD CONSTRAINT HORARIOS_SERV_PUERTAS_2 FOREIGN KEY(PUERTA_2)
REFERENCES PUERTAS (CODIGO);
-- Clave foranea horarios_serv
CREATE INDEX HORARIOS_SERV_PUERTA_3 ON HORARIOS_SERV (PUERTA_3);
ALTER TABLE HORARIOS_SERV ADD CONSTRAINT HORARIOS_SERV_PUERTAS_3 FOREIGN KEY(PUERTA_3)
REFERENCES PUERTAS (CODIGO);
-- Clave foranea horarios_serv
CREATE INDEX HORARIOS_SERV_PUERTA_4 ON HORARIOS_SERV (PUERTA_4);
ALTER TABLE HORARIOS_SERV ADD CONSTRAINT HORARIOS_SERV_PUERTAS_4 FOREIGN KEY(PUERTA_4)
REFERENCES PUERTAS (CODIGO);
-- Clave foranea imp_serv_edad
CREATE INDEX IMP_SERV_EDAD_CODIGO_SERVICIO ON IMP_SERV_EDAD (CODIGO_SERVICIO);
ALTER TABLE IMP_SERV_EDAD ADD CONSTRAINT IMP_SERV_EDAD_SERVICIOS FOREIGN
KEY(CODIGO_SERVICIO)
REFERENCES SERVICIOS (CODIGO_SERVICIO);
Página 9
CreateTables.sql
-- Clave foranea imp_serv_edad
CREATE INDEX IMP_SERV_EDAD_CODIGO_IVA ON IMP_SERV_EDAD (CODIGO_IVA);
ALTER TABLE IMP_SERV_EDAD ADD CONSTRAINT IMP_SERV_EDAD_TIPOS_IVA FOREIGN
KEY(CODIGO_IVA)
REFERENCES TIPOS_IVA (CODIGO);
-- Clave foranea inscripcion_serv
CREATE INDEX INSCRIPCION_SERV_CODIGO_SERVICIO_CODIGO_LINEA ON INSCRIPCION_SERV
(CODIGO_SERVICIO,CODIGO_LINEA);
ALTER TABLE INSCRIPCION_SERV ADD CONSTRAINT INSCRIPCION_SERV_HORARIOS_SERV FOREIGN
KEY(CODIGO_SERVICIO, CODIGO_LINEA)
REFERENCES HORARIOS_SERV (CODIGO_SERVICIO, CODIGO_LINEA);
-- Clave foranea inscripcion_serv
CREATE INDEX INSCRIPCION_SERV_CODIGO_SERVICIO ON INSCRIPCION_SERV (CODIGO_SERVICIO);
ALTER TABLE INSCRIPCION_SERV ADD CONSTRAINT INSCRIPCION_SERV_SERVICIOS FOREIGN
KEY(CODIGO_SERVICIO)
REFERENCES SERVICIOS (CODIGO_SERVICIO);
-- Clave foranea inscripcion_serv
CREATE INDEX INSCRIPCION_SERV_CODIGO_PERSONA ON INSCRIPCION_SERV (CODIGO_PERSONA);
-- ALTER TABLE INSCRIPCION_SERV ADD CONSTRAINT INSCRIPCION_SERV_PERSONAS FOREIGN
KEY(CODIGO_PERSONA)
-- REFERENCES PERSONAS (CODIGO_PERSONA);
-- Clave foranea inscripcion_serv
CREATE INDEX INSCRIPCION_SERV_CODIGO_SOCIO ON INSCRIPCION_SERV (CODIGO_SOCIO);
-- ALTER TABLE INSCRIPCION_SERV ADD CONSTRAINT INSCRIPCION_SERV_SOCIOS FOREIGN
KEY(CODIGO_SOCIO)
-- REFERENCES SOCIOS (CODIGO_SOCIO);
-- Clave foranea inscripcion_serv
CREATE INDEX INSCRIPCION_SERV_CODIGO_IVA ON INSCRIPCION_SERV (CODIGO_IVA);
ALTER TABLE INSCRIPCION_SERV ADD CONSTRAINT INSCRIPCION_SERV_TIPOS_IVA FOREIGN
KEY(CODIGO_IVA)
REFERENCES TIPOS_IVA (CODIGO);
-- Clave foranea inscripcion_serv
CREATE INDEX INSCRIPCION_SERV_TIPO_CUOTA ON INSCRIPCION_SERV (TIPO_CUOTA);
ALTER TABLE INSCRIPCION_SERV ADD CONSTRAINT INSCRIPCION_SERV_TIPOS_CUOTA FOREIGN
KEY(TIPO_CUOTA)
REFERENCES TIPOS_CUOTA (CODIGO);
-- Clave foranea lineas_factura
CREATE INDEX LINEAS_FACTURA_CODIGO_ORIGEN ON LINEAS_FACTURA (CODIGO_ORIGEN);
ALTER TABLE LINEAS_FACTURA ADD CONSTRAINT LINEAS_FACTURA_INSCRIPCION_SERV FOREIGN
KEY(CODIGO_ORIGEN)
REFERENCES INSCRIPCION_SERV (CODIGO_INSCRIPCION);
-- Clave foranea monitores
CREATE INDEX MONITORES_CP_POBLACION ON MONITORES (CP,POBLACION);
ALTER TABLE MONITORES ADD CONSTRAINT MONITORES_CODPOS FOREIGN KEY(CP,POBLACION)
REFERENCES CODPOS(CP,POBLACION);
Página 10
CreateTables.sql
-- Clave foranea personas
CREATE INDEX PERSONAS_CP_POBLACION ON PERSONAS (CP,POBLACION);
ALTER TABLE PERSONAS ADD CONSTRAINT PERSONAS_CODPOS FOREIGN KEY(CP,POBLACION)
REFERENCES CODPOS(CP,POBLACION);
-- Clave foranea reservas
CREATE INDEX RESERVAS_CODIGO_ESPACIO ON RESERVAS (CODIGO_ESPACIO);
ALTER TABLE RESERVAS ADD CONSTRAINT RESERVAS_CODIGO_ESPACIO FOREIGN
KEY(CODIGO_ESPACIO)
REFERENCES ESPACIOS(CODIGO_ESPACIO);
-- Clave foranea reservas
CREATE INDEX RESERVAS_CODIGO_CUOTA ON RESERVAS (CODIGO_CUOTA);
-- ALTER TABLE RESERVAS ADD CONSTRAINT RESERVAS_CUOTAS_ESP FOREIGN KEY(CODIGO_CUOTA)
-- REFERENCES CUOTAS_ESP(CODIGO_CUOTA);
-- Clave foranea reservas
CREATE INDEX RESERVAS_CODIGO_SOCIO ON RESERVAS (CODIGO_SOCIO);
-- ALTER TABLE RESERVAS ADD CONSTRAINT RESERVAS_SOCIOS FOREIGN KEY(CODIGO_SOCIO)
-- REFERENCES SOCIOS(CODIGO_SOCIO);
-- Clave foranea reservas
CREATE INDEX RESERVAS_CODIGO_SRV_LIN ON RESERVAS (CODIGO_SRV_LIN);
-- ALTER TABLE RESERVAS ADD CONSTRAINT RESERVAS_HORARIOS_SERV FOREIGN
KEY(CODIGO_SRV_LIN)
-- REFERENCES HORARIOS_SERV(CODIGO_SERVICIO||CODIGO_LINEA);
-- Clave foranea servicios
CREATE INDEX SERVICIOS_TIPO_CUOTA ON SERVICIOS (TIPO_CUOTA);
ALTER TABLE SERVICIOS ADD CONSTRAINT SERVICIOS_TIPOS_CUOTA FOREIGN KEY(TIPO_CUOTA)
REFERENCES TIPOS_CUOTA (CODIGO);
-- Clave foranea servicios
CREATE INDEX SERVICIOS_TIPO_SERVICIO ON SERVICIOS (TIPO_SERVICIO);
ALTER TABLE SERVICIOS ADD CONSTRAINT SERVICIOS_TIPOS_SERVICIO FOREIGN
KEY(TIPO_SERVICIO)
REFERENCES TIPOS_SERVICIO (CODIGO);
-- Clave foranea servicios
CREATE INDEX SERVICIOS_CODIGO_IVA ON SERVICIOS (CODIGO_IVA);
ALTER TABLE SERVICIOS ADD CONSTRAINT SERVICIOS_TIPOS_IVA FOREIGN KEY(CODIGO_IVA)
REFERENCES TIPOS_IVA (CODIGO);
-- Clave foranea servicios
CREATE INDEX SERVICIOS_NIVEL_DESEADO ON SERVICIOS (NIVEL_DESEADO);
ALTER TABLE SERVICIOS ADD CONSTRAINT SERVICIOS_NIVELES_DESEADO FOREIGN
KEY(NIVEL_DESEADO)
REFERENCES NIVELES (CODIGO);
-- Clave foranea servicios
CREATE INDEX SERVICIOS_NIVEL_MINIMO ON SERVICIOS (NIVEL_MINIMO);
Página 11
CreateTables.sql
ALTER TABLE SERVICIOS ADD CONSTRAINT SERVICIOS_NIVELES_MINIMO FOREIGN
KEY(NIVEL_MINIMO)
REFERENCES NIVELES (CODIGO);
-- Clave foranea servicios_monitor
CREATE INDEX SERVICIOS_MONITOR_CODIGO_MONITOR ON SERVICIOS_MONITOR (CODIGO_MONITOR);
ALTER TABLE SERVICIOS_MONITOR ADD CONSTRAINT SERVICIOS_MONITOR_MONITORES FOREIGN
KEY(CODIGO_MONITOR)
REFERENCES MONITORES(CODIGO_MONITOR);
-- Clave foranea servicios_monitor
CREATE INDEX SERVICIOS_MONITOR_CODIGO_SRV_LIN ON SERVICIOS_MONITOR (CODIGO_SRV_LIN);
-- ALTER TABLE SERVICIOS_MONITOR ADD CONSTRAINT SERVICIOS_MONITOR_HORARIOS_SERV
FOREIGN KEY(CODIGO_SRV_LIN)
-- REFERENCES HORARIOS_SERV(CODIGO_SERVICIO||CODIGO_LINEA);
-- Clave foranea socios
CREATE INDEX SOCIOS_CP_POBLACION ON SOCIOS (CP,POBLACION);
ALTER TABLE SOCIOS ADD CONSTRAINT SOCIOS_CODPOS FOREIGN KEY(CP,POBLACION)
REFERENCES CODPOS(CP,POBLACION);
-- Clave foranea ventas_cab
CREATE INDEX VENTAS_CAB_CODIGO_USUARIO ON VENTAS_CAB (CODIGO_USUARIO);
ALTER TABLE VENTAS_CAB ADD CONSTRAINT VENTAS_CAB_USUARIOS FOREIGN KEY(CODIGO_USUARIO)
REFERENCES USUARIOS (USUARIO);
-- Clave foranea ventas_cab
CREATE INDEX VENTAS_CAB_CODIGO_IVA ON VENTAS_CAB (CODIGO_IVA);
ALTER TABLE VENTAS_CAB ADD CONSTRAINT VENTAS_CAB_TIPOS_IVA FOREIGN KEY(CODIGO_IVA)
REFERENCES TIPOS_IVA (CODIGO);
-- Clave foranea ventas_cab
CREATE INDEX VENTAS_CAB_CODIGO_SOCIO ON VENTAS_CAB (CODIGO_SOCIO);
-- ALTER TABLE VENTAS_CAB ADD CONSTRAINT VENTAS_CAB_SOCIOS FOREIGN KEY(CODIGO_SOCIO)
-- REFERENCES SOCIOS(CODIGO_SOCIO);
-- Clave foranea ventas_lin
CREATE INDEX VENTAS_LIN_CODIGO_IVA ON VENTAS_LIN (CODIGO_IVA);
ALTER TABLE VENTAS_LIN ADD CONSTRAINT VENTAS_LIN_TIPOS_IVA FOREIGN KEY(CODIGO_IVA)
REFERENCES TIPOS_IVA (CODIGO);
-- Clave foranea ventas_lin
CREATE INDEX VENTAS_LIN_CODIGO_RESERVA ON VENTAS_LIN (CODIGO_RESERVA);
ALTER TABLE VENTAS_LIN ADD CONSTRAINT VENTAS_LIN_RESERVAS FOREIGN KEY(CODIGO_RESERVA)
REFERENCES RESERVAS (CODIGO_RESERVA);
-- Clave foranea ventas_lin
CREATE INDEX VENTAS_LIN_CODIGO_VENTA ON VENTAS_LIN (CODIGO_VENTA);
-- ALTER TABLE VENTAS_LIN ADD CONSTRAINT VENTAS_LIN_VENTAS_CAB FOREIGN
KEY(CODIGO_VENTA)
-- REFERENCES VENTAS_CAB (CODIGO_VENTA);
-- Clave foranea ventas_pie
Página 12
CreateTables.sql
CREATE INDEX VENTAS_PIE_CODIGO_MEDIO ON VENTAS_PIE (CODIGO_MEDIO);
ALTER TABLE VENTAS_PIE ADD CONSTRAINT VENTAS_PIE_MEDIOS FOREIGN KEY(CODIGO_MEDIO)
REFERENCES MEDIOS (CODIGO);
-- Clave foranea ventas_pie
CREATE INDEX VENTAS_PIE_CODIGO_VENTA ON VENTAS_PIE (CODIGO_VENTA);
ALTER TABLE VENTAS_PIE ADD CONSTRAINT VENTAS_PIE_VENTAS_CAB FOREIGN KEY(CODIGO_VENTA)
REFERENCES VENTAS_CAB (CODIGO_VENTA);
-- Defecto
ALTER TABLE ESPACIOS ALTER
ALTER
ALTER
ALTER
ALTER
ALTER
ALTER
COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
LUN
MAR
MIE
JUE
VIE
SAB
DOM
SET
SET
SET
SET
SET
SET
SET
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
0
0
0
0
0
0
0;
ALTER TABLE RESERVAS ALTER COLUMN RESERVADO SET DEFAULT 0
ALTER COLUMN COBRADO
SET DEFAULT 0
ALTER COLUMN FESTIVO
SET DEFAULT 0;
ALTER TABLE HORARIOS_SERV ALTER
ALTER
ALTER
ALTER
ALTER
ALTER
ALTER
COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
LUN
MAR
MIE
JUE
VIE
SAB
DOM
Página 13
SET
SET
SET
SET
SET
SET
SET
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
0
0
0
0
0
0
0;
Descargar