Cita:
Iniciado por Libras
Tienes 2 tablas con los mismos campos, eso esta mal para un modelo relacional, lo cual dice que tu base de datos no esta normalizada, ademas veo que tienes 8 campos repetidos en las tablas de persona_fisica, juridica,
las 2 tablas xlj_cliente_pf y xlj_cliente_pj, podrian quedar en una sola tabla usando los tipos que te menciono quedando
xlj_cliente
id
.....
Para persona fisica y juridica podriamos sacar una tabla para personas, con estos datos:
Personas
id
id_tipo
cuit
xlj_status_id
created_by
created_at
updated_by
updated_at
bloqueo
id_user_bloqueo
version
otra tabla para personas fisicas:
p_fisicas
id FK a personas con el id
num_documento
apellido
......
otra para personas juridicas
id FK a personas con el id
ingresos
razon
.....
Y por supuesto la tabla de tipos
Tipos
id_tipo
descripcion
Y al momento de hacer la factura, nada mas usarias el Id de la tabla personas, tienes el tipo para saber a que tipo corresponde
Libras! Entiendo lo que me dices. Es bueno el análisis, igualmente te cuento que esos campos:
xlj_status_id
created_by
created_at
updated_by
updated_at
bloqueo
id_user_bloqueo
version
Son de auditoria, son necesarios y requerimiento del cliente, y la base en general está normalizada, sino fijate en las relaciones con estado civil, genero, etc. Son fk de otras tablas que se han separado para que pueda estar normalizada.
Cada registro de la base de datos requiere de esos campos, por ejemplo version se utiliza para los bloqueos optimistas, lo trabajo con el framework Yii2 y ActiveRecord.
Pero ahora me cierra más y mejor el de poner una tabla principal PERSONA y de ahí relacionar las otras....
Muchas gracias!!!