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

MS SQL Server Discussion :

[SQLServer 2005 & C#] Question de conception?!


Sujet :

MS SQL Server

  1. #1
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut [SQLServer 2005 & C#] Question de conception?!
    Salut les amis,
    Lors d'un ancien projet, j'ai créé une table pour chacune des libellés telle que les formes juridiques des sociétés, les modes de réglement, les agences bancaires, les types de pièces, etc. Je me demande actuellement si je peux combiner toutes les tables de ce type en une seule telle que :
    Table Libelle :
    - ID
    - Nom
    - CategorieID
    - Description

    Table Categorie
    - ID
    - Nom

    Les deux tables seront liées par [Categorie.ID --> Libelle.CategorieID] et c'est le champ Libelle.CategorieID qui identifiera si l'enregistrement est une forme juridique, type de pièce, agence bancaire, etc.

    Le projet sera développé en mode déconnecté utilisant le langage C# MS SQLServer 2005. J'aimerai bien qu'on me dise si j'ai tor de procéder de cette façon!

    Voici ma question, dois-je continuer comme ça ou bien dois-je consacrer une table distincte pour chaque liste de libellés?!

    Merci 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 865
    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 865
    Points : 53 021
    Points
    53 021
    Billets dans le blog
    6
    Par défaut
    Ni l'in ni l'autre...

    Le mieux est de faire de vos tables de références une vue globale.
    C'est simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT ID, Libelle, 'Société' AS Categorie, 
    FROM Categorie
    UNION ALL
    SELECT ID, Libelle, 'Réglement' AS Categorie, 
    FROM ModeRegelement
    UNION ALL
    ...
    Normalement tout développement d'application devrait être basé sur des vues et non sur des tables. C'est ce que Codd appelle le schéma externe.
    MCD : Modèle Conceptuel de Données = Schéma Conceptuel (les entité et les associations)
    MLD : Modèle Logique de Données = Schéma Logique (les relations)
    MPD : Modèle Physique de Données = Schéma Physique (les tables)
    MED : Modèle Externe de Données = Schéma Externe (les vues)

    A +

  3. #3
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut
    Merci pour votre réponse,

    Le mieux est de faire de vos tables de références une vue globale.
    Dois-je comprendre que ça serait mieux de créer une table pour chaque catégorie de libellé? Càd une pour les modes de réglement, une pour les noms des agences bancaires, une pour les types de pièces, etc. Au lieu d'une seule table regroupant toutes les libellés de tout type.

  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 865
    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 865
    Points : 53 021
    Points
    53 021
    Billets dans le blog
    6
    Par défaut
    oui + la vue.

    A +

  5. #5
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut
    Merci pour les conseilles et les réponses.

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

Discussions similaires

  1. [Outils][SqlServer 2005] Où se trouve l'executable ?
    Par sse dans le forum MS SQL Server
    Réponses: 18
    Dernier message: 19/04/2006, 08h55
  2. [SQLSERVER 2005 Express] Importation DB Access 2002 ?
    Par vandeyy dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/01/2006, 15h00
  3. [SQLServer 2005][Oracle]Quels sont les differences de coût ?
    Par Débéa dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 15/12/2005, 07h54
  4. [XML]Question de conception
    Par nana1 dans le forum Persistance des données
    Réponses: 17
    Dernier message: 17/11/2005, 09h34
  5. [Strategie][GUI]Petite question de conception
    Par bischof dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 26/10/2004, 22h31

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