I'm working on this model:

where as you may see one NaturalPerson can have many Order and the same for LegalPerson the only difference between NaturalPerson and LegalPerson are a few so in that case will be better to repeat all the Order fields in NaturalPerson and in LegalPerson or will be better to leave as I have right now? My only concern around my model is if is not this a serious inconsistency to leave an empty column at Order table (legal_person or natural_person depends on which the Order belongs to) as the Orders belongs to a Natural or a Legal but not both of them?
What will yours do in this case?
1st approach
For all the pros mentioned at this post I tough the best here is go with Class Table Inheritance so if I understood the explanation my model now is this one:

It's right?
2nd approach
See my own answer below ...

order_idhas no place in the persons tables. Can an order be associated with many persons? Is a person associated with only one order? – ypercubeᵀᴹ Sep 02 '14 at 17:37person_idare both PK and FK. (that's what both user18484 and Neil suggested, more or less). I'd prefer if you deleted this from the question and wrote it as an answer. (You can answer your own questions here!) – ypercubeᵀᴹ Sep 02 '14 at 18:33person_id,order_idas names everywhere (throw thoseidinto the fire). – ypercubeᵀᴹ Sep 02 '14 at 18:35person_idandorder_idas a names? you mean rename the field aspersonandorder? – ReynierPM Sep 02 '14 at 18:38idinpersonstable to renamed asperson_id. And theidinorderstables to be renamedorder_id. It's a personal preference - although shared I think by many, not to have columns named justid. – ypercubeᵀᴹ Sep 02 '14 at 18:39