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