Créer un referentiel unique avec jointure VERSUS fusion des tables
Bonsoir ,
Voici une image qui vaudra mieux qu'un long discours :
https://i.goopics.net/800/NYYlP.jpg
J'ai une table "abonnement" qui comme son nom l'indique stocke des abonnements en mode "archive" . Des qu'un abonnement est sujet à "modification" , je précise bien "modification" une nouvelle ligne est injectée dans la table.
Lors de l'instruction "create table", la primary key est un id de ligne auto incremente. Num_abo lui est indexé et declaré aussi en "key" , noter ce champ Num_abo est aussi déclaré en "unique key" pour définir la combinaison d'une ligne qui est unique.
Pour la table "changement_abonnementé c'est la même logique de construction cette fois pour de la création,migration,reactivation.
Je dois faire transiter les données d'une grosse base vers un datawarehouse en mode "relationnel". Problème je n'ai aucun control pour m'assurer que le num_abo est bien présent dans chacune des 2 tables :
2 solutions s'offrent à moi :
cas 1 : créer un réferentiel unique ou je mets le num_abo + un date insertion, des qu'un nouvelle abonnement est détecté il est inséré . Si déjà existant , je ne fais rien .
Cas 2 : j'empile les données de 2 tables pour m'affranchir de la contrainte relationnelle et n'en garder qu'une seule au final.
J'ai quand même 2 choses à noter :
- l'absence de contrainte en mode relationnel est très dangereuse ... risque du manque de contrôle pour m'assurer que tout est bien dans le referentiel
- l'empilement des données okay ... mais cela a surtout l'air d'être un bricolage comment c'est pensé ...
Merci d'éclairer ma lanterne ;)