Bases de Datos - consulta base de datos

 
Vista:

consulta base de datos

Publicado por consulta base de datos (1 intervención) el 07/11/2022 01:55:58
Buen día estimados quería ver si me pueden orientar con un modelo tengo que desarrolar una BBDD
para inscripcion en un centro de salud donde la persona puede tener 3 posibles ID pero ala vez puede tener solo 1 , las posibles claves pueden ser

1- rut
2- pasaporte
3- recien nacido sin rut (usa el rut del responsable)

actualmente cre 3 tablas diferentes para el modelo las tablas son las siguiente

persona Nacional -> clave primaria Rut
persona migrante -> clave primaria pasaporte
persona recién nacido -> clave primaria Rut responsable (hace a Rut de tabla nacional o pasaporte)

cree estas tablas pero no me convence el modelo

muchas gracias de ante mano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de Martha

consulta base de datos

Publicado por Martha (3 intervenciones) el 13/11/2022 12:17:54
Desde mi punto de vista el paciente_id tiene que ser único, y lo que tienes que poner como foreing key es el rut, el pasaporte o el recien nacido.

Los motivos son los siguientes: El migrante se puede convertir en nacional y tener un rut. Si lo vuelves a registrar con ese rut, perderás su historial (importante en medicina). Y el recien nacido, llegará un momento en el que tenga rut también, por lo que también perderás su historial. Además, tu país puede llegar un momento que acoja refugiados indocumentados (podría darse el caso) y tener que generar un nuevo tipo de paciente.

Haz una tabla `pacientes` y otra "tipos de paciente" (o `tipos_de_ciudadano` o `situacion_paciente`) y en la tabla `pacientes` pones de FK la PK de `tipos_de_paciente`.

De esta manera, cuando un paciente cambie su estado, porque políticamente podrá hacerlo, solo tendrás que cambiarle de clave foránea no de clave primaria.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar