Ver Mensaje Individual
  #14  
Antiguo 22-07-2012
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
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.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita