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

ASP.NET Discussion :

Architecture 3 tiers et contrainte d'unicite


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 194
    Par défaut Architecture 3 tiers et contrainte d'unicite
    Bonjour;
    Je travaille en architecture 3 tiers, et dans mes tables j'ai des champs qui doivent être unique, je voudrais savoir dans quelle couche je dois vérifier cette unicité.
    si vous me donner d'autres conseils, c'est encore mieux.

    Merci beaucoup.

  2. #2
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Ca dépend.
    * Si toutes ta table est chargée dans ta couche interface (pas de pagination), tu peux faire une validation client pour éviter un A/R serveur, mais il te restera un cas d'erreur (deux utilisateurs différents)
    * Si toutes ta table est chargées dans ta couche métier, tu peux vérifier au niveau métier, si tes données sont en static (elles seront communes à tous les utilisateurs)
    * Sinon, le mieux à mon avis, en faisant proprement ta requête/store proc d'insertion, tu lui fais remonter un code d'erreur si on tente d'insérer un doublon.

    Sinon, la méthode crado utilisée dans 95% des cas, mais qui diminue les perfs de ton serveur, ça consiste à faire l'insertion et à gérer l'exception remontée par ton SGBD.

    Un autre conseil ?
    Brosse toi les dents tous les soirs avant d'aller te coucher

  3. #3
    Membre confirmé Avatar de stephane.net
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 170
    Par défaut
    Le DataSet Typé permet de gérer cette contrainte avant d'accéder au server SQL et dans ce cas, selon l'utilisation que tu fais de ton DataSet se sera soit dans la couche métier soit dans la couche d'accès aux données

  4. #4
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Citation Envoyé par stephane.net
    Le DataSet Typé permet de gérer cette contrainte avant d'accéder au server SQL et dans ce cas, selon l'utilisation que tu fais de ton DataSet se sera soit dans la couche métier soit dans la couche d'accès aux données
    On parle bien d'un application web ?

  5. #5
    Membre confirmé Avatar de stephane.net
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 170
    Par défaut
    concernant ma réponse Oui ?

  6. #6
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Scénario à la con :
    => on veut assurer l'unicité sur un nom de login dans une page de gestion des utilisateurs.
    T0 - L'utilisateur A se connecte et charge la page des utilisateurs.
    T1 - L'utilisateur B se connecte et charge la page des utilisateurs.
    T2 - L'utilisateur A entre le login "Robert", il valide, ça l'insère en base.
    T3 - L'utilisateur B (qui n'a pas rechargé la page des utilisateurs) entre le login "Robert" et valide.
    Comment ton DataSet il peut savoir que "Robert" n'existe pas en base sans se connecter ?

    Désolé de casser ta réponse précédente, mais soit j'ai pas compris, soit tu t'es mal exprimé (c'est un peu pareil), soit tu as dit une connerie

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

Discussions similaires

  1. Contrainte Architecture 3 tiers
    Par Tunisiano87 dans le forum VB.NET
    Réponses: 1
    Dernier message: 15/04/2010, 22h37
  2. Architecture 3 tiers : quelle est la véritable nouveauté ?
    Par unix27 dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 11/03/2007, 18h21
  3. [VB.NET] Architecture n-tiers
    Par Dnx dans le forum ASP.NET
    Réponses: 2
    Dernier message: 08/02/2005, 19h10
  4. contrainte d'unicité un peu spéciale....
    Par bdkiller dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 23/11/2004, 17h54
  5. [Design Patterns] Architecture 3 tiers
    Par HPJ dans le forum Design Patterns
    Réponses: 1
    Dernier message: 29/07/2003, 11h49

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