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 :

Méta-donnés - type de données


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 22
    Points : 14
    Points
    14
    Par défaut Méta-donnés - type de données
    Bonjour,

    C'est avec beaucoup d'intérêt que j'ai lu l'article sur la technique des méta données, par SQLPro.

    Je vais pouvoir mettre en application ce principe pour un projet personnel.

    Cependant, il me manque une précision. J'utilise actuellement MySQL (on me conseillera peut-être d'en changer, mais ma question ne porte pas directement sur ce SGBB) et, lorsque je créé un champ dans une table, je choisis un type (char, varchar, int, text, etc.)

    C'est ce point que je ne comprends pas dans la technique des méta données.

    Je dois pouvoir ajouter, dynamiquement, des champs à une table, et l'utilisateur devra choisir de quel type il s'agit. Ce pourra être une date, un nombre, mais aussi un texte pouvant être important (longtext).

    Or, et si j'ai bien compris, un seul champ recevra ces différents types de valeurs (CRP_VALEUR dans l'article). Il est dit qu'un type acceptable, pour ce champ, serait un char(32). Dans mon cas, il me faudrait un longtext. Sachant que, parfois, l'enregistrement pourra être un nombre.

    Quid de l'optimisation d'un tel schéma ? C'est ce point que je n'arrive pas à comprendre, à moins que quelque chose m'ait échappé ?

    Qui peut m'apporter une aide à la compréhension de ce point ?

    Merci par avance.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Je pense qu'il manque un chapitre sur les précautions à prendre avec le méta-modèle.

    Rajouter des informations dynamique sur des tables de références, ok pourquoi pas, ça va fonctionner.

    L'appliquer à une table de faits c'est se tirer une balle dans le pied, je suis persuadé que ça ne tiendrait pas la montée en charge.

    Je vous invite à lire ce blog (en anglais) :
    http://www.simple-talk.com/opinion/o...ces/bad-carma/

    La modélisation discutée dans ce sujet n'avait rien à voir avec celle de SQLPro, mais l'idée de départ était la même.

  3. #3
    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 571
    Points
    52 571
    Billets dans le blog
    5
    Par défaut
    ca marche parfaitement bien, même lors des montées en charge. En dépit d'ailleurs de ce que mon ami Stéphane Faroult montre dans sa vidéo sur Oracle en matière de worst practice :


    Mais il y a quelques secrets :
    1) créer autant de tables de données qu'il y a de types SQL (donc une table pour les DATE une pour les nombres, une pour les alpha....)

    2) indexer correctement les méta et les valeurs

    2) écrire des requêtes "sargeable" même lorsqu'il y a plusieurs critères à rechercher (en utilisant notamment les CTE avec des UNION ALL

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

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Super, merci pour ces éclaircissements.

    Par contre :

    2) écrire des requêtes "sargeable" même lorsqu'il y a plusieurs critères à rechercher (en utilisant notamment les CTE avec des UNION ALL
    Qu'est ce que des requêtes "sargeable" et qu'est-ce que CTE ?

  5. #5
    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 571
    Points
    52 571
    Billets dans le blog
    5
    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/ * * * * *

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Super.

    Et 1000 mercis pour la qualité de vos articles.


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

Discussions similaires

  1. interbase : types de donnés : AutoIncrement et Date ???
    Par delphien dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/04/2004, 17h29
  2. Type pour données de type email avec @
    Par jeff37 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/01/2004, 14h50
  3. Types de données interbase
    Par Clotilde dans le forum InterBase
    Réponses: 2
    Dernier message: 18/11/2003, 14h10
  4. Réponses: 2
    Dernier message: 22/09/2003, 11h23
  5. Convertir un type de donnée sous SQL Server
    Par Fleep dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/08/2003, 15h15

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