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 :

Design pattern de gestion de paramètres


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 72
    Points : 107
    Points
    107
    Par défaut Design pattern de gestion de paramètres
    Bonjour à tous

    Je viens vers vous car j'aimerais quelques conseils.
    Existe t'il des design patterns ou de bonnes pratiques pour la conception d'une ou plusieurs table de gestion des parametrages d'une application ? Les valeurs par défaut, des options d'affichages, ce genre de choses...
    J'ai un petit peu cherché mais je n'ai rien trouvé de très probant. Peut-etre que je n'utilise tout simplement pas les bon termes dans ma recherche ...

    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 768
    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 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    C'est juste une problématique de modélisation; Les "design patterns" n'existent pas comme concept de modélisation de bases de données relationnelles...

    Mais le modèle à envisager dépend si les paramètres sont strictement applicatifs ou dépendent d'autres informations, comme par exemple l'utilisateur.

    Exemples :
    • paramètre de date d'installation ou de version de l'application => paramètre applicatif
    • paramètre régionaux pour l'affichage des dates => dépend de l'utilisateur



    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
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 561
    Points
    38 561
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Pour ce qui est du nommage de vos tables il y a des normes qui sont les suivantes :
    - N'utiliser que les 26 lettres de l'alphabet en majuscule et sans caractère diacritique (accent, cédille etc...) + les 10 chiffres de 0 à 9 + l'underscore (touche 8 du clavier)
    - Ne pas utiliser de mot réservé SQL (select, date, order, ....)
    - Ne pas dépasser 128 caractères

    Pour ce qui est des valeurs par défaut, c'est dépendant de l'application, donc pas de règle globale

    Pour ce qui concerne les options d'affichage, ce n'est pas du ressort du SGBD ni du SQL, mais de la couche présentation donc de l'application

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 72
    Points : 107
    Points
    107
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    C'est juste une problématique de modélisation; Les "design patterns" n'existent pas comme concept de modélisation de bases de données relationnelles...

    Mais le modèle à envisager dépend si les paramètres sont strictement applicatifs ou dépendent d'autres informations, comme par exemple l'utilisateur.

    Exemples :
    • paramètre de date d'installation ou de version de l'application => paramètre applicatif
    • paramètre régionaux pour l'affichage des dates => dépend de l'utilisateur



    A +
    Oui, je m'exprime probablement mal en parlant de Design Pattern. Je parle simplement de "bonnes pratiques" en terme de modélisation.
    Ces paramètres ne sont pas du tout dépendant de l'utilisateur. Ce sont des paramètres à 100% applicatif.

    Actuellement, je n'ai que quelques paramètres et je me contente d'une table qui ne contient qu'un seul enregistrement et dont chaque colonne correspond à l'une des valeurs. Je me doute que ce n'est pas l'idée et j'aimerais améliorer ça avant d'avoir besoin d'ajouter d'autres paramètres.

  5. #5
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 561
    Points
    38 561
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par NoPr0n Voir le message
    Actuellement, je n'ai que quelques paramètres et je me contente d'une table qui ne contient qu'un seul enregistrement et dont chaque colonne correspond à l'une des valeurs. Je me doute que ce n'est pas l'idée et j'aimerais améliorer ça avant d'avoir besoin d'ajouter d'autres paramètres.
    Si vous avez peu de paramètres, vous n'aurez pas de table dite "obèse", mais il faut tout de même découper à minima par application, car il ne faut pas que la mise à jour d'un paramètre comptable par exemple gène l'application de gestion commerciale ou inversement.
    Le plus souvent, les tables de paramètres sont paramétrées avec des verrous de niveau ligne (row) plutôt que page afin de limiter les attentes au sein d'une même application

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Un exemple de table de paramétrage applicatif :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    CREATE TABLE T_PARAM_PRM
    (PRM_ID            INT IDENTITY PRIMARY KEY,
     PRM_NAME          VARCHAR(256) NOT NULL UNIQUE,
     PRM_VALUE         SQL_VARIANT NOT NULL,
     PRM_TYPE          VARCHAR(32) NOT NULL 
                       CHECK (PRM_TYPE IN ('INT', 
                                           'SMALLINT', 
                                           'BIGINT', 
                                           'UNIQUEIDENTIFIER', 
                                           'DATE', 
                                           'TIME',
                                           'BIT',
                                           'FLOAT')
                              OR PRM_TYPE LIKE 'DATETIME2([0-7])'
                              OR PRM_TYPE LIKE 'DECIMAL([1-5][0-9],[1-5][0-9])'
                              OR PRM_TYPE LIKE 'VACHAR([0-2][0-9],[0-5])'))
    Un exemple de remplissage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     INSERT INTO T_PARAM_PRM VALUES 
    ('APPLICATION.NAME', 'Mon Appli à moi', 'VARCHAR(050)'),
    ('APPLICATION.INSTALL.DATE', '2010-01-01', 'DATE'),
    ('APPLICATION.INSTALL.VERSION', '123.45', 'FLOAT')

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

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 72
    Points : 107
    Points
    107
    Par défaut
    Merci, cela confirme ce que je pensais faire en ajoutant même quelques détails (comme le typage).
    Je pense que je peux marquer le sujet en résolu.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  2. [Design pattern] Gestion de rôles-utilisateur
    Par Rockz dans le forum Design Patterns
    Réponses: 10
    Dernier message: 23/11/2007, 15h07
  3. Les Designs Patterns Entreprise
    Par boulon dans le forum Design Patterns
    Réponses: 4
    Dernier message: 01/09/2004, 19h16
  4. [Struts] Gestion de paramètres
    Par PeteMitchell dans le forum Struts 1
    Réponses: 12
    Dernier message: 28/06/2004, 09h32
  5. [Design Patterns] Architecture 3 tiers
    Par HPJ dans le forum Design Patterns
    Réponses: 1
    Dernier message: 29/07/2003, 11h49

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