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

PowerAMC Discussion :

Problème de génération de base SQL Server 2008


Sujet :

PowerAMC

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut Problème de génération de base SQL Server 2008
    Bonsoir à tous,
    Je me suis remis à power amc que je n'avais pas touché depuis deux ans et j'ai un petit soucis.

    J'ai réalisé le MCD que j'ai converti et MPD, jusque la pas de soucis, les relations entre les tables dans le MPD sont correct.

    Cependant lorsque je génère le code pour SQL Server 2008 et que je l'importe sous management Stuio, les clés étrangères sont bien présentent mais pas les relations, lorsque je met les tables créées sur le schéma aucun lien entre tables n'apparait.

    De plus je peu mettre des id d'utilisateurs inconnus dans d'autres tables, ca ne pause visiblement aucun soucis à SQL Server.

    J'espère avoir été clair.
    Si quelqu'un pouvais m'éclaircir sur le problème ca serait sympa.

    Merci d'avance,
    NeoKript

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Les clés étrangères sont bien présentes mais pas les relations
    Je suppose que vous parlez des contraintes d'intégrité référentielle.

    Dans cette hypothèse, avez-vous coché la case qui va bien concernant les clés étrangères ("Création de clé") ?



    N.B. J'utilise Power AMC V11.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Bonjour et merci pour votre réponse.

    Citation Envoyé par fsmrel Voir le message
    Je suppose que vous parlez des contraintes d'intégrité référentielle.

    C'est bien de cela dont je parle.
    J'utilise pour ma part Power AMC v15 et voici les options que j'ai (je n'ai rien touché)



    Merci d'avance

    Edit :
    Sous management studio :
    - Toutes les clés sont présentes.
    - Aucune relations
    - Aucuns contraintes de validations

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonjour,

    Vos paramètres de génération sont corrects. Cela dit, je n’utilise pas Management Studio, mais, dans PowerAMC, si vous demandez la génération de la base de données pour produire un fichier script SQL, celui-ci contient-il bien les contraintes d’intégrité référentielle ? Par exemple :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     alter table T1
       add constraint C1 foreign key (Attribut1)
          references T2 (Attribut1)
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Les seules contraintes que j'ai dans le fichier SQL sont directement dans la création de table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    /*==============================================================*/
    /* Table : T_COUNTRY                                            */
    /*==============================================================*/
    create table T_COUNTRY (
       COUNTRY_ID           tinyint              identity,
       COUNTRY_CODE         tinyint              not null,
       COUNTRY_NAME         char(10)             not null,
       COUNTRY_NATIONALITY  char(10)             not null,
       constraint PK_T_COUNTRY primary key nonclustered (COUNTRY_ID)
    )
    go

  6. #6
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Vous n’avez donc pas les ALTER TABLE pour les contraintes référentielles ? Que se passe-t-il si vous cochez « Interne » plutôt qu’« Externe » dans l’arborescence :

    Clé étrangère > Création de clé étrangère > ?
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Visiblement la même chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    /*==============================================================*/
    /* Table : T_COUNTRY                                            */
    /*==============================================================*/
    create table T_COUNTRY (
       COUNTRY_ID           tinyint              identity,
       COUNTRY_CODE         tinyint              not null,
       COUNTRY_NAME         char(10)             not null,
       COUNTRY_NATIONALITY  char(10)             not null,
       constraint PK_T_COUNTRY primary key nonclustered (COUNTRY_ID)
    )
    go
    ou sur MySQL si ca vous parle mieux vu que la syntaxe SQL Server est un peu particulière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    /*==============================================================*/
    /* Table : T_COUNTRY                                            */
    /*==============================================================*/
    create table T_COUNTRY
    (
       COUNTRY_ID           tinyint not null auto_increment,
       COUNTRY_CODE         tinyint not null,
       COUNTRY_NAME         char(10) not null,
       COUNTRY_NATIONALITY  char(10) not null,
       primary key (COUNTRY_ID)
    );
    En tout cas aucun ALTER TABLE pour ajouter les contraintes référentielles.

    Pour informations, j'ai des erreurs sur le modèle (pas sur les tables en relations avec T_COUNTRY) mais je crois avoir lu que ce n'étaient pas des erreurs "bloquantes" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'T_PROFIL_MODULE.T_PROFIL_MODULE_PK' inclut 'PROFIL_MODULE_PROFIL_FK'    <Modèle>::T_PROFIL_MODULE
    Merci

  8. #8
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonjour,



    Quand vous cliquez sur la relation liant les tables A et B, apparaît la fenêtre « Propriétés de la référence ». La case « Générer » est-elle bien cochée ?

    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Salut,

    Il semblerait que tout soit bon, toutes les relations ont la case Générer cochée.


  10. #10
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Ouch...

    La mise en œuvre est bien « Déclarative » ? (et non pas « Trigger »...)

    Au niveau d'une table :



    Au niveau de l'ensemble des tables :

    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Côté options j'ai ceci :


    Par contre au niveau des tables, la mise en œuvre est de partout "trigger" et non déclarative.
    Je ne peux pas changer cette valeur, il me remet trigger à chaque fois (lors du clique dans la liste déroulante sur "Déclarative").



    Merci

  12. #12
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    il me remet trigger à chaque fois
    Bizarre, bizarre... Avez-vous essayé avec un MCD minimal tout neuf, avec juste deux tables, en dehors de tout espace de travail existant ?

    Quel SGBD cible avez-vous choisi ? Est-ce bien SQL Server 2008 ?
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  13. #13
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Citation Envoyé par fsmrel Voir le message
    Bizarre, bizarre... Avez-vous essayé avec un MCD minimal tout neuf, avec juste deux tables, en dehors de tout espace de travail existant ?

    Quel SGBD cible avez-vous choisi ? Est-ce bien SQL Server 2008 ?
    Je viens de créer un MCD avec seulement 2 tables, ca ne passe toujours pas.

    (voici le mpd : http://dl.free.fr/q70TMJoHo)

    Comme SGBD, j'ai bien choisi SQL Server 2008 (mais je le même problème quand je génère le MPD pour d'autre SGBD comme MySQL par exmeple).

    Merci

  14. #14
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Bon j'ai "trouvé", en fait je ne pouvais pas sélectionné Déclarative car les cases a cocher Restric était cochées :



    Par contre, j'ai plusieurs petites questions :
    - vu que j'ai une 100aine de table n'est il pas possible de redéfinir la mise en œuvre pour toutes les tables en une seule fois ? [Résolu] (dans la géneration du MPD (CTR+maj+P, j'ai choisi cascade, du coup il a pris déclarative par défaut)
    - À quoi correspond le Set Default dans le cas d'une contrainte de modification ?

    Merci encore pour l'aide

  15. #15
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Étant donné que j’utilise la V11 de PowerAMC, ça tousse à l’ouverture du fichier, laquelle se fait en lecture seule et sans garantie d’intégrité. De même je dois changer de SGBD et je choisis donc SQL Server 2000.

    Je demande la vérification du MPD (touche de fonction F4) :



    Et là j’ai droit à un message d’erreur de référence. Dans le MPD, je clique sur la référence (lien d’association) Association_1 : je constate que les paramètres « Table parent » et « Table enfant » ne sont pas renseignés :



    Je valorise donc respectivement par T_1 et Entite-2 : plus d'erreur à la vérification du MPD.

    Ensuite je remplace l’option « Trigger » par « Déclarative » (Propriétés de la référence Association_1) et cette-fois-ci, la génération de la clé étrangère est effective.

    Que se passe-t-il chez vous quand vous faites "F4" ?

    [Edit]
    J'ai répondu avant de voir votre dernier message, lequel ne me satisfait pas totalement, à cause du contrôle à effectuer (touche F4).
    [|Edit]
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/07/2010, 20h40
  2. Réponses: 1
    Dernier message: 22/07/2010, 10h17
  3. Réponses: 0
    Dernier message: 03/06/2009, 16h31
  4. Problème de connexion avec BDD sql server 2008
    Par Kalion dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/03/2009, 09h48
  5. Problème de connexion à une base SQL Server 2005
    Par tatayecorp dans le forum ASP
    Réponses: 2
    Dernier message: 19/04/2008, 00h28

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