[Qualipso-a4] insertar topics en floss_topics

Miguel Angel Tinte García matinte en libresoft.es
Mar Feb 2 11:08:50 CET 2010


El lun, 01-02-2010 a las 19:20 -0500, Javier Pueyo escribió:
> Hola,
> 
> Me he explicado mal en mi mail anterior. Las tablas tal y como están
> deberían quedar así:
> 
> mysql> select * from floss_topics;
> +---------+-------------+----------+
> | topicid | description | label    |
> +---------+-------------+----------+
> |       1 | issue       | issue    | 
> |       2 | noissue     | noissue  | 
> |       3 | version     | version  | 
> |       4 | noversion   | noversion| 
> |       5 | license     | license  |  
> |       6 | nolicense   | nolicense| 
> |---------+-------------+----------+
> 
> Esta tabla es casi fija y solo se usaría para leer el topicid que
> corresponde a cada topic.
> 
> mysql> select * from floss_sources;
> +--------+---------+
> | itemid | topicid |
> +--------+---------+
> |      1 |       1 | 
> |      1 |       3 | 
> |      1 |       6 | 
> |      4 |       3 | 
> |      5 |       3 | 
> |      6 |       3 | 
> |      7 |       4 | 
> |      7 |       1 | 
> |      7 |       6 | 
> +--------+---------+
> 
> Esta tabla es la importante. En ella se asigna a cada itemid los
> topicids que le corresponden. Por eso itemid puede repetirse (es decir,
> el item tiene varios topics) y también se repite topicid (diferentes
> items tienen diferentes topics).
> 
> Mi propuesta era simplificar y cambiar el topicid por un campo topic
> tipo TEXT (siempre que no haya una pérdida apreciable de rendimiento) la
> tabla quedaría entonces:
> 
> mysql> select * from floss_sources;
> +--------+-----------+
> | itemid | topic     |
> +--------+-----------+
> |      1 | issue     | 
> |      1 | version   | 
> |      1 | nolicense | 
> |      4 | version   | 
> |      5 | version   | 
> |      6 | version   | 
> |      7 | noversion | 
> |      7 | issue     | 
> |      7 | nolicense | 
> +--------+-----------+
> 
> que sería una combinación de las dos tablas floss_topics y
> floss_sources.
> 
> Espero haberme explicado mejor esta vez ;-)
OK, sí ahora entiendo bien como se almacena cada topic. Voy a intentar
modificar esa tabla como propones tú.
> 
> Saludos
Gracias Javier
> 
> Javier
> 
> 
> El lun, 01-02-2010 a las 19:49 +0100, Miguel Angel Tinte García
> escribió:
> > Hola de nuevo, 
> > 
> > he ejecutado el extractor de Bugs para almacenar información en
> > floss_sources y floss_topics y tengo esto:
> > mysql> select * from floss_sources;
> > +--------+---------+
> > | itemid | topicid |
> > +--------+---------+
> > |      1 |       1 | 
> > |      2 |       2 | 
> > |      3 |       3 | 
> > |      4 |       4 | 
> > |      5 |       5 | 
> > |      6 |       6 | 
> > |      7 |       7 | 
> > |      8 |       8 | 
> > |      9 |       9 | 
> > +--------+---------+
> > 9 rows in set (0.00 sec)
> > 
> > mysql> select * from floss_topics;
> > +---------+-------------+---------+
> > | topicid | description | label   |
> > +---------+-------------+---------+
> > |       1 | issue       | issue   | 
> > |       2 | noissue     | noissue | 
> > |       3 | noissue     | noissue | 
> > |       4 | noissue     | noissue | 
> > |       5 | noissue     | noissue | 
> > |       6 | noissue     | noissue | 
> > |       7 | noissue     | noissue | 
> > |       8 | noissue     | noissue | 
> > |       9 | noissue     | noissue | 
> > +---------+-------------+---------+
> > 9 rows in set (0.00 sec)
> > 
> > La verdad que no le veo mucho sentido a la información almacenada.
> > ¿Alguna idea para almacenar esto de una manera más lógica?
> > 
> > Gracias,
> > 
> > Saludos
> > 
> > 
> > El lun, 01-02-2010 a las 07:54 -0500, Javier Pueyo escribió:
> > > El vie, 29-01-2010 a las 18:46 +0100, Jose Gato Luis escribió:
> > > > Perfecto, está claro que esta tabla la pusimos para eso ;)
> > > > 
> > > > El 29/01/10 16:36, Miguel Angel Tinte García escribió:
> > > > > Pensando en cómo y donde insertar los topics encontrados por la
> > > > > herramienta de Javier Pueyo he visto la tabla floss_topics:
> > > > >
> > > > > +-------------+-------------+------+-----+---------+-------+
> > > > > | Field       | Type        | Null | Key | Default | Extra |
> > > > > +-------------+-------------+------+-----+---------+-------+
> > > > > | topicid     | int(10)     | NO   | PRI | NULL    |       |
> > > > > | description | mediumtext  | NO   |     | NULL    |       |
> > > > > | label       | varchar(80) | NO   |     | NULL    |       |
> > > > > +-------------+-------------+------+-----+---------+-------+
> > > > > 3 rows in set (0.00 sec)
> > > > >
> > > > > Gato, ¿que te parece si la utilizamos para almacenar los topics?
> > > 
> > > Esta tabla estaba pensado para introducir los ~10 topics que analizamos,
> > > con una etiqueta y una descripción:
> > > 
> > > topicid		label		description
> > > ------------------------------------------------
> > > 1		issue		blah, blah, blah
> > > 2		noissue		noblah, noblah, noblah
> > > 
> > > es decir, es una tabla que solamente contendría ~10 rows.
> > > 
> > > El topicid de esta tabla se usa para introducir un topicid en la tabla
> > > floss_sources junto al itemid (identificador único) del item analizado.
> > > La relación se establece entonces entre floss_sources.topicid y
> > > floss_topics.topicid. De alguna manera hay que mantener la relación
> > > entre el itemid y el (o los) topicid(s) que le corresponde(n) (ya que un
> > > item puede hablar de varios topics). Por cierto floss_sources.itemid
> > > debería permitir valores repetidos.
> > > 
> > > Yo propondría simplificar y dejar solamente la tabla floss_sources pero
> > > cambiando el topicid por un campo "topic" (tipo TEXT):
> > > 
> > >  
> > > itemid		topic
> > > ------------------------------------------------
> > > 1 		issue
> > > 1 		noversion
> > > 2		version
> > > 
> > > La ventaja es que no hay que consultar floss_topic para averiguar el
> > > topicid en cada ocasión para insertarlo después en floss_sources. No sé
> > > qué problemas de performance puede dar ese campo tipo TEXT y si es mejor
> > > dejar ambas tablas con sus relaciones y sus ids.
> > > 
> > > > >
> > > > > Ciao
> > > > >
> > > > >
> > > > 
> > > 
> > > 
> > > _______________________________________________
> > > Qualipso-a4 mailing list
> > > Qualipso-a4 en gsyc.escet.urjc.es
> > > http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/qualipso-a4
> 
-- 
Miguel Ángel Tinte García        
Libre Software Engineering Lab (GSyC)  | Universidad Rey Juan Carlos
matinte en libresoft.es         
http://libresoft.urjc.es/   



More information about the Qualipso-a4 mailing list