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

Développement SQL Server Discussion :

Concatenation sur identifiants


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 48
    Par défaut Concatenation sur identifiants
    Bonsoir à tous,

    J'ai un problème sur SQL Server 2008 (débutant SQL).
    J'ai un table APPRENANT qui contient les champs suivants:

    APP_NUMERO et APP_DATE_NAISSANCE.

    J'utilise une autre table PERSONNE pour renseigner le M ou le F avec un PER_GENRE et un PER_ID

    Ce APP_NUMERO est automatiquement renseigné par le système, il est de la forme M197501230012. M pour le genre, 1975 pour l’année de naissance, 01 pour le mois de naissance, 23 pour le jour de naissance et 0012 est un index indiquant que l’apprenant est le 12ème apprenant masculin né le 23/01/1975.

    Je me suis lancer sur cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT [APPRENANT] ([PER_ID], [APP_NUMERO], [APP_DATE_NAISSANCE]) values ( 11, ?????, 12/06/1984)
    Je ne vois pas comment insérer une requete pour récupérer le APP_NUMERO.
    Si quelqu'un avait une idée à me soumettre, je lui en serais reconnaissant.
    Merci d'avance.

  2. #2
    Membre expérimenté
    Inscrit en
    Février 2009
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 224
    Par défaut
    Bonjour,
    Je ne comprend pas trop la struture choisie pour APP_NUMERO. en effet vous allez introduire de la redondance et comment allez vous gérer les mises à jour en cas d'erreur de saisie sur la date de naissance.
    Je vous recommande plutôt de passer par une contrainte de clé étrangère entre la table apprenant et la table personne. De plus si c'est une relation de 1 à 1 (1personne =1 apprenant) alors pourquoi définir 2 tables.
    Enfin conserver une valeur simple (numerique) pour identifier chaque apprenant.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Vous avez fait une faute dramatique dans votre modèle de données en ne respectant pas la première forme normale :
    Respecte la première forme normale, la relation dont tous les attributs :
    * contiennent une valeur atomique (les valeurs ne peuvent pas être divisées en plusieurs sous-valeurs dépendant également individuellement de la clé primaire)

    Dès lors votre modèle n'étant pas relationnel ne vous étonnez pas des difficultés que vous avez de faire des requêtes dans une base de données qui elle est relationnelle.

    Commencez donc par découper votre colonne bouliboulga en 6 !

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

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

Discussions similaires

  1. concatenation sur etat access dans etiquette
    Par gui-llaume dans le forum IHM
    Réponses: 9
    Dernier message: 16/03/2018, 13h56
  2. Réponses: 3
    Dernier message: 02/06/2010, 18h22
  3. [DATA] Jointure sur identifiant multiple
    Par Tyler Durden dans le forum SAS Base
    Réponses: 2
    Dernier message: 02/10/2009, 20h15
  4. Requete sur identifiant non existant
    Par Eldokoeur dans le forum Hibernate
    Réponses: 2
    Dernier message: 30/05/2008, 16h35
  5. Réponses: 9
    Dernier message: 22/02/2007, 14h51

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