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

Requêtes MySQL Discussion :

Contrainte de Clé étrangère évalué au moment du Commit


Sujet :

Requêtes MySQL

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut Contrainte de Clé étrangère évalué au moment du Commit
    Bonjour,

    Je suis en train d'écrire un programme en Visual Studio dans lequel je souhaite créer une classe générique data d'accès aux données qui gère les transactions, les accès concurrentiels et les mises à jours indépendamment des programmes d'utilisations et des bases de données.

    Bien qu'un peu lourde d'utilisation ma classe Data fonctionne correctement comme je le souhaite.

    Seulement j'ai un problème : toutes les types BD que j'utilise en interface de ma classe n'ont pas de type de contrainte de clé étrangère qui fonctionne avec la clause ON DELETE CASCADE et ON UPDATE CASCADE comme le fait MySql avec les tables de type InnoDB. En revanche si elles n'ont pas ce genre de clause elles permettent l'évaluation de la contrainte au moment du COMMIT et non au moment de l'execution de la requête DELETE ou UPDATE (sauf si biensûr la Base de données est Excel ou même un fichier txt en ODBC : encore que je n'ai pas essayé). J'ai donc prévu le coup (dans mon programme et non dans la classe pour gérer la mise à jour ou la suppression non pas au moment de la requête DELETE et UPDATE mais bien avant dans la logique de mon programme).

    Cependant après avoir cherché sur le site de MySQL, à aucun moment, il est proposé l'évaluation de la contrainte au moment du COMMIT. Je peux bien évidemment utilisé le ON UPDATE CASCADE et ON DELETE CASCADE mais pour des raisons que je ne vais pas étendre ici, c'est comme si je simuler un accès concurrentiel (donc rien ne se met à jour).

    Je voulais donc savoir si quelqu'un d'entre vous pouvez me confirmer que l'évalutation d'une contrainte au moment du COMMIT ça n'existe pas en MySQL et si ça existe merci de me donner la requête de création de la contrainte qui le fait merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    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 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    La déférabilité des contraintes est une chose rare dans les SGBDR, car il s'agit de fonctionnalité de niveau FULL par rapport à la norme SQL qui propose 3 niveau : entry, intermediate et full.
    MySQL, part bien des aspects n'est même pas au niveau Entry de la norme SQL 2 datant de 1992 !!!

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

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut
    Merci c'est ce que je pensais.

    Pour mon petit problème j'ai géré d'une autre façon (au moyen de la méthode RejectChange de la classe DataRow dans Visual Studio) mais je voulais gérer ça avec la base si c'était possible

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

Discussions similaires

  1. Double contrainte de clé étrangère
    Par eperdu dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 21/04/2010, 15h49
  2. Réponses: 29
    Dernier message: 25/11/2007, 16h08
  3. [Débutant ACCESS] Contrainte de clés étrangères
    Par elgringo2007 dans le forum Access
    Réponses: 2
    Dernier message: 12/06/2006, 18h56
  4. Réponses: 5
    Dernier message: 28/04/2006, 11h55
  5. Contraintes de clés étrangères non respectées
    Par parfait dans le forum Requêtes
    Réponses: 7
    Dernier message: 28/07/2004, 12h48

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