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écisions SGBD Discussion :

[Concept] Table de référence


Sujet :

Décisions SGBD

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2002
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [Concept] Table de référence
    Salut à tous.

    J'voulais savoir, en terme de développement de ma BD sous Merise, comment peut on interpreter une table sans aucune relation avec les autres qui m'aide juste lors de certaines requêtes ???
    En plus, comment expliquer ce genre de table à une personne novice dans les BD ???

    Table de référence, ça vous parle ???

    Merci de m'éclaicir sur ce point...
    :

  2. #2
    Membre éclairé

    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    412
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2002
    Messages : 412
    Points : 657
    Points
    657
    Par défaut
    J'voulais savoir, en terme de développement de ma BD sous Merise, comment peut on interpreter une table sans aucune relation avec les autres qui m'aide juste lors de certaines requêtes ???
    Si c'est une table qui contient des données intermédiaires dans des calculs à plusieurs étapes, alors il faut utiliser les tables temporaires. C'est fait pour.

    Et ça n'apparaît pas dans un schéma Merise ! Surtout que les données y sont redondantes.

    Thomas

  3. #3
    Membre émérite
    Avatar de Merlin
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2002
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 524
    Points : 2 883
    Points
    2 883
    Par défaut
    de deux choses l'une : soit c'est une table de référence, soit ce n'en est pas une...
    Et si c'est une table de référence, elle doit par force avec des relations avec d'autres tables du modèle...

  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 820
    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 820
    Points : 52 888
    Points
    52 888
    Billets dans le blog
    5
    Par défaut
    une table de référence au niveau du conceptuel est une table dont les données sont semi statiques et sert à qualifier des données codifiées.

    Par exemple la table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CREATE TABLE TR_SEXE_SEX
    (SEX_ID SMALLINT NOT NULL PRIMARY KEY,
     SEX_LIBELLE VARCHAR(8))
    contenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT INTO TR_SEXE_SEX VALUES (1, 'FEMME')
    INSERT INTO TR_SEXE_SEX VALUES (5, 'HOMME')
    peut servir de table de référence à la table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CREATE TABLE T_EMPLOYE_EMP
    (EMP_ID INT NOT NULL PRIMARY KEY,
     EMP_MATRICULE CHAR(13) NOT NULL UNIQUE,
     EMP_NOM VARCHAR(32),
     SEX_ID SMALLINT REFERENCES TR_SEXE_SEX (SEX_ID))
    Dans ce cas il y a une intégrité référentielle entre les deux tables...
    Mais le libellé n'est contenu que dans la table de référence ce qui minimise le coût de stockage.

    La norme SQL 3 va dans ce sens, avec les colonnes de "type" REF :

    Un type référence (REF) est une colonne qui pointe vers une colonne d'une autre table. Cela permet d'automatiser le principe des tables de référence.
    Par exemple notre code postal d'adresse pourrait parfaitement pointer vers une table des codes postaux.

    Une colonne REF ne peut être spécifié que par l'intermédiaire d'un UDT (User Data Type ou "type utilisateur").

    Notons simplement que la syntaxe de déclaration d'une référence est proche de celle de l'intégrité référentielle : REF (<udt>) [SCOPE table [reference]
    reference ::=
    REFERENCES ARE [NOT] CHECKED
    [ON DELETE { CASCADE | SET NULL | SET DEFAULT | RESTRICT | NO ACTION }]

    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/ * * * * *

Discussions similaires

  1. Problème conception table
    Par Ouark dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/01/2006, 16h49
  2. modifier la table de référence dans un état
    Par floune dans le forum Access
    Réponses: 3
    Dernier message: 20/11/2005, 16h51
  3. conception : table des dépendances
    Par gregolak dans le forum Langage SQL
    Réponses: 12
    Dernier message: 09/10/2005, 16h10
  4. Tables de référence dans un MCD
    Par MomoZeAsticot dans le forum Schéma
    Réponses: 6
    Dernier message: 21/02/2005, 14h37
  5. [Conception] Table de hachage et doublons de clés
    Par mammou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/05/2004, 19h16

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