GDPR specifies that personal data must:
Those measures may include pseudonymisation provided that those purposes can be fulfilled in that manner. Where those purposes can be fulfilled by further processing which does not permit or no longer permits the identification of data subjects, those purposes shall be fulfilled in that manner.
In a normal workflow this data is normally pseudonymized, because there is a table on db with personal data with an ID that will be used as foreign key in the other ones, but in case of a security breach, if database is stolen the personal data is no longer pseudonymized.
Does this mean that we need to have another database with the personal data?
EDIT
Added article 32
Taking into account the state of the art, the costs of implementation and the nature, scope, context and purposes of processing as well as the risk of varying likelihood and severity for the rights and freedoms of natural persons, the controller and the processor shall implement appropriate technical and organisational measures to ensure a level of security appropriate to the risk, including inter alia as appropriate:
(a) the pseudonymisation and encryption of personal data; ...
[including inter alia as appropriate]