Si vous voulez une base de données entièrement relationnelle, vous devrez créer une deuxième table. Cela contiendrait les informations du client. Cette clé devient alors une clé étrangère dans votre table Invoice, vous n'avez donc qu'à stocker les informations client une seule fois. Ce serait la méthode recommandée pour mettre en œuvre quelque chose comme ça.
L'autre méthode (et je ne la recommande pas) consiste à créer une référence circulaire à la facture "parente" (celle qui stocke les informations client). Ensuite, chaque fois que vous créez une nouvelle facture, vous devez insérer cet ID d'enregistrement parent, vous avez donc un moyen de récupérer les informations stockées. Pour toutes les autres factures du même client, vous laisserez simplement ces informations vides.