Storing in a separate table in your database would not violate the first normal form. This normalization does not impose anything that information should be somewhere outside, it refers to the relational model of your database. Storing in the same table will be a violation.
The question is whether the result will be as expected. Can the data in the external resource change? What happens if this occurs? Do you want the data in your database to be updated as well, or is it ideal that it remains as it was at the time of use? If it is the last option, how do you resolve if the external information is used again is different? I doubt it’s the case of an invoice, but I don’t know how they operate.
Regardless of the answer, do what you need to do. Don’t be worried about whether you’re in the normal form or not. It’s good that you are, but if you have reason not to follow the normal way, don’t, it’s not mandatory. If you start doing it because someone said you should always do it this way, you’ll be doing it wrong. Do what’s right for your project. Denormalizing is interesting too.
I don’t know the case in detail, but I would probably bring the data to my base so it doesn’t depend on external resources. Depending on the case there may be a need for a verification mechanism if the data is up to date.
Instead of keeping alone
numero de identificação
you want to know if save all other information will violate the 1FN?– rray
That’s right, if you store this data that can be accessed, it would violate...
– LocalHost
Relevant topic: http://answall.com/q/151323/132
– Victor Stafusa
I imagine you want to save everything in case of an unavailability, I don’t see that violating 1FN. A violation can occur for two reasons columns with duplicate information ex: a table with 2 or more fields for phones or emails and have multivariate fields.
– rray