[Qualipso-a4] insertar topics en floss_topics

Jose Gato Luis jgato en libresoft.es
Mie Feb 3 11:11:12 CET 2010


Me parece bien cualquiera de las 2 opciones que propone Javier. Pero, 
antes de nada, confirmarlo con Quiles por favor. El está  trabajando con 
el buscador conceptual, y necesitamos estar de acuerdo en "que" 
almacenamos, "como" y "donde" ;)



El 02/02/10 11:08, Miguel Angel Tinte García escribió:
> 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
>>

-- 
José Gato Luis                   | Libre Software Engineering Lab (GSyC)
Tel: (+34)-914 888 105           | Universidad Rey Juan Carlos
jgato en libresoft.es               | Edif. Departamental II - Despacho 121
http://libresoft.urjc.es/        | c/Tulipán s/n 28933 Móstoles (Madrid)


More information about the Qualipso-a4 mailing list