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

Langage SQL Discussion :

Notion de champs référents


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 14
    Points : 15
    Points
    15
    Par défaut Notion de champs référents
    Bonjour,

    Je voulais savoir, si en langage SQL, la notion de "REFERENCE FIELD" existait (que l'on retrouve en RPG). Je m'explique : Prenons deux tables avec le même type de colonne 1 VARCHAR(50)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE TABLE table1
    (Col1 VARCHAR(50),
     ...,
     ... );
     
    CREATE TABLE table2
    (Col1 VARCHAR(50),
     ...,
     ...);
    Pour imager, on va dire que ces deux tables sont des tables clients et que les colonnes 1 sont des numéros de clients. Il est donc indispensable que les 2 colonnes 1 soient du même type.

    Ma question : Au lieu de redéfinir la colonne 1 de la table 2 comme VARCHAR(50), peut-on faire pointer cette colonne 1 vers la colonne 1 de la table 1 pour être sûr d'avoir le même type pour les deux colonnes.

    Un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE TABLE table1
    (Col1 VARCHAR(50),
     ...,
     ... );
     
    CREATE TABLE table2
    (Col1 REF TABLE1.Col1
     ...,
     ...);
    Merci d'avance.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Citation Envoyé par guillaume_85
    Pour imager, on va dire que ces deux tables sont des tables clients et que les colonnes 1 sont des numéros de clients. Il est donc indispensable que les 2 colonnes 1 soient du même type.
    Je ne suis pas d'accord avec la déduction que vous faîtes ici.
    Pour moi, voilà justement une des utilités des fonctions de conversions.
    Pouvez-vous préciser votre besoin parce que justement ces fonctions peuvent peut être répondre à votre besoin ?

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 14
    Points : 15
    Points
    15
    Par défaut
    Magnus a écrit :
    Pour moi, voilà justement une des utilités des fonctions de conversions.
    Les fonctions de conversions sont utilisées une fois que les tables sont en place et contiennent des données.

    Je n'en suis pas encore là. Ma base n'est pas encore créée.

    Cette base va contenir un grand nombre de tables. Dans ces tables, on va retrouver plusieurs fois la notion de n° de client (pour reprendre l'exemple). Et, au lieu de définir à chaque fois mon n° de client en VARCHAR(50), je voudrais le définir une seule fois, et faire pointer tous les autres champ n° de client sur le champ que j'aurais défini.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 875
    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 875
    Points : 53 053
    Points
    53 053
    Billets dans le blog
    6
    Par défaut
    Oui, cela existe, c'est même une des bases importante du fondement des SGBD relationnel : cela s'apelle le domaine.

    Je vous invite à lire ce que j'ai écrit sur le sujet :
    http://sqlpro.developpez.com/cours/s...e=partie1#L5.4

    Il est même fortement conseillé de recourir aux domaines si vous voulez que vos bases soient correctes.

    A +

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 14
    Points : 15
    Points
    15
    Par défaut
    Merci, c'est exactement ce que je cherchais. Bon pas de bol, à priori, DB2/400 ne reconnait pas le mot clé DOMAIN. Je vais me rapprocher des forums DB2/400.

    Encore merci et bonne journée.

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

Discussions similaires

  1. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 14h38
  2. [VB6] [Datareport] définir un champ
    Par ckankonvahou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/10/2002, 11h16
  3. [ADO] Constantes des types de champ
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/09/2002, 11h08
  4. Taille des champs proportionnelle...
    Par Depteam1 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 09/08/2002, 11h48
  5. taille max du nom d'un champ
    Par hna dans le forum Paradox
    Réponses: 2
    Dernier message: 28/07/2002, 02h40

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