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 :

Renommer les contraintes


Sujet :

Looping

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2014
    Messages : 15
    Points : 16
    Points
    16
    Par défaut Renommer les contraintes
    Bonjour,

    J'utilise Looping depuis quelques jours seulement et malgré mes recherches je n'ai pas trouvé de solution.
    Je m'excuse par avance si je suis passé à côté de la fonctionnalité ou si la question à déjà été posée sur ce forum.

    Est-il possible de définir le nom des contraintes FOREIGN KEY et/ou PRIMARY KEY, et/ou UNIQUE ? Actuellement les noms sont construits automatiquement selon cette norme :
    • PK_ + nom de la table
    • FK_ + nom de la table + nom de la table de référence
    • AK_ + nom de la table

    Pour les FOREIGN KEY je sais qu'il est possible d'ajouter un rôle sur la cardinalité "0,n" mais cela renomme simplement la colonne dans la table de destination (ici la table "ETABLISSEMENT").

    Ci-dessous le script SQL généré.

    Nom : Screenshot-MCD.png
Affichages : 102
Taille : 10,7 Ko

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    -- Code généré
    CREATE TABLE ETABLISSEMENT
    (
       ETAB_CODE INT IDENTITY,
       ETAB_DENOMINATION VARCHAR(120) NOT NULL,
       ETAB_NUM_NIC CHAR(4),
       ETAB_CLE_NIC CHAR(1),
       ETAB_PRINCIPAL BIT NOT NULL CONSTRAINT DF_ETAB_PRINCIPAL DEFAULT 0,
       FJUR_CODE INT,
       CONSTRAINT PK_ETABLISSEMENT PRIMARY KEY(ETAB_CODE),
       CONSTRAINT FK_ETABLISSEMENT_FORME_JURIDIQUE FOREIGN KEY(FJUR_CODE) REFERENCES FORME_JURIDIQUE(FJUR_CODE)
    );

    Idéalement je souhaiterai pouvoir définir le nom de l'ensemble des contraintes (PRIMARY KEY, FOREIGN KEY, UNIQUE).

    Merci par avance pour votre aide.

  2. #2
    Membre chevronné
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    juin 2019
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Professeur des Universités
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2019
    Messages : 525
    Points : 2 141
    Points
    2 141
    Par défaut
    Bonsoir,
    Les noms des contraintes sont effectivement définis par Looping, et ce de manière automatique.
    Vous gardez juste la possibilité de placer les PK, AK et FK au début ou à la fin du nom de la contrainte composée des différentes clés impliquées.
    Laisser l'utlisateur choisir lui-même les noms de ces contraintes poserait un problème de gestion de l'unicité de ces noms, et surtout alourdirait l'interface pour la grande majorité des utilisateurs qui se satisfont de ces noms générés par le logiciel. Cela poserait également de sérieux problèmes pour nommer les AK issues d'index composés...
    Peut-être avez-vous imaginé une interface qui permettrait un nouveau nommage sans alourdir le fonctionnement de base de Looping ?
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    8 624
    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 : 8 624
    Points : 31 661
    Points
    31 661
    Billets dans le blog
    2
    Par défaut
    Pour info, power AMC (payant) propose une gestion paramétrable des noms d'objets, mais c'est une véritable usine à gaz.
    La solution proposée par looping a le mérite d'être simple.

    Quand une norme locale impose des noms particuliers (comme c'est souvent le cas), les DBA modifient manuellement ou de façon semi automatique les scripts proposés par Looping et tout va bien .

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2014
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Merci à vous deux pour vos retours.

    J'avais pensé à un champ de saisi au niveau de la cardinalité, comme c'est fait pour le rôle, pour saisir le nom de la contrainte souhaité. Mais vous avez raison, cela va alourdir l'interface et risque d'engendrer des problèmes (unicité et index composés).

    Ma demande est vraiment très spécifique et la grande majorité des utilisateurs se satisfont des noms des contraintes actuels, dont comme me l'a conseillé escartefigue je modifierai le script SQL.

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

Discussions similaires

  1. Desactiver temporairement les contraintes
    Par maitrebn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/10/2006, 17h58
  2. connaitre les contraintes d'une table??
    Par sali dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/11/2004, 11h46
  3. désactiver les contraintes
    Par romainw dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 15/07/2004, 10h46
  4. Question sur les contraintes d'intégrités
    Par eGGyyS dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 27/04/2004, 13h51
  5. Les contraintes OCL
    Par bart64 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 19/12/2003, 18h47

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