Cita: ...
Caso 2:
USUARIO(DNI_usuario, Tipo_usuario, Nombre, Apellidos, Pais, CP,
Direccion, Poblacion, Provincia, Email, Fecha_nacimiento, Password, ID_Cargo)
CARGO(DNI_ID_CArgo, NombreCargo)
Este caso es más simple: Sólo cruza dos tablas. Pero un usuario sólo puede ser Administrativo o Medico. No ambos. La ventaja es Que sólo debes insertar a los usuarios y el cargo queda en ese momento establecido sin otro INSERT. La tabla CARGO , por su parte, se carga sólo una vez y sufre pocas modificaciones.
Habria una tercera solución más simple aún
USUARIO(
DNI_usuario, Tipo_usuario, Nombre, Apellidos, Pais, CP,
Direccion, Poblacion, Provincia, Email, Fecha_nacimiento, Password, ID_Cargo)
Tipo_usuario fk referida a idTipousuario
TIPOUSUARIO(
idTipo,NombreTipo)
TIPOUSUARIO
idTipo:NombreTipo
1:::::::Administrador
2:::::::Medico
o una cuarta más simple aún
USUARIO(
DNI_usuario, Tipo_usuario, Nombre, Apellidos, Pais, CP,
Direccion, Poblacion, Provincia, Email, Fecha_nacimiento, Password, ID_Cargo)
donde se define Tipo_usuario como enum('Administrador','Medico') al crear la tabla.
Estas siempre para el caso en que un usuario puede ser de uno y solo un tipo.
Quim