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

Langage SQL Discussion :

Création d'une contrainte


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2023
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2023
    Messages : 38
    Points : 11
    Points
    11
    Par défaut Création d'une contrainte
    Bonjour

    J'aimerais avoir quelques explications sur un résultat d'extraction d'une base de donnée sql server
    J'ai une extraction d'une table qui s'appelle contact où j'ai entre autres les colonnes "Nom","Prénom" dans lesquelles j'ai des chiffres tels que des numéros de téléphones

    Je voulais savoir s'il serait recommandable de créer la contrainte suivante sur ces deux colonnes afin d'empêcher l'insertion de chiffres qui à mon sens n'ont rien à faire dans ce type de colonnes

    ALTER TABLE Contact ADD CONSTRAINT Contact_Nom CHECK (ContactNom REGEXP '^[A-Z]+$')

    Quels sont les impacts d'un tel ajout ?


    En vous remerciant

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    salut, d'abord c'est mon avis, et ce n'est que mon avis et rien d'autre.

    Cela dépend évidemment du contexte et des données, mais de manière générale, je suis, personnellement, assez défavorable à mettre des contraintes dans des champs type Nom ou Prénom. On ne sait pas ce que, à l'avenir, on aura besoin d'y saisir.

    Alors, oui, dans une table Contact, on s'attend à y avoir le nom et le prénom d'une personne, et effectivement, il ne me vient pas de cas en mémoire ou ces infos pouvaient comporter un nombre. Par contre des caractère autre que des lettres, oui, à commencer par l’apostrophe, l'espace, le tiret pour le noms composés...

    Cependant, j'ai manipulé suffisamment de base de données pour savoir par expérience, que l'on peut parfois y trouver, non pas le nom d'une personne, mais le nom d'un organisme. Ou alors, le nom de la personne est combiné avec le nom de l'organisme. Et dans une raison sociale, il peut y avoir des nombres, ou tout autre caractères.

    Sauf réelles contraintes métier, pour moi, ces champs-là restent de la saisie libre, et même avec une taille relativement importante. Là où, il y a encore quelques années, je pouvais limiter la taille de ces champs à une vingtaine de caractères, j'hésite de moins en moins, maintenant, à monter à 50, voire 100 caractères. Des noms/prénoms composés ou des combinaisons de noms, ça peut très vite devenir long.

    Mais, encore une fois, ce n'est que mon avis. Tout dépend le contexte et les données.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2023
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2023
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    Bonjour

    Par contre des caractère autre que des lettres, oui, à commencer par l’apostrophe, l'espace, le tiret pour le noms composés...
    Bien vu je n'y ai pas pensé

    Merci pour ta réponse , il faut en effet aller plus loin dans la réfléxion

    Bonne année !

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    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 136
    Points : 38 910
    Points
    38 910
    Billets dans le blog
    9
    Par défaut
    Bonjour

    Citation Envoyé par sevyc64 Voir le message
    j'hésite de moins en moins, maintenant, à monter à 50, voire 100 caractères. Des noms/prénoms composés ou des combinaisons de noms, ça peut très vite devenir long.

    D'après Wikipédia, le prénom indien le plus long serait Rhoshandiatelly-neshiaunnveshenk Koyaanfsquatsiuty (entrez tous, et que le dernier ferme la porte ), soit 50 caractères tout de même .

    Dans un contexte international, il convient de prévoir large.
    Cela dit, il ne faut pas stocker plusieurs prénoms dans la même colonne, sauf s'il s'agit d'un prénom composé comme "Jean-Marc".
    Si l'on a besoin de stocker plusieurs prénoms non composés, il faut une colonne pour le prénom d'usage, une autre pour le deuxième prénom et une autre pour le troisième.

  5. #5
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    Cela dit, il ne faut pas stocker plusieurs prénoms dans la même colonne, sauf s'il s'agit d'un prénom composé comme "Jean-Marc".
    Stocker plusieurs prénoms n'est réellement utile que lorsqu'on a besoin de l'Etat Civil complet de la personne.
    La plupart du temps, les noms/prenoms d'usage suffisent.
    Mais il n'est pas si rare que ça de rencontrer des personnes qui se font appeler par plusieurs de leur prénom, sans que ce soit pour autant un prénom composé. Et l'utilisateur d'un logiciel, face à ce genre de personne, ne connaissant pas le détail, inscrira les prénoms bien souvent comme un seul prénom composé.

    Citation Envoyé par escartefigue Voir le message
    Si l'on a besoin de stocker plusieurs prénoms non composés, il faut une colonne pour le prénom d'usage, une autre pour le deuxième prénom et une autre pour le troisième.
    Généralement, on prévoie prénom1, prénom2, prénom3, ... prénom d'usage, ou de pouvoir indiquer lequel des prénoms est le prénom d'usage, car celui-ci n'est pas obligatoirement le premier au sens Etat Civil. Il est même parfois admis (mais je ne connais pas les conditions) que le prénom d'usage n'est pas un des prénoms officiel, mais un diminutif commun de l'un d'eux.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  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 002
    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 002
    Points : 30 906
    Points
    30 906
    Billets dans le blog
    16
    Par défaut
    Hello !

    Je mets mon grain de sel...

    Evidemment, sauf à s’appeler 007, des chiffres dans un nom ça n’est pas bien normal.
    Avant d’envisager la mise en oeuvre d’une contrainte qui me fait penser à un pansement sur une jambe bois, il me paraît préférable d’aborder le sujet d’une autre façon, à savoir auditer les tables parties prenantes dans cette affaire.

    Si la table CONTACT contient des données sensibles telles qu’un SIREN, un SIRET et autres, il faudra envisager d’approfondir en fonction des relations entretenues de CONTACT avec d’autres tables (commandes, factures, etc.)

    Une fois l’audit effectué, si par exemple pour telles lignes de la table CONTACT il n’y a pas de données sensibles, pourquoi ne pas purger ? En tout cas, discuter des résultats de l’audit avec qui de droit.

    Sans aller jusqu’à la recommandation de Napoléon : on tire d’abord, on discute ensuite.
    (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
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    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 772
    Points : 52 737
    Points
    52 737
    Billets dans le blog
    5
    Par défaut
    Pour SQL Server il y a beaucoup plus simple et beaucoup plus efficace qu'une expression régulière grâce au LIKE avancé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER TABLE T_PERSONNE_PRS 
       ADD CONSTRAINT CK_PRS_NOM 
          CHECK (PRS_NOM COLLATE French_CI_AI LIKE CONCAT('[A-Z]', REPLICATE('[A-Z'' -]', LEN(PRS_NOM) - 2), '[A-Z]'));
    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/ * * * * *

  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 002
    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 002
    Points : 30 906
    Points
    30 906
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Pour SQL Server il y a beaucoup plus simple et beaucoup plus efficace qu'une expression régulière grâce au LIKE avancé
    D’accord, Fred, mais dans le cas général, on en reste au niveau du cautère sur une jambe de bois, de la vision par l’autre bout de la lorgnette...
    (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 à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2023
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2023
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    Bonsoir

    Je vais apporter quelques précisions
    Nous devons migrer des contacts d'un système A ou le mail dupliqué était autorisé vers un système B ou le mail doit être unique exception fait des adresses mails génériques

    La table contact est liée à la table Client. Un contact représente un client( dixit Escartefigue
    Dans les table j'ai les champs nom prénom tél, adresse mail, service, statut rien de sensible ( FSMrel)
    Pas de purge la table contact est également liée a d'autre tables servant à la production ce serait trop dangereux
    le but est de choisir ceux à migrer dans un premier temps et de nettoyer les autres; les deux systèmes sont interconnectés mais l'un deux devient le maître

    Il existe à ce jour des contacts qui sont des personnes physiques ou des contacts qui sont des services ( ex : compta.fourniss@adec.fr)
    Le contact standard sert à identifier une personne physique en principe (donc s'il y a un principe il y a probablement des exceptions)
    Le contact générique sert entre autre à envoyer des documents ( Rapport, factures..) et sont créés avec des nom de personne physiques ou des noms de service (Compta, Mairie...

    Le but étant d'identifier dans cette table contact les contacts standard : personne physique ayant une seule adresse mail
    et d'identifier les contacts génériques c'est à dire ceux qui ont une adresse mail partagée

    L'adresse générique sera donc créé en autant de personnes physiques différentes ou de service différents

    Une des méthodes pour identifier les mails standard est de faire une recherche du nom dans l'adresse mail avec une formule "contient" mais voilà le problème est que dans le nom j'ai des noms farfelues telles que numéro de téléphone , nom de rue, des chiffres uniquement, le prénom dans le nom...

    Autre problème est que dans le nom j'ai des noms de services qui sont contenus dans l'adresse mail donc ma formule les identifie en standard
    J'ai donc créé un liste non exhaustive de noms de services génériques à reconnaitre dans le nom afin de les identifier en générique


    Sur cette table contact il n'y a aucune règle de fixer ce qui donne libre cours à l'utilisateur d'indiquer ce que bon lui semble et il ne manque pas d'imagination surtout sur les adresses mails ou il n'a pas l'info et doit en créé une fictive car obligatoire

    Donc ma première idée était d'interdire la saisie de chiffre uniquement qui n'ont rien à faire dans un NOM ni dans un prénom je connais personne dont le prénom est 00200 !!!
    et s'ils ont besoin du nom de l'entreprise elle figure déjà dans le compte client auquel le contact est rattaché donc pas besoin de la mettre dans le NOM

    Voilà pour la petite histoire !

  10. #10
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    J'ai un peu de mal à suivre, là.

    Si c'est les adresses mail qui te posent problème, malheureusement tu peux avoir un peu tout et n'importe quoi comme adresse. Et elles peuvent parfaitement contenir des nombres ainsi que quelques autres caractères qui ne sont pas des lettres.

    De plus, il n'y a absolument aucune obligation que l'adresse mail d'un contact physique comporte le non et prénom de la personne. Si c'est souvent vrai pour une adresse professionnelle, pour une adresse personnelle, que l'on peut, plus ou moins, laisser un peu partout, c'est plutôt, au contraire, une bonne pratique qu'elle ne comporte pas de référence à l'identité réelle de son propriétaire.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  11. #11
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2023
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2023
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    De plus, il n'y a absolument aucune obligation que l'adresse mail d'un contact physique comporte le non et prénom de la personne. Si c'est souvent vrai pour une adresse professionnelle, pour une adresse personnelle, que l'on peut, plus ou moins, laisser un peu partout, c'est plutôt, au contraire, une bonne pratique qu'elle ne comporte pas de référence à l'identité réelle de son propriétaire.
    Ce sont des adresses mail professionnelles et identifier un nom et prénom te permet de ne pas recréer des doublons et de pouvoir t'assurer entre autre que tu as écris correctement ton adresse mail en le comparant au nom et prénom et surtout que tu as adressé les documents à la bonne personne

    80% des adresses mails concerne des personnes physiques qui sont des professionnels
    Merci quand même Sevyc 64

  12. #12
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    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 136
    Points : 38 910
    Points
    38 910
    Billets dans le blog
    9
    Par défaut
    Je suis du même avis que sevyc64 :
    • à titre personnel, j'utilise plusieurs adresses courriel, aucune d'entre-elles ne comporte ni mon nom, ni mon prénom, j'évite ainsi un grand nombre de spams robotisés ;
    • à titre professionnel, j'ai des adresses courriel chez mes clients qui sont le plus souvent basées sur tout ou partie du nom et du prénom, mais combinés avec d'autres attributs de toutes sortes et pas seulement alphabétiques.


    Bref, aucun contrôle automatique de contenu n'est possible.
    La seule façon à mon sens de vérifier une adresse courriel est de la faire contrôler périodiquement par son destinataire avec ses autres coordonnées au moyen d'un formulaire ou lors d'un contact réel ou téléphonique.

    Au sujet des adresses courriel : il est important de bien les structurer en respectant la norme. On rencontre trop souvent des adresses mal structurées (trop courtes ou dont le domaine n'est pas externalisé).
    Voir ICI la structure de ces adresses.

    Au stade conceptuel, on modélisera :

    [PERSONNE] 0,n --- (utiliser) --- 1,1(R) [ADRESSE_MAIL] 1,1 --- (heberger) --- 0,n [DOMAINE]

  13. #13
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2023
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2023
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    Bonjour

    Les champs Nom et Prénom sont obligatoires donc autant indiquer un point lorsque le nom et prénom n'est pas connu plutôt que d'y mettre des chiffres
    Un champs à une destination et doit accueillir un certain type de donnée et s'il manque des champs spécifiques et bien on les ajoutent et on indique les règles de gestion du champs


    Escartefigue merci pour le MCD

  14. #14
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    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 136
    Points : 38 910
    Points
    38 910
    Billets dans le blog
    9
    Par défaut
    OK je crois comprendre qu'ici il y a une règle concernant les adresses courriel qui consiste à les former à partir du nom et du prénom ? C'est bien ça ?
    Auquel cas en effet on peut imaginer un contrôle, mais qui ne sera qu'informatif, dans la mesure où il peut y avoir des homonymes (les Jean Dupont, Jacques Martin et consorts ne sont pas rares) et dans ce cas, il y a forcément des adresses courriel qui devront déroger à cette règle.

  15. #15
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2023
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2023
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    Les seuls règles la table contact sont les suivantes
    Adresse mail, Nom, Prénom sont des champs obligatoires

    Il n'y aucune vérification sur l'adresse mail, peut être est il possible de créer une règle sur le formalisme du mail.

    Mon travail consiste à analyser les données dans les champs Nom Prénom et Mail, d'essayer de voir si le nom ou prénom figure dans l'adresse mail afin de qualifier l'adresse mail de Standard ou générique.
    Malheureusement les résultats de mon analyse sont faussées (même si je nettoie les données avec des règles créés sur Excel) car dans les champs on ne rentre pas les bonnes données

    C'est pour cela que je demandais si sur la table contact on pouvait créer un contrainte pour limiter la saisie d'erreur
    Apparemment cela ne semble pas possible ou recommander

    En tout cas merci à tous pour vos interventions

  16. #16
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Citation Envoyé par MDA_1602 Voir le message
    Il n'y aucune vérification sur l'adresse mail, peut être est il possible de créer une règle sur le formalisme du mail.
    Si tu veux vérifier qu'une adresse mail est correctement construite, la regex est celle-ci : ^[^@\s]+@[^@\s]+\.[^@\s]+$.
    Çà correspond au schéma suivant <texte>@<texte>.<texte>. Tu ne peut guère vérifier plus.

    Si tu veux aller plus loin, la seule solution est de valider l'existance de l'adresse. Pour cela, il faut envoyer un mail à cette adresse, avec un lien qui renverra vers ton process. Ce n'est que le retour réel depuis ce lien qui peut valider une adresse comme existante.
    Le seul fait d'envoyer un mail, et d'attendre un éventuel retour indiquant une adresse existante n'est pas suffisant. De plus en plus de servers mail, pour des raisons de sécurité sont désormais configuré pour ne plus répondre de message d'erreur en cas d'adresse inexistante.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  17. #17
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    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 772
    Points : 52 737
    Points
    52 737
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    Si tu veux vérifier qu'une adresse mail est correctement construite, la regex est celle-ci : ^[^@\s]+@[^@\s]+\.[^@\s]+$.
    Çà correspond au schéma suivant <texte>@<texte>.<texte>. Tu ne peut guère vérifier plus.
    Pas bon !

    En effet le dns peut avoir des points à l'intérieur... Exemple : infodoc@agriculture.gov.fr

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

  18. #18
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 138
    Points : 1 918
    Points
    1 918
    Par défaut
    Bonjour,

    La regexp que j'utilise pour la vérification d'adresses mails est la suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '^[[:alnum:]._%+-]+@[[:alnum:].-]+\.[[:alpha:]]{2,4}$'

  19. #19
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    @vanagreg : pas bon non plus, le domaine de 1er niveau n'est plus limité à 4 lettres depuis un petit moment
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

Discussions similaires

  1. [C#] [ADO.NET] Récupérer une contrainte de vérification
    Par crjo dans le forum Accès aux données
    Réponses: 3
    Dernier message: 13/04/2005, 17h30
  2. [DEBUTANT] Qu'est-ce qu'une contrainte applicative ?
    Par Invité dans le forum Débuter
    Réponses: 2
    Dernier message: 16/02/2005, 14h18
  3. [SYBASE ASE] Rajouter une contrainte null sur une colonne
    Par Little_Goldo dans le forum Sybase
    Réponses: 1
    Dernier message: 09/02/2005, 10h48
  4. [Interbase] Mettre une contrainte sur un champ
    Par mika dans le forum InterBase
    Réponses: 2
    Dernier message: 26/01/2005, 14h04
  5. [ contrainte ] supprimer une contrainte DB2
    Par hocinema dans le forum DB2
    Réponses: 4
    Dernier message: 08/01/2004, 15h01

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