Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-07-2012
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Acabo de comprobar que la versión "Personal" de IbExpert tiene una opción de extraer Metadatos, marcando la opción todo te extrae el guión completo de creación de la BD, Tablas, índices, Disparadores, Generadores...

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 22-07-2012 a las 22:22:23.
Responder Con Cita
  #2  
Antiguo 22-07-2012
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
Cita:
Empezado por marcoszorrilla Ver Mensaje
Acabo de comprobar que la versión "Personal" de IbExpert tiene una opción de extraer Metadatos, marcando la opción todo te extrae el guión completo de creación de la BD, Tablas, índices, Disparadores, Generadores...
Si activas en el ibexpert la opción de SQL Monitor y ejecutas "Extract Metadata" ves todas las sentencias que utiliza para generarlo. De ahí tendrías que hacer un poco de ingeniería para conseguir montar el "DDL".

Por eso me inclino mejor por una herramienta que te lo extraiga.

Entiendo que el usuario tendría una opción en las opciones de administración en la que indique que quiera crear un nuevo año o una nueva empresa encapsulando todo el proceso para que le resulte más fácil y cómodo.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #3  
Antiguo 22-07-2012
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Actualizar estructura de base de datos sin perder datos ManuelPerez Firebird e Interbase 8 20-10-2010 02:41:19
estructura de aplicación/base de datos Galahad Firebird e Interbase 5 08-08-2008 10:07:10
Estructura Base de Datos mjjj Firebird e Interbase 6 22-10-2007 12:16:39
Actualizar estructura de la Base de Datos Durbed Firebird e Interbase 11 02-10-2006 17:31:34
Copiar estructura de una base de datos a una nueva en Delphi?? burasu Conexión con bases de datos 0 30-12-2004 09:35:51


La franja horaria es GMT +2. Ahora son las 07:49:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi