[pyar] Estructura de datos para representar relaciones/tablas

Leandro Moscheni leandromoscheni en gmail.com
Mie Jul 1 18:34:19 ART 2015


En ese caso por hay te conviene implementar un patron de diseño que se
llama composite, y hacer dos clases:

class Tabla(object):

def __init__(self):
self.campos = []
    #Tene en cuenta que vas a tener que de alguna forma acomodar las
posiciones,etc y respetarlas
    def agregarCampo(self, campoNuevo):
    self.campos.append(campoNuevo)

class Campo(object):
    def __init__(self, tipoDelCampo, valor):
    self.tipo = tipoDelCampo
    self.valor = valor

Igual como te respondieron en el otro mail, si lo que queres es usar una
base de datos, no te rompas las cabeza y usa sqlite3 y listo, ahora si lo
haces con fines de aprender, para la facultad, etc es otro tema :)


El 1 de julio de 2015, 18:27, Gabriel Acosta <acostadariogabriel en gmail.com>
escribió:

> Claro, la idea es hacer algo así:
>
> class Relation(object):
>     def __init__(self):
>         # Contenido de la tabla
>         pass
>
>     def selection(self, expression):
>         new_relation = Relation()
>         # Implementar
>         return new_relation
>
> Y poder luego visualizar las tablas/relaciones en un QTableWidget por
> ejemplo.
>
> El 1/7/15, Leandro Moscheni <leandromoscheni en gmail.com> escribió:
> > Yo lo encapsularía en objetos en vez de verlo como arrays/listas, pero
> con
> > que fin tenes que representar tablas? porque según para que sea te puede
> > convenir una cosa u otra, o hasta entra en juego si te lo piden, como
> > quieren que este...
> >
> > El 1 de julio de 2015, 18:17, Gabriel Acosta <
> acostadariogabriel en gmail.com>
> > escribió:
> >
> >> Buenas lista!
> >>
> >> Necesito representar relaciones, tablas, por ejemplo:
> >>
> >> id  |  name   |   skill
> >> ------------------------
> >> 2      name1   Python
> >> 23    name2   C
> >> 9      name3   Go
> >>
> >>
> >> Cuál es la mejor forma de representarlas?
> >>
> >> Pensé usando lista de diccionarios:
> >>
> >> l = []
> >> l.append({'id': 2, 'name': 'name1', 'skill': 'Python'})
> >> l.append({'id': 9, 'name': 'name3', 'skill': 'Go'})
> >>
> >> Las operaciones que necesito implementar sobre esas tablas son las
> >> operaciones del álgebra relacional (selección, proyección, join, etc).
> >>
> >> Saludos!
> >> --
> >> Gabriel Acosta
> >> _______________________________________________
> >> pyar mailing list pyar en python.org.ar
> >> http://listas.python.org.ar/listinfo/pyar
> >>
> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >>
> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> >> Argentina - http://www.usla.org.ar
> >>
> >
> >
> >
> > --
> > --- * ---
> > *Leandro Moscheni.*
> >
>
>
> --
> Gabo
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>



-- 
--- * ---
*Leandro Moscheni.*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150701/fe820d35/attachment.html>


More information about the pyar mailing list