IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SSIS Discussion :

[ssis][2k5] foreign key


Sujet :

SSIS

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 36
    Points : 28
    Points
    28
    Par défaut [ssis][2k5] foreign key
    bonjour
    avant tous je m'éxcuse pour la longueur de mon message.
    je suis en train d'alimenter mon premier datawarehouse avec ssis. Mon DW est conçu selon le modele en etoile , pour les tables de dimensions j'arrive à les charger sans aucun probleme , mais au niveau de la table des faits je me trouve bloqué car j'arrive pas à charger les foreign keys (clés etrangers referencant les tables de dimensions déja remplis), je vous informe que ma source est une table sql server ayant la structure suivante
    ***source***
    id_recette
    montant
    date
    rubrique

    j'ai deux tables de dimensions (rubrique et temps) ayant la structure suivante
    ***rubrique*** ***temps***
    id_rubrique id_date
    rubrique jour
    mois
    annee

    ma table de faits a la structure suivante
    ***recettes***
    id_recette
    id_date (fk_recettes_temps)
    id_rubrique (fk_recettes_rubrique)
    somme

    j'attends votre aide, merci.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    desolé, les deux tables de dimensions ne sont pas assez claires

    ***rubrique***
    id_rubrique
    rubrique

    ***temps***
    id_date
    jour
    mois
    annee

  3. #3
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut
    Si tu veux vraiment faire de vraies clés étrangères dans ton entrepôt de données (à ce niveau c'est un choix philosophique), je te conseille de "désactiver" les relations de clés dans SSIS, charger tes données et réactiver tes clés. Tu peux utiliser le composant Lookup aussi pour gérer l'alimentation de ta table de faits

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut
    Bonjour,

    Pour alimenter une table de faits, on utilise en général une Recherche. En partant de la source, tu cherches le champs Rubrique dans la dimension Rubrique et tu récupères id_rubrique quand le match correspond. Tu drop ensuite le champ Rubrique de ta source, puis tu fais une Recherche du champs Date dans la dimension Temps et tu récupères id_date quand le match correspond. Tu drop ensuite le champ Date de ta source. Alors tu peux insérer dans ta table en bulk avec Verrou De Table activé.

    a+, =)
    -=Clement=-

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    merci pour vos reponses
    mais si vous voulez expliquez moi Mr clementratel un peu plus en détail car j'arrive pas à saisir votre idée.
    Et pour Mr Ygrim est ce que vous voulez dire qu'à chaque fois que je veux alimenter mon DW je dois désactiver les clés étrangères puis les réactiver.
    j'attends votre explications SVP.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    j'ai une autre question pour vous Mr Ygrim, est ce que je peux passer par un modèle en étoile sans avoir des foreign keys entre ma table de faits et mes tables de dimensions

    merci.

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut
    Tu crées un package, dans le Control Flow tu crées une Data Flow Task. Dans la Data Flow Task tu crées un Source OLE DB ayant pour source ta table source qui contient des libellés. Tu places un composant Recherche connecté à cette source. Dans ce composant, dans le premier onglet, tu indiques la table de dimension qui existe déjà dans ton architecture en étoile et qui est déjà alimentée. Elle contient une table de correspondance id / libellé. Dans le deuxième onglet tu auras à gauche la source et à droite la dimension. Tu relies le libellé de la source au libellé de la dimension pour indiquer que ce sont les champs dont il faut vérifier l'égalité. Tu coches l'id pour indiquer qu'en cas d'égalité tu veux ajouter le champ id à ta ligne. Pour dropper, utilise Unir Tout.

  8. #8
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut
    C'est une ecole de pensée, à laquelle j'adhère. Ton ETL doit être assez robuste pour ne pas permettre des problèmes d'integrité référencielle et ta conception de base de donnée doit contrôler les acces en ecriture à ta base (n'avoir qu'un seul utilisateur en lecture pour lire de l'entrepot et un utilisateur en ecriture que l'ETL utilisera). L'ETL est censé être la seule porte par laquelle les données peuvent passer pour aller à l'entrepot.

    Si ces deux conditions sont satisfaites, plus besoin de cles etrangères.
    Citation Envoyé par bidts Voir le message
    j'ai une autre question pour vous Mr Ygrim, est ce que je peux passer par un modèle en étoile sans avoir des foreign keys entre ma table de faits et mes tables de dimensions

    merci.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    SVP donner mois des explications à propos des deux composants lookup et bulk de ssis

  10. #10
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut
    Bonjour,
    Citation Envoyé par bidts Voir le message
    [...]lookup et bulk de ssis
    Voici des explications supplémentaires. Un composant lookup (Recherche en vf), prend en entrée un flux. Il permet d'aller comparer certaines colonnes de ce flux à celles d'une table et de retourner des colonnes de cette table en cas d'égalité des colonnes comparées. Un composant bulk est une abréviation pour parler d'un composant Destination OLE DB dans lequel on a sélectionné Chargement Rapide. C'est un chargement qui charge les données par paquets. Il interdit donc le réacheminement de la ligne en cas d'erreur mais donne de bonnes performances.

    a+, =)
    -=Clement=-

  11. #11
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    merci beaucoup pour votre aide

  12. #12
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut
    Merci à toi pour tes questions
    N'oublies pas de marquer le post résolu s'il l'est.

Discussions similaires

  1. SSIS et Foreign keys
    Par Luyiii dans le forum SSIS
    Réponses: 3
    Dernier message: 01/12/2011, 18h06
  2. [SSIS][2k5] Conception ETL , Surrogate key
    Par jdmbh dans le forum SSIS
    Réponses: 10
    Dernier message: 29/05/2008, 15h39
  3. Réponses: 7
    Dernier message: 09/05/2008, 17h45
  4. [postgresql][foreign key]
    Par elea1206 dans le forum Requêtes
    Réponses: 5
    Dernier message: 28/08/2003, 12h07
  5. [Foreign Key] Besoin d'explication.
    Par Andry dans le forum Débuter
    Réponses: 4
    Dernier message: 28/05/2003, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo