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

Looping Discussion :

Forcer la casse en majuscules ?


Sujet :

Looping

  1. #1
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 070
    Par défaut Forcer la casse en majuscules ?
    Bonjour,

    J'ai réalisé un modèle par rétroconception et celui-ci comporte un grand nombre de tables et colonnes.
    L'opération s'est globalement bien passée (surtout vu le nombre de tables dans le script importé), mais je n'ai pas fait attention que Looping avait conservé la casse des noms de tables et colonnes telle que dans le script SQL importé, à savoir en minuscules.
    Or, notamment pour des raisons de lisibilité sur des grands modèles comme celui-ci, j'ai l'habitude de mettre les noms de tables et colonnes en majuscules.
    Je n'ai pas repéré d'options qui permettrait de forcer la casse en majuscules. Est-ce que ça existe ou pas ?

    Si non, tant pis, je vais laisser comme ça (trop fastidieux de repasser sur toutes les colonnes de toutes les tables), mais est-ce que cette option pourrait être ajoutée dans une version future ?

    Merci d'avance,

    ced

    PS : j'ai remarqué, à la rétroconception, que Looping mettait dans le mauvais sens quelques relations 0,1-1,1 (avec identification relative) ce qui lui faisait perdre les clés étrangères. Je n'ai pas encore eu le temps d'essayer de reproduire le problème sur un modèle plus petit, mais j'essaierai d'isoler la cause pour vous la soumettre prochainement. Ce qui est compliqué, c'est que ça ne se produisait pas dans tous les cas de figure, je crois. Ça fera l'objet d'une autre discussion si j'arrive à renouveler l'opération.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 772
    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 772
    Billets dans le blog
    10
    Par défaut
    Effectivement, je reproduis le phénomène avec le MCD suivant

    Nom : MCD0.jpg
Affichages : 138
Taille : 121,9 Ko


    MCD pour lequel Looping génère le DDL suivant après avoir choisi le SGBD PostgreSQL

    Code SQL : 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    --Personnes
    CREATE TABLE PE_personne(
       PE_ident SERIAL, --Identifiant unique de la personne
       PE_date_crea DATE NOT NULL, --Date de création de la personne
       PRIMARY KEY(PE_ident)
    );
     
    --Fournisseurs
    CREATE TABLE FO_fournisseur(
       PE_ident INTEGER,
       FO_numero SMALLINT NOT NULL, --Numéro interne unique du fournisseur
       PRIMARY KEY(PE_ident),
       UNIQUE(FO_numero),
       FOREIGN KEY(PE_ident) REFERENCES PE_personne(PE_ident)
    );
     
    --Clients
    CREATE TABLE CL_client(
       PE_ident INTEGER,
       CL_numero SMALLINT NOT NULL, --Numéro interne unique du client
       PRIMARY KEY(PE_ident),
       UNIQUE(CL_numero),
       FOREIGN KEY(PE_ident) REFERENCES PE_personne(PE_ident)
    );
     
    --Commandes clients
    CREATE TABLE CC_cde_client(
       CC_ident SERIAL, --Identifiant de la commande client
       CC_date DATE NOT NULL, --Date de création de la commande client
       PE_ident INTEGER NOT NULL,
       PRIMARY KEY(CC_ident),
       FOREIGN KEY(PE_ident) REFERENCES CL_client(PE_ident)
    );
     
    --Articles
    CREATE TABLE AR_article(
       AR_ident SERIAL, --Identifiant de l'article
       AR_libelle VARCHAR(50) NOT NULL, --Libellé de l'article
       AR_refint CHAR(8) NOT NULL, --Référence interne de l'article
       PRIMARY KEY(AR_ident),
       UNIQUE(AR_refint)
    );
     
    --Barème tarifaire
    CREATE TABLE BA_bareme(
       BA_ident SERIAL,
       BA_code CHAR(4) NOT NULL, --Code barème
       BA_libellé VARCHAR(50), --Libellé du barème
       PRIMARY KEY(BA_ident),
       UNIQUE(BA_code)
    );
     
    --Lignes des commandes clients
    CREATE TABLE LC_ligne_cde(
       CC_ident INTEGER,
       LC_sequence SMALLINT, --N° de ligne de commande client
       LC_quantite NUMERIC(9,2) NOT NULL, --Quantité commandée
       AR_ident INTEGER NOT NULL,
       PRIMARY KEY(CC_ident, LC_sequence),
       FOREIGN KEY(CC_ident) REFERENCES CC_cde_client(CC_ident),
       FOREIGN KEY(AR_ident) REFERENCES AR_article(AR_ident)
    );
     
    --Correspondance article interne / article fournisseur
    CREATE TABLE PR_proposer(
       PE_ident INTEGER,
       AR_ident INTEGER,
       CADATE DATE,
       PR_reffou CHAR(20) NOT NULL,
       PR_libfou VARCHAR(100) NOT NULL, --Libellé de la référence fournisseur
       PR_indplan CHAR(4) NOT NULL, --Indice de plan fournisseur
       PRIMARY KEY(PE_ident, AR_ident, CADATE),
       FOREIGN KEY(PE_ident) REFERENCES FO_fournisseur(PE_ident),
       FOREIGN KEY(AR_ident) REFERENCES AR_article(AR_ident)
    );
     
    CREATE TABLE AF_affecter(
       PE_ident INTEGER,
       BA_ident INTEGER,
       CADATE DATE,
       PRIMARY KEY(PE_ident, BA_ident, CADATE),
       FOREIGN KEY(PE_ident) REFERENCES CL_client(PE_ident),
       FOREIGN KEY(BA_ident) REFERENCES BA_bareme(BA_ident)
    );
     
    CREATE TABLE TA_tarifer(
       AR_ident INTEGER,
       BA_ident INTEGER,
       CADATE DATE,
       TA_prix NUMERIC(7,2) NOT NULL,
       PRIMARY KEY(AR_ident, BA_ident, CADATE),
       FOREIGN KEY(AR_ident) REFERENCES AR_article(AR_ident),
       FOREIGN KEY(BA_ident) REFERENCES BA_bareme(BA_ident)
    );


    Après injection de ce script dans Looping pour générer la rétro-conception, on obtient ce schéma avec une superposition de symboles (y aurait-il moyen de l'éviter ?), mais surtout, une altération de cardinalité de commande vers ligne de commande.
    D'après ce MCD, une commande peut n'avoir aucune ligne, ce qui ne convient pas.
    L'héritage a été transformé en associations, mais là, je ne vois pas comment Looping pourrait faire autrement

    Nom : MCD1.jpg
Affichages : 137
Taille : 141,5 Ko


    Et après avoir réagencé les objets pour les repositionner comme à l'origine, afin de faciliter les comparaisons, on constate aussi que les ternaires ont été transformées en binaires, rien de grave, mais moins intuitif :

    Nom : MCD2.jpg
Affichages : 139
Taille : 111,5 Ko


    Je note aussi que les commentaires des tables et des colonne ont bien été conservés

Discussions similaires

  1. forcer la saisie en majuscule dans une input
    Par griese dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 27/10/2009, 16h02
  2. Comment forcer l'ecriture en majuscule dans un champs en code ?
    Par PDelph7 dans le forum Composants VCL
    Réponses: 7
    Dernier message: 02/11/2007, 13h41
  3. Forcer la saisie en majuscule sur l'événement onkeydown ?
    Par Foub dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/09/2006, 11h41
  4. [débutant] casse de majuscules
    Par lolo25 dans le forum Access
    Réponses: 4
    Dernier message: 20/08/2006, 17h50
  5. forcer la saisie en majuscule
    Par griese dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 21/06/2006, 17h09

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