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 :

Modélisation en métadonnées d'un SGBD


Sujet :

MS SQL Server

  1. #1
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut Modélisation en métadonnées d'un SGBD
    Salut,

    Cet article date un peu mais comme c'est plutôt conceptuel, il est toujours d'actualité. J'aimerai savoir si certains d'entre vous ont implémenté un tel modèle?
    Si oui, dans quelle situations?

    Merci

    A+

  2. #2
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    J'utilise beaucoup ce principe quand les informations demandées sur un ID sont différentes. Je m'explique:

    tu as une table fournisseur, dans celle ci tu as 1000 fournisseurs qui représentent 10% du CA achat et 10 fournisseurs qui représentent 35%.
    Rien qu'en disant cela on comprend que ce n'est pas la peine de conserver d'information sur un fournisseur dit de dépannage où tu n'as qu'une commande et une facture alors que pour les 10 autres oui.

    Il y a un autre avantage si tu n'a pas de BO (Bussiness Object) ou autre de ce type. Tu peux conserver des agrégats du type CA/mois, CA/région... qui ne seront utiles que pour des reports mais souvent demandés (direction, commerce, controleur de gestion..) => les requêtes d'extraction seront beaucoup plus rapide.

    voila mon expérience la dessus

  3. #3
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Re, selon ce modèle, les données pour un enregistrement se présente en colonne plutôt qu'en ligne => j'ai autant de lignes que de propriétés plutôt que tout sur une seule ligne (enregistrement).

    C'est un peu plus embetant à traiter puisqu'il faut faire une recherche sur le nom de la propriété pour pouvoir l'assigner à une variable du code.

    Comment gères-tu cela?

    C'est clair ce que je dis?

    A+

  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 849
    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 849
    Points : 52 975
    Points
    52 975
    Billets dans le blog
    6
    Par défaut
    Il faut que je fasse une release de mon article avec deux concepts supplémentaires :
    1) l'utilisation de vues indexées dans a modèle par méta données afin d'accélérer les performances des requêtes d'extraction
    2) l'utilisation d'une colonne XML et de requetes Xpath/XQuery afin de produire une pseudo table.

    Je viens de réaliser cette seconde opération pour l'implémentation d'une base de données contenant des données de traitement d'un grand groupe énergétique franco français dont le nom commence par E et finit par F avec une troisième lettre au milieu...

    A +

  5. #5
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    Je m'étant lancé sur un modèle à peu prêt semblable, pour finalement arriver à un résultat quasiment identique.

    - J'utilise une table entre la table TBL et la table DONNES qui est ma table LIGNE. Elle me permet de ne pas avoir à gérer l'identifant de chaque ligne à l'aide d'un NuméroAuto sur l'idLigne de la table LIGNE. c'est clair?

    - J'ai ajouté un champs 'param' a chaque valeur de la table VALEUR. Elle me permet de pouvoir distinguer des entrées spécifiques sans me soucier de l'éventuel changement du libellé.

    J'utilise également la VUE pour sortir des données.

    J'ai trois questions?

    - J'étais habitué à stocké un identifiant pour des informations récurrentes. (Ta table VALEURS). et j'utilisais celui ci pour assigner à une entrée. Donc la si je change le libellé dans ma table VALEURS je fais devois faire un Update de toutes les valeurs STRING stockées dans la table DONNEES. Ca ne posera pas de souci d'avoir un STRING répété dans cette table, ca va un peu à l'encontre de la logique d'une BDD?

    - "colonne XML et de requetes Xpath/XQuery". Qu'est ce que c'est? comment l'implémenter? c'est pour que la BDD sache comment ecrire un parametre?

    - Les performances? j'avais utiliser donc mon modèle assez semblable. Niveau performance ca nétait pas top si je voulait faire des regroupements sur l'ensemble de ma base, exemple chiffre d'affaire total... J'avais fait des tables calculées séparées. Mais je suppose qu'avec ce modèle, tu fais un champs calculé, en ajoutant tout simplement un ligne de CAR?

    MErci pour ton retour, je dois bientot me lancer sur un gros projet, et j'hésite encore à me lancer sur cette modélisation qui est bien plus minimaliste que la mienne, et que je n'ai pas encore osé utiliser pour un gros projet.

Discussions similaires

  1. Modélisation par métadonnées
    Par hphil dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/04/2011, 13h57
  2. [Séquence] Comment modéliser la table du SGBD à laquelle ma classe accède ?
    Par Mister Nono dans le forum Autres Diagrammes
    Réponses: 5
    Dernier message: 18/04/2008, 17h37
  3. Réponses: 2
    Dernier message: 30/05/2002, 08h54

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