marcoszorrilla |
22-07-2012 22:43:04 |
Opción Tools - Extract Metadata All.
Le he señalado que me lo pase al portapapeles, lo copio y lo pego en el Bloc de Notas, pero también tengo la opción de mandarlo directamente a un fichero.
Código:
/******************************************************************************/
/* Generated by IBExpert 2012.05.10 22/07/2012 22:19:06 */
/******************************************************************************/
SET SQL DIALECT 3;
SET NAMES ISO8859_1;
CREATE DATABASE 'Localhost:C:\Delphi7\Programasfb\RosaPilates\BDLATES.FDB'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 16384
DEFAULT CHARACTER SET ISO8859_1 COLLATION ISO8859_1;
/******************************************************************************/
/* Domains */
/******************************************************************************/
CREATE DOMAIN DM_BOOLEAN AS
CHAR(1)
Default 'N'
NOT NULL
Check (Value IN ('S','N'));
CREATE DOMAIN DM_EURO AS
NUMERIC(12,2)
Default 0;
CREATE DOMAIN DM_FOTO AS
BLOB SUB_TYPE 0 SEGMENT SIZE 100;
CREATE DOMAIN DM_MEMO AS
BLOB SUB_TYPE 1 SEGMENT SIZE 80;
CREATE DOMAIN DM_PORCIENTOS AS
NUMERIC(4,2)
Default 0;
CREATE DOMAIN DM_SEXO AS
CHAR(1)
Default 'M'
NOT NULL
Check (Value In ('M','F'));
/******************************************************************************/
/* Generators */
/******************************************************************************/
CREATE GENERATOR GN_ID_COMPRAS;
SET GENERATOR GN_ID_COMPRAS TO 1;
CREATE GENERATOR GN_ID_LINREMESASRECIBOS;
SET GENERATOR GN_ID_LINREMESASRECIBOS TO 0;
/******************************************************************************/
/* Tables */
/******************************************************************************/
CREATE TABLE AGENDA (
NOMBRE VARCHAR(50) NOT NULL,
EMPRESA VARCHAR(50),
TELEFONO VARCHAR(30),
TELEFONO2 VARCHAR(30),
MOVIL VARCHAR(30),
CORREO VARCHAR(50),
OBSERVACIONES BLOB SUB_TYPE 1 SEGMENT SIZE 80
);
CREATE TABLE ALUMNOS (
CODIGO VARCHAR(4) NOT NULL,
NOMBRE VARCHAR(15) NOT NULL,
APELLIDOS VARCHAR(40),
DNI VARCHAR(10),
CALLE VARCHAR(40),
CP VARCHAR(5),
POBLACION VARCHAR(40),
FNACIMIENTO DATE,
SEXO DM_SEXO,
FALTA DATE,
TELEFONO VARCHAR(15),
MOVIL VARCHAR(15),
CELECTRONICO VARCHAR(30),
RECIBOMES DM_BOOLEAN,
RECIBOIMPORTE DM_EURO,
RECIBOFPAGO VARCHAR(10),
BAJA DM_BOOLEAN,
BAJAFECHA DATE,
BAJAMOTIVO VARCHAR(30),
BANCOENTIDAD VARCHAR(40),
BANCOCODIGO VARCHAR(4),
BANCOSUCURSAL VARCHAR(4),
BANCODC VARCHAR(2),
BANCOCUENTA VARCHAR(10),
GRUPO VARCHAR(2),
PCOMOSUPISTE VARCHAR(15),
PCOMOSUPISTETEXTO VARCHAR(70),
PLESION DM_BOOLEAN,
PLESIONTEXTO VARCHAR(70),
PTRATAMIENTO DM_BOOLEAN,
PTRATAMIENTOTEXTO VARCHAR(70),
PDEPORTE DM_BOOLEAN,
PDEPORTETEXTO VARCHAR(70),
PPILATESANTES DM_BOOLEAN,
PILATESANTESTEXTO VARCHAR(70),
PMETAS DM_BOOLEAN,
PMETASTEXTO VARCHAR(70),
PPROFESION VARCHAR(70),
OBSERVACIONES DM_MEMO,
FOTO DM_FOTO,
IMEDICO DM_MEMO
);
CREATE TABLE CALENDARIO (
FECHA DATE NOT NULL
);
CREATE TABLE CALLES (
CALLE VARCHAR(50) NOT NULL,
CODIGO VARCHAR(5) NOT NULL
);
CREATE TABLE COMPRAS (
ID INTEGER NOT NULL,
CODPROVEEDOR VARCHAR(3) NOT NULL,
NUMERO VARCHAR(15),
FECHA DATE,
VENCIMIENTO DATE,
PAGADA DM_BOOLEAN,
CONCEPTO VARCHAR(3) NOT NULL,
T1 VARCHAR(80),
T2 VARCHAR(80),
BASE DM_EURO,
TIVA DM_EURO,
IVA DM_EURO,
TOTAL DM_EURO
);
CREATE TABLE CONFIGURA (
EJERCICIO VARCHAR(2) NOT NULL,
FACTURA INTEGER,
RECIBO INTEGER,
TXTRECIBO VARCHAR(80),
RECIBOCON INTEGER,
IVA1 DM_EURO,
IVA2 DM_EURO,
EMPRESA VARCHAR(35),
CALLE VARCHAR(35),
POBLACION VARCHAR(35),
NIF VARCHAR(35),
BANCOENTIDAD VARCHAR(40),
BANCOCODIGO VARCHAR(4),
BANCOSUCURSAL VARCHAR(4),
BANCODC VARCHAR(2),
BANCOCUENTA VARCHAR(10),
DIRQ19 VARCHAR(40),
DIRCONTA VARCHAR(40)
);
CREATE TABLE ESPACIOS (
CODIGO VARCHAR(2) NOT NULL,
DESCRIPCION VARCHAR(15) NOT NULL
);
CREATE TABLE GRUPOS (
CODIGO VARCHAR(2) NOT NULL,
GRUPO VARCHAR(15) NOT NULL
);
CREATE TABLE GRUPOSGASTOS (
CODIGO VARCHAR(3) NOT NULL,
CONCEPTO VARCHAR(20) NOT NULL
);
CREATE TABLE HORARIOS (
HORA VARCHAR(5) NOT NULL
);
CREATE TABLE LINREMESASRECIBOS (
ID BIGINT NOT NULL,
REMESA VARCHAR(6),
CODCLIENT VARCHAR(7),
NOMBRE VARCHAR(40),
BUSCAR VARCHAR(20),
CUENTA VARCHAR(20),
TEXTO VARCHAR(40),
TEXTO1 VARCHAR(40),
TEXTO2 VARCHAR(40),
TEXTO3 VARCHAR(40),
TOTAL DM_EURO
);
CREATE TABLE OCUPACION (
FECHA DATE NOT NULL,
HORA VARCHAR(5) NOT NULL,
ESPACIO VARCHAR(2) NOT NULL,
GRUPO VARCHAR(2) NOT NULL,
PROFESOR VARCHAR(2)
);
CREATE TABLE PROFESORES (
CODIGO VARCHAR(2) NOT NULL,
NOMBRE VARCHAR(30) NOT NULL,
TELEFONO VARCHAR(30),
OBSERVACIONES VARCHAR(50)
);
CREATE TABLE PROVEEDORES (
CODIGO VARCHAR(3) NOT NULL,
NOMBRE VARCHAR(40) NOT NULL,
NIF VARCHAR(12),
PCONTACTO VARCHAR(40),
TELEFONO1 VARCHAR(40),
TELEFONO2 VARCHAR(40),
CORREOE VARCHAR(40),
PWEB VARCHAR(40),
OBSERVA DM_MEMO
);
CREATE TABLE RECIBOS (
NUMERO VARCHAR(6) NOT NULL,
FECHA DATE NOT NULL,
FPAGO VARCHAR(10),
CODALUMNO VARCHAR(4),
COBRADO DM_BOOLEAN,
T1 VARCHAR(80),
T2 VARCHAR(80),
T3 VARCHAR(80),
IVA1 DM_EURO,
IVA2 DM_EURO,
IVA3 DM_EURO,
N1 DM_EURO,
N2 DM_EURO,
N3 DM_EURO,
BASE DM_EURO,
TIVA DM_EURO,
IVA DM_EURO,
NOSUJETO DM_EURO,
TOTAL DM_EURO,
CONTA DM_BOOLEAN,
CONTABILIZAR DM_BOOLEAN
);
CREATE TABLE RECIBOSCONTA (
NUMCON VARCHAR(7) NOT NULL,
NUMERO VARCHAR(6) NOT NULL,
FECHA DATE NOT NULL,
FPAGO VARCHAR(10),
CODALUMNO VARCHAR(4),
COBRADO DM_BOOLEAN,
T1 VARCHAR(80),
T2 VARCHAR(80),
T3 VARCHAR(80),
IVA1 DM_EURO,
IVA2 DM_EURO,
IVA3 DM_EURO,
N1 DM_EURO,
N2 DM_EURO,
N3 DM_EURO,
BASE DM_EURO,
TIVA DM_EURO,
IVA DM_EURO,
NOSUJETO DM_EURO,
TOTAL DM_EURO,
CONTA DM_BOOLEAN
);
CREATE TABLE REMESASRECIBOS (
REMESA VARCHAR(6) NOT NULL,
FSOPORTE DATE,
FADEUDO DATE,
RECIBOSCASYC INTEGER,
RECIBOSTOTAL INTEGER,
IMPORTEREMESA DM_EURO,
OBSERVACIONES VARCHAR(100),
FECHA DATE,
HORA TIME,
USUARIO VARCHAR(15)
);
CREATE TABLE TMPRECIBOS (
NFACTURA VARCHAR(9) NOT NULL,
CODCLIENT VARCHAR(7) NOT NULL,
TOTAL DM_EURO
);
CREATE TABLE USUARIOS (
CODIGO VARCHAR(2) NOT NULL,
USUARIO VARCHAR(15) NOT NULL,
CLAVE VARCHAR(10),
NIVEL VARCHAR(1)
);
/******************************************************************************/
/* Primary Keys */
/******************************************************************************/
ALTER TABLE AGENDA ADD CONSTRAINT PK_AGENDA_NOMBRE PRIMARY KEY (NOMBRE);
ALTER TABLE ALUMNOS ADD CONSTRAINT PK_ALUMNOS PRIMARY KEY (CODIGO);
ALTER TABLE CALENDARIO ADD CONSTRAINT PK_CALENDARIO PRIMARY KEY (FECHA);
ALTER TABLE CALLES ADD CONSTRAINT PK_CALLE PRIMARY KEY (CALLE);
ALTER TABLE COMPRAS ADD CONSTRAINT PK_COMPRAS PRIMARY KEY (ID);
ALTER TABLE CONFIGURA ADD CONSTRAINT PK_CONFIGURA PRIMARY KEY (EJERCICIO);
ALTER TABLE ESPACIOS ADD CONSTRAINT PK_ESPACIOS PRIMARY KEY (CODIGO);
ALTER TABLE GRUPOS ADD CONSTRAINT PK_GRUPOS PRIMARY KEY (CODIGO);
ALTER TABLE GRUPOSGASTOS ADD CONSTRAINT PK_GRUPOSGASTOS PRIMARY KEY (CODIGO);
ALTER TABLE HORARIOS ADD CONSTRAINT PK_HORARIOS PRIMARY KEY (HORA);
ALTER TABLE LINREMESASRECIBOS ADD CONSTRAINT PK_LINREMESAS_ID PRIMARY KEY (ID);
ALTER TABLE OCUPACION ADD CONSTRAINT PK_OCUPACION PRIMARY KEY (FECHA, HORA, ESPACIO);
ALTER TABLE PROFESORES ADD CONSTRAINT PK_PROFESORES PRIMARY KEY (CODIGO);
ALTER TABLE PROVEEDORES ADD CONSTRAINT PK_PROVEEDORES_CODIGO PRIMARY KEY (CODIGO);
ALTER TABLE RECIBOS ADD CONSTRAINT PK_RECIBOS PRIMARY KEY (NUMERO);
ALTER TABLE RECIBOSCONTA ADD CONSTRAINT PK_RECIBOSCONTA PRIMARY KEY (NUMCON);
ALTER TABLE REMESASRECIBOS ADD CONSTRAINT PK_REMESASRECIBOS_REMESA PRIMARY KEY (REMESA);
ALTER TABLE TMPRECIBOS ADD CONSTRAINT PK_TMPRECIBOS_NFACTURA PRIMARY KEY (NFACTURA);
ALTER TABLE USUARIOS ADD CONSTRAINT PK_USUARIOS PRIMARY KEY (CODIGO);
/******************************************************************************/
/* Foreign Keys */
/******************************************************************************/
ALTER TABLE LINREMESASRECIBOS ADD FOREIGN KEY (REMESA) REFERENCES REMESASRECIBOS (REMESA);
/******************************************************************************/
/* Indices */
/******************************************************************************/
CREATE INDEX ALUMNOS_APE_NOM ON ALUMNOS (APELLIDOS, NOMBRE);
CREATE UNIQUE INDEX ALUMNOS_DNI ON ALUMNOS (DNI);
CREATE UNIQUE INDEX ESPACIOS_IDX1 ON ESPACIOS (DESCRIPCION);
CREATE UNIQUE INDEX GRUPOS_IDX1 ON GRUPOS (GRUPO);
CREATE UNIQUE INDEX GRUPOSGASTOS_IDX1 ON GRUPOSGASTOS (CONCEPTO);
CREATE INDEX ID_LINREMESAS_REMESA ON LINREMESASRECIBOS (REMESA);
CREATE UNIQUE INDEX PROFESORES_IDX1 ON PROFESORES (NOMBRE);
CREATE UNIQUE INDEX ID_PROVEEDORES_NOMBRE ON PROVEEDORES (NOMBRE);
CREATE INDEX RECIBOS_IDX1 ON RECIBOS (FECHA);
CREATE INDEX RECIBOS_IDX2 ON RECIBOS (CODALUMNO);
CREATE INDEX RECIBOSCONTA_IDX1 ON RECIBOSCONTA (NUMERO);
CREATE INDEX RECIBOSCONTA_IDX2 ON RECIBOSCONTA (FECHA);
CREATE UNIQUE INDEX USUARIOS_IDX1 ON USUARIOS (USUARIO);
/******************************************************************************/
/* Triggers */
/******************************************************************************/
SET TERM ^ ;
/******************************************************************************/
/* Triggers for tables */
/******************************************************************************/
/* Trigger: COMPRAS_BI */
CREATE TRIGGER COMPRAS_BI FOR COMPRAS
ACTIVE BEFORE INSERT POSITION 0
As
Begin
If (New.ID Is Null)
then New.ID=Gen_ID(GN_ID_Compras, 1);
end
^
/* Trigger: LINREMESASRECIBOS_BI */
CREATE TRIGGER LINREMESASRECIBOS_BI FOR LINREMESASRECIBOS
ACTIVE BEFORE INSERT POSITION 0
As
Begin
If (New.ID Is Null)
then New.ID=Gen_ID(GN_ID_LinRemesasRecibos, 1);
end
^
SET TERM ; ^
Un Saludo.
|