Ir al contenido


Foto

RETO 1


  • Por favor identifícate para responder
39 respuestas en este tema

#21 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.460 mensajes
  • LocationMéxico

Escrito 20 agosto 2010 - 09:21

Nuestro amigo cadetill nos ha puesto dos opciones por demás aceptables ;), ahora toca ver la definición de las tablas.

Salud OS
  • 0

#22 Héctor Randolph

Héctor Randolph

    501st Legion

  • Moderadores
  • PipPipPip
  • 664 mensajes
  • LocationMéxico

Escrito 20 agosto 2010 - 11:55

Ya tengo una base de datos, utilicé una programa para poblar con registros al azar.

El problema que estoy resolviendo es pasarla a XML.

Estoy en eso...
  • 0

#23 Héctor Randolph

Héctor Randolph

    501st Legion

  • Moderadores
  • PipPipPip
  • 664 mensajes
  • LocationMéxico

Escrito 20 agosto 2010 - 12:03

Mientras tanto les muestro un esquema de la base de datos, a ver qué les parece.

Los registros que tiene actualmente son:



delphi
  1. TABLA TOTAL DE REGISTROS
  2. ========================================
  3. PERSONAS 500,000
  4. DOMICILIOS 100,000
  5. CLIENTES 74,077
  6. DOMICILIOS_CLIENTES 50,000
  7. CIUDADES 800
  8. ========================================



El archivo DEMO.FDB ocupa 80MB de espacio en disco (15MB Comprimido)


Este es el esquema de la base de datos:



