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 :

[PostgreSql] alimenter deux tables en meme temps


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Points : 9
    Points
    9
    Par défaut [PostgreSql] alimenter deux tables en meme temps
    Bonjour,

    je débute en base de donnée, et pour un application java j'utilise une base Postgresql. j'ai deja utilisé cette base de donnée mais je n'ai jamais vraiment utiliser le concepte de relation entre tables.
    donc dans cette base j'ai deux tables:
    - Personne
    - Foyer

    avec comme relation:
    - une personne ne peut avoir qu'un foyer.
    - un foyer peut avoir plusieurs membres.

    pour recuperer les informations pas de problems, un simple INNER JOIN fait tres bien la faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM personne INNER JOIN foyer USING id_foyer
    Mais comment faire de meme pour les insert et update ?

    Merci pour votre aide

  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 766
    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 766
    Points : 52 561
    Points
    52 561
    Billets dans le blog
    5
    Par défaut
    ...le concepte de relation entre tables...
    Une relation est un objet mathématique porteur de données dont la traduction dans un SGBDR est la table. Ne confondez donc pas une relation => table et une "association" entre entité qui est un lien entre des tables.

    avec comme relation:
    - une personne ne peut avoir qu'un foyer.
    - un foyer peut avoir plusieurs membres.
    Vous avez donc une association de type 1:n (1 à plusieurs) entre deux entités (personne et foyer). Ceci ce traduit par le fait que la table côté 1 reçoit en clef étrangère la clef (primaire ou subrogée) de la table côté n.
    http://sqlpro.developpez.com/cours/m...passage#L5.1.2
    En sus il convient de rajouter une contrainte d'intégrité référentielle (FOREIGN KEY). A lire : http://sqlpro.developpez.com/cours/s...e=partie2#L7.3

    Pour les update, tout dépen de la façon dont vous avez géré les clauses ON UPDATE, ON DELETE de votre IR.

    Si vous n'avez rien fait, alors il faut piloter les mise à jour dans une procédure stockée de manière combinées et dans une transaction. En effet un ordre SQL de mise à jour ne peut porter que sur une seule table cible à la fois.

    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Merci pour toutes ces informations
    donc il n'existe pas sous Postgre la possibilité d'injecter des donnée dans deux tables simultanément.

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

Discussions similaires

  1. Enregister dans deux table en meme temps
    Par Msysteme dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/04/2009, 15h40
  2. Insert dans deux tables en meme temps?
    Par radzar dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/04/2008, 11h33
  3. FOREIGN KEY vers deux tables en meme temps
    Par lichman dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 27/11/2007, 03h11
  4. remplir deux tables en meme temps
    Par rafawel dans le forum Langage SQL
    Réponses: 4
    Dernier message: 14/06/2005, 16h41
  5. Comptez sur deux tables en même temps
    Par genova dans le forum Langage SQL
    Réponses: 12
    Dernier message: 13/09/2004, 18h58

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