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 :

Question de débutant sur clé étrangère


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 731
    Par défaut Question de débutant sur clé étrangère
    Bonjour,
    Je travaille avec l'outils SQLOPS pour SQL server. Le nom de ma data base est tourism
    je crée une table avec clé étrangère et je n'arrive pas à obtenir un nom de table référencé valide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CONSTRAINT FK_UCR_USER FOREIGN KEY (USER_ID)     
        REFERENCES dbo.TOURISM_USER (USER_ID)
    Sous SQLOPS j'ai la table dbo.TOURISM_USER

    et le message d'erreur est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Foreign key 'FK_UCR_USER' references invalid table 'dbo.TOURISM_USER'.
    j'ai essayé avec le nom TOURISM_USER, mais j'ai le même message d'erreur

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 731
    Par défaut
    J'ai éxécuté la requête de création de table et elle est passé sans erreur malgré le warning dont j'ai parlé avant. Seulement dans SQLOPS, il n'y a ni la contrainte de clé primaire, ni les contraintes de clé étrangère dans le sous repertoire Constraints de SQLOPS

    Voici la requête de création de table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    create table dbo.USER_CATEGORY_REFERENTIAL (
        USER_ID BIGINT NOT NULL,
        CATEGORY_ID BIGINT NOT NULL,
        CREATED_ON DATE NOT NULL,
        CATEGORY_ROOT NVARCHAR(256) NOT NULL,
        LEAF NVARCHAR(256),
        WEIGHT_VALUE FLOAT,
        CONSTRAINT PK_USER_CATEGORY_REFERENTIAL PRIMARY KEY (USER_ID, CATEGORY_ID),
        CONSTRAINT FK_UCR_USER FOREIGN KEY (USER_ID)     
        REFERENCES dbo.TOURISM_USER (USER_ID),
        CONSTRAINT FK_UCR_CATEGORY_REFERENTIAL FOREIGN KEY (CATEGORY_ID)     
        REFERENCES dbo.CATEGORY_REFERENTIAL (CATEGORY_ID) 
    )

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Par défaut
    Bonjour
    Pour ton premier post, quel est la clé primaire de la table dbo.TOURISM_USER, si ce n'est pas user_id, tu ne pourras pas faire de Foreign key tel que tu l'essayais.
    Pour ton deuxième Post, as-tu essayé de raffraichir la description de tes tables, pour voir les FK?
    Cordialement
    Soazig

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 731
    Par défaut
    Bonjour Soazig et merci de ta réponse, je te réponds demain

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 731
    Par défaut
    Bonjour Soazig,

    la clé primaire de la table dbo.TOURISM_USER, est bien user_id

    et quand je rafraichi la description de mes tables, je ne vois pas les FK dans le répertoire Constraints

    En fait j'ai l'impression que j'utilise mal SQLOPS

    Nom : Capture d’écran 2018-07-02 à 16.28.34.png
Affichages : 351
Taille : 76,8 Ko
    je me suis connecté avec la connection par defaut localhost

    j'ai créé une base de donnée TOURISM et 4 tables.

    J'ai une première question: la base de donnée TOURISM est créé au même niveau hierarchique que le repertoire "System Databases". Or dans ce dernier répertoire il y a les 4 bases de données par défaut : master, model, msdb, tempdb. Est-ce normal que la base de donnée TOURISM soit à un niveau supérieur?

    Deuxième question : pour la table USER_CATEGORY_REFERENTIAL dont j'ai donné le code, les contraintes de clé primaire et étrangère sont référencées dans le répertoire Keys et non dans le répertoire Constraints, est-ce normal

    Et surtout un gros problème : quand j'éteins mon ordinateur et le rallume, la base de donnée TOURISM et les tables qui le composent ont disparu : à quoi cela peut être dû ?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 731
    Par défaut
    Bonjour, gros gros problème

    quand j'éteins mon ordinateur et le rallume, la base de donnée TOURISM et les tables qui le composent ont disparu, et cela à chaque fois : à quoi cela peut être dû ?

    Pour lancer la base de donnée, je rentre la commande suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    docker run -d --name sql_server_demo -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=reallyStrongPwd123' -p 1433:1433 microsoft/mssql-server-linux

  7. #7
    Invité
    Invité(e)
    Par défaut
    C'est le principe du docker, tout est réinitialisé au redémarrage, même les fichiers de bds.
    Pour conserver tes bds, tu dois stocker tes datafiles à l'extérieur du docker.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 731
    Par défaut
    Bonjour 7gyY9w1ZY6ySRgPeaefZ et merci pour ta réponse

    Pour conserver tes bds, tu dois stocker tes datafiles à l'extérieur du docker.
    Peux tu m'indiquer un bon tuto qui explique car pour moi, c'est du chinois

Discussions similaires

  1. question de débutant sur l'import DLL
    Par pdgnr dans le forum C++Builder
    Réponses: 4
    Dernier message: 28/04/2006, 22h26
  2. question de débutant sur les jointures
    Par dreamcocktail dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/03/2006, 16h24
  3. [MySQL] Question de débutant sur l'optimisation d'un site
    Par digger dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/02/2006, 15h29
  4. Question de débutant sur la commande Accept
    Par deaven dans le forum Oracle
    Réponses: 1
    Dernier message: 21/10/2005, 09h25
  5. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 11h51

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