sql
  1. /******************************************************************************/
  2. /****      Generated by IBExpert 2005.09.25 20/08/2010 01:02:50 p.m.      ****/
  3. /******************************************************************************/
  4.  
  5. SET NAMES NONE;
  6.  
  7. CREATE DATABASE 'C:\Archivos de programa\Firebird\Firebird_2_0\bin\DEMO.FDB'
  8. USER 'sysdba' PASSWORD 'masterkey'
  9. PAGE_SIZE 16384
  10. DEFAULT CHARACTER SET NONE;
  11.  
  12.  
  13.  
  14. /******************************************************************************/
  15. /****                                Tables                                ****/
  16. /******************************************************************************/
  17.  
  18.  
  19.  
  20. CREATE TABLE CIUDADES (
  21.     ID_CIUDAD  INTEGER NOT NULL,
  22.     CIUDAD    VARCHAR(40) NOT NULL,
  23.     PAIS      VARCHAR(40) NOT NULL
  24. );
  25.  
  26.  
  27. CREATE TABLE CLIENTES (
  28.     ID_CLIENTE          INTEGER NOT NULL,
  29.     ID_PERSONA          INTEGER,
  30.     FECHA_INGRESO        DATE NOT NULL,
  31.     FECHA_ULTIMA_COMPRA  DATE NOT NULL
  32. );
  33.  
  34.  
  35. CREATE TABLE DOMICILIOS (
  36.     ID_DOMICILIO  INTEGER NOT NULL,
  37.     ID_CIUDAD      INTEGER NOT NULL,
  38.     CALLE          VARCHAR(80) NOT NULL,
  39.     CODIGO_POSTAL  SMALLINT NOT NULL
  40. );
  41.  
  42.  
  43. CREATE TABLE DOMICILIOS_CLIENTES (
  44.     ID_DOMICILIO_CLIENTE  INTEGER NOT NULL,
  45.     ID_DOMICILIO          INTEGER NOT NULL,
  46.     ID_CLIENTE            INTEGER NOT NULL,
  47.     CODIGO_TIPO_DOMICILIO  INTEGER
  48. );
  49.  
  50.  
  51. CREATE TABLE PERSONAS (
  52.     ID_PERSONA        INTEGER NOT NULL,
  53.     NOMBRE            VARCHAR(40) NOT NULL,
  54.     AP_PATERNO        VARCHAR(20),
  55.     AP_MATERNO        VARCHAR(20),
  56.     FECHA_NACIMIENTO  DATE NOT NULL,
  57.     CORREO_E          VARCHAR(80),
  58.     TELEFONO          VARCHAR(40)
  59. );
  60.  
  61.  
  62. CREATE TABLE TIPOS_DE_DOMICILIO (
  63.     CODIGO_TIPO_DOMICILIO      INTEGER NOT NULL,
  64.     DESCRIPCION_TIPO_DOMICILIO  VARCHAR(40) NOT NULL
  65. );
  66.  
  67.  
  68.  
  69.  
  70. /******************************************************************************/
  71. /****                          Unique Constraints                          ****/
  72. /******************************************************************************/
  73.  
  74. ALTER TABLE CLIENTES ADD CONSTRAINT UNQ1_CLIENTES UNIQUE (ID_PERSONA);
  75.  
  76.  
  77. /******************************************************************************/
  78. /****                            Primary Keys                            ****/
  79. /******************************************************************************/
  80.  
  81. ALTER TABLE CIUDADES ADD CONSTRAINT PK_CIUDADES PRIMARY KEY (ID_CIUDAD);
  82. ALTER TABLE CLIENTES ADD CONSTRAINT PK_CLIENTES PRIMARY KEY (ID_CLIENTE);
  83. ALTER TABLE DOMICILIOS ADD CONSTRAINT PK_DOMICILIOS PRIMARY KEY (ID_DOMICILIO);
  84. ALTER TABLE DOMICILIOS_CLIENTES ADD CONSTRAINT PK_DOMICILIOS_CLIENTES PRIMARY KEY (ID_DOMICILIO_CLIENTE);
  85. ALTER TABLE PERSONAS ADD CONSTRAINT PK_PERSONAS PRIMARY KEY (ID_PERSONA);
  86. ALTER TABLE TIPOS_DE_DOMICILIO ADD CONSTRAINT PK_TIPOS_DE_DOMICILIO PRIMARY KEY (CODIGO_TIPO_DOMICILIO);
  87.  
  88.  
  89. /******************************************************************************/
  90. /****                            Foreign Keys                            ****/
  91. /******************************************************************************/
  92.  
  93. ALTER TABLE CLIENTES ADD CONSTRAINT FK_CLIENTES_1 FOREIGN KEY (ID_PERSONA) REFERENCES PERSONAS (ID_PERSONA);
  94. ALTER TABLE DOMICILIOS ADD CONSTRAINT FK_DOMICILIOS_1 FOREIGN KEY (ID_CIUDAD) REFERENCES CIUDADES (ID_CIUDAD);
  95. ALTER TABLE DOMICILIOS_CLIENTES ADD CONSTRAINT FK_DOMICILIOS_CLIENTES_1 FOREIGN KEY (ID_DOMICILIO) REFERENCES DOMICILIOS (ID_DOMICILIO);
  96. ALTER TABLE DOMICILIOS_CLIENTES ADD CONSTRAINT FK_DOMICILIOS_CLIENTES_2 FOREIGN KEY (ID_CLIENTE) REFERENCES CLIENTES (ID_CLIENTE);
  97. ALTER TABLE DOMICILIOS_CLIENTES ADD CONSTRAINT FK_DOMICILIOS_CLIENTES_3 FOREIGN KEY (CODIGO_TIPO_DOMICILIO) REFERENCES TIPOS_DE_DOMICILIO (CODIGO_TIPO_DOMICILIO);





Archivos adjuntos


  • 0

#24 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 20 agosto 2010 - 01:54

Hola Héctor.

A mi la base de datos me parece perfecta para el reto.

¿ Porqué no utilizas fbExport para pasarla a CSV y csv2xml para convertirlo a xml ?.

http://fbexport.sourceforge.net/
http://csv2xml.sourceforge.net/

Pero creo que no deberíamos poner todos los datos en el XML, o habría que ponerlos de forma que algunos haya que calcularlos (como los ID de Relación).

Y es que en lugar de simplemente volcar los datos tal y como están, sería más interesante que mientras los vuelcas también tengas que hacer alguna operación con ellos (que es lo habitual encontrarse cuando importamos datos externos). Es que sino todos acabaremos haciendo lo mismo y poco tendrá de reto.

Cosas como que en el archivo XML no tengamos tabla de ciudades, y que la ciudad esté con toda su descripción en la tabla de Domicilios. De forma que durante la importación habrá que rellenar la tabla de ciudades con los valores distintos que haya para el campo CIUDAD en DOMICILIOS. Y establecer la relación con ellas, cuando añadamos los registros de domicilios.
  • 0

#25 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 20 agosto 2010 - 01:56

Por cierto, estoy de vacaciones y mañana voy a Francia a pasar una semana con mi padre, por lo que no sé si podré conectarme mucho durante los próximos días.
  • 0

