Base de datos desde 0 y recomendaciones

Alexis Roda alexis.roda.villalonga en gmail.com
Vie Jul 25 22:04:43 CEST 2008


En/na Cristhian Boujon ha escrit:
> Que tal? no tengo ni idea sobre bases de datos, asi que le pregunto a los
> que saben, estoy construyendo una aplicacion para mi tio de gestión de
> pacientes, donde tengo algo asi como:
> 
> class RegPaciente():
>     def __init__(self,nombre,apellido,telefono,ciudad):
>         self.nombre = nombre
>         self.apellido = apellido
>         self.telefono = telefono
>         self.ciudad = ciudad
>         self.fecha_atencion = time.strftime ('%A, %d de %B del %Y')

Debería añadir un campo codigo_paciente

> y necesito guardar esto en una base de datos. Que me aconsejan? que es lo
> mas indicado? tengo la idea de que SQLite es lo mejorcito para este caso,
> pero diganme ustedes.

Si la aplicación es monousuario SQLite puede ser una buena opción. Si 
tienes necesidades mas complejas te recomendaría postgres.

Con independencia de que base de datos escojas, utilizar un ORM como 
sqlalchemy, storm o sqlobject puede facilitarte la vida.

> De paso aprovecho y les pregunto, en esta clase me falta otro atributo que
> seria algo así como la ultima consulta que realizó. Este al igual que
> fecha_atención, irá creciendo, guardando todas las veces que un paciente fue
> atendido, Seria correcto implementar una lista para cada uno de estos dos
> atributos mencionados y así estas estés en paralelo?

De las pocas bases de datos que conozco solamente postgres permite 
definir campos de tipo lista/array. Es posible emularlos, pero es poco 
elegante y pierdes la capacidad de realizar consultas sobre esta 
información desde SQL.

Desde un punto de vista relacional deberías utilizar una tabla separada 
para guardar el historial de consultas. Algo como:

class Consulta :
     def __init__(self, codigo, fecha, ...) :
       self.codigo_paciente = codigo
       self.fecha = fecha
       ...

el campo codigo_paciente es el que vincula (relaciona) un paciente con 
sus consultas.




Saludos
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es