[Qualipso-a4] insertar topics en floss_topics
Javier Pueyo
jpueyo en gsyc.es
Mar Feb 2 01:20:41 CET 2010
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 ;-)
Saludos
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
More information about the Qualipso-a4
mailing list