#26 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 20 agosto 2010 - 02:06

Hola

Por cierto, estoy de vacaciones y mañana voy a Francia a pasar una semana con mi padre, por lo que no sé si podré conectarme mucho durante los próximos días.

Que envidia, de la buena (y)
Que la pases muy bien amigo. (b)
Saludos
  • 0

#27 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.460 mensajes
  • LocationMéxico

Escrito 20 agosto 2010 - 02:07

Por cierto, estoy de vacaciones y mañana voy a Francia a pasar una semana con mi padre, por lo que no sé si podré conectarme mucho durante los próximos días.


Ah vaya, pues entonces aguantamos a tu regreso para iniciar el reto ;)

Salud OS

[off-topic]Sirve que tendremos una semana para analizar el asunto :D :D :D[/off-topic]
  • 0

#28 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.460 mensajes
  • LocationMéxico

Escrito 21 septiembre 2010 - 07:31

Y bien, el amigo Marc ¿aún no regresa de sus vacaciones? que envidia :)

Salud OS
  • 0

#29 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 21 septiembre 2010 - 08:07

Pues creo que fue la semana pasada que lo vi conectado, pero creo que estuvo de paso :D :D
  • 0

#30 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 27 septiembre 2010 - 12:41

A ver, A ver, que esto no se caiga joder :@
  • 0

#31 robert01

robert01

    Advanced Member

  • Miembros
  • PipPipPip
  • 162 mensajes
  • LocationArgentina

Escrito 30 agosto 2012 - 06:37

¿que pasó con el reto? me suena parecido a lo de Mambrú se fue a la guerra chiribim chiribim chin chin, etc

Saludos
  • 0

#32 Héctor Randolph

Héctor Randolph

    501st Legion

  • Moderadores
  • PipPipPip
  • 664 mensajes
  • LocationMéxico

Escrito 30 agosto 2012 - 10:33

¿Quién se apunta al reto?

Si logramos reunir por lo menos 5 participantes se reactiva la propuesta.

Ustedes dicen,
  • 0

#33 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 31 agosto 2012 - 01:25

Y cuál era el reto? :D :D

Es broma  ^o|

Si dais el script de la base de datos y el ficherito XML con los datos, me apunto ;)
  • 0

#34 casi

casi

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 191 mensajes

Escrito 13 septiembre 2012 - 02:46

je, je, je... el amigo Marc está aprovechando a tope con el código para sacaros ventaja :D

  • 0

#35 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.460 mensajes
  • LocationMéxico

Escrito 19 junio 2013 - 12:11

Y bien.....

Que hay sobre el reto.

Saludos
  • 0

#36 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 19 junio 2013 - 02:18

¿de qué trata esto? :o
  • 0

#37 Héctor Randolph

Héctor Randolph

    501st Legion

  • Moderadores
  • PipPipPip
  • 664 mensajes
  • LocationMéxico

Escrito 20 junio 2013 - 10:29

Me parece que aún conservo los datos que generé para el reto.

Vamos retomando la idea y le ponemos fecha.

¿Les parece bien?
  • 0

#38 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.460 mensajes
  • LocationMéxico

Escrito 20 junio 2013 - 10:41

Me parece que aún conservo los datos que generé para el reto.

Vamos retomando la idea y le ponemos fecha.

¿Les parece bien?


Me parece muy bien :)

Saludos

[off-topic]Ya se le extraña compañero, no fué a la presentación de RAD esta ocasión, no se desaparezca tanto[/off-topic] :)
  • 0

#39 FerCastro

FerCastro

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 637 mensajes
  • LocationCiudad de México

Escrito 19 diciembre 2013 - 12:04

Mta... mejor deberían hacer una competencia de ver quien toma más cerveza Indio, chance y podamos llegar a algo...

- Revisando foros que jamás habia revisado :dlaug: :dlaug:
  • 0

#40 Héctor Randolph

Héctor Randolph

    501st Legion

  • Moderadores
  • PipPipPip
  • 664 mensajes
  • LocationMéxico

Escrito 19 diciembre 2013 - 12:30

¿Chance podriamos llegar a algo?

Si, seguro que llegaríamos al hospital con una tremenda congestión alcohólica.

Jejeje

Salud  (b) (b)

  • 0




IP.Board spam blocked by CleanTalk.