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

Développement SQL Server Discussion :

Clé étrangère sur une autre base


Sujet :

Développement SQL Server

  1. #1
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut Clé étrangère sur une autre base
    Bonjour tout le monde,

    J'ai 2 bases de données A et B.
    Dans A, j'ai une table Ta qui possède un champ Ca qui doit référencer (clé étrangère) le champ Cb dans la table Tb de la base B.

    Mes questions sont :
    • Comment faire (j'ai cru voir sur le net qu'il fallait connaitre le propriétaire de la table en question mais je ne vois pas comment faire) ?
    • Est-ce propre (j'ai un gros doute la dessus) ?
    • Est-ce dangereux niveau sécurité ?

    De même comment je peux faire une requête entre 2 tables se trouvant sur 2 bases différentes (je suppose que la réponse me sera donnée lorsque j'aurais la réponse à la question ci-dessus) ?

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 770
    Points : 52 726
    Points
    52 726
    Billets dans le blog
    5
    Par défaut
    Comment faire (j'ai cru voir sur le net qu'il fallait connaitre le propriétaire de la table en question mais je ne vois pas comment faire) ?
    Il n'est pas possible de faire une DRI (Integrité référentielle déclarative) entre deux bases de données car ce sont des objets logiquement indépendants, et donc le risque d'incohérence possible est total !

    Est-ce propre (j'ai un gros doute la dessus) ?
    Non c'est même imbécile !

    Est-ce dangereux niveau sécurité ?
    Oui, car la possibilité de désynchronisation entre les deux bases est élevé.

    Si vous voulez faire cela il faut que les tables soient dans la même base. Il vaut mieux d'ailleurs n'utiliser qu'une seule base plutôt que plusieurs, sauf si le volume à stocker est trop élevé (plusieurs tera octets).
    Vous pouvez jouer sur les schéma.

    Une solution de contournement consiste à utiliser un trigger. Mais si votre base n'est pas disponible, alors bonjour les performances !!!

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Merci pour les infos, j'ai toutes les informations qu'il me faut.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appel de procédures sur une autre base
    Par Chris_Ewoks dans le forum PL/SQL
    Réponses: 5
    Dernier message: 18/04/2008, 12h01
  2. Appel de procédures sur une autre base
    Par Chris_Ewoks dans le forum SQL
    Réponses: 5
    Dernier message: 18/04/2008, 12h01
  3. OPENROWSET sur une autre base de données
    Par elsuket dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/05/2007, 16h19
  4. [trigger] opérant sur une autre base ?
    Par Den's dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 09/05/2006, 20h16
  5. clef étrangère référençant une autre base
    Par menoce dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 06/07/2005, 19h31

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