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 PostgreSQL Discussion :

Probleme Insertion donnée


Sujet :

Requêtes PostgreSQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Août 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Probleme Insertion donnée
    Bonjour tout le monde,
    j'ai un p'tit problème

    j'ai une donnée des livres d'une bibliothèque, et celle-ci il y a un ouvrage qui a été écrit par 2 auteurs avec leur année de naissance respective, doc je ne sais pas comment insérer le nom des deux auteurs en même temps,
    je sais que c'est peu flou mais j'espère que vous saurez où je veux en venir
    merci d'avance

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 801
    Points
    30 801
    Par défaut
    Sans connaitre la structure des tables de la base de données, il est difficile de répondre.
    Mais, compte-tenu de la description du problème, j'ai bien peur que ce soit un problème de modélisation...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    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 561
    Points
    38 561
    Billets dans le blog
    9
    Par défaut
    En effet,

    Il faut savoir que de très nombreux documents (livres, CD, DVD...) ont plusieurs contributeurs et qu'il existe aussi, à la marge, des documents (en tout cas pour les livres) dont les contributeurs ne sont pas connus
    Et bien sûr, un même contributeur peut éventuellement contribuer à plusieurs documents
    De plus, un contributeur, pour un document, exerce un ou plusieurs rôle(s) : scénariste, dessinateur, coloriste, interprête, compositeur, chef d'orchestre...

    il y a donc une relation ternaire entre document, contributeur et rôle

    Pour une bonne gestion, il faut donc modéliser, au niveau conceptuel :
    [DOCUMENT] 0,n --- (contribuer) --- 0,n [CONTRIBUTEUR]
    ...................................│
    ...................................0,n
    ................................[ROLE]


    Ce qui donne les tables (PK soulignées, FK suffixées #) :
    DO_DOCUMENT(DO_id, DO_titre...)
    CO_CONTRIBUTEUR(CO_id, CO_nom, CO_prenom, CO_pseudo, CO_date_nais...)
    RO_ROLE(RO_id, RO_code, RO_libelle...)
    CN_CONTRIBUER(DO_id#, CO_id#, RO_ID#...)

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Cela n'est même pas suffisant... En effet, si nous prenons le film "Noblesse oblige", Alec Guiness (acteur) endosse 8 rôles différents. C'est pourquoi j'avais proposé ce modèle :
    https://www.developpez.net/forums/at...-film-2.1.jpg/

    Voir la discussion ici :
    https://www.developpez.net/forums/d1...ites-moi-j-ai/

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

  5. #5
    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 561
    Points
    38 561
    Billets dans le blog
    9
    Par défaut
    @SQLPro : attention aux homonymes
    Dans ma proposition la notion de "rôle" signifiait acteur, réalisateur, éclairagiste pour un film, interprète ou compositeur, pour une musique...
    Dans ton modèle publié, qui ne concerne que les films, le "rôle" signifie "personnage incarné", c'est donc deux choses bien différentes.

    Ici, le sujet est une bibliothèque qui gère plusieurs types de support, pas seulement des films.

    Si on voulait conceptualiser un modèle qui traite à la fois les films mais aussi les autres supports tels que les livres ou les CD, il faudrait
    - créer une entité-type faible [personnage] identifiée relativement au film (le personnage ne pouvant pas exister sans le film, l'id du film contribue donc à la PK du personnage)
    - créer une association (créditer) entre [film] et [personnage]
    - créer une association (incarner) entre [personne] et [personnage]
    - mettre en œuvre une CIF pour vérifier qu'une personne ne peut incarner un personnage que s'il a un rôle de type acteur, cascadeur ou autre (liste à définir) dans ce film
    - autoriser le fait qu'un même personnage soit incarné par plusieurs acteurs dans un même film (cas marginal mais qui peut se produire)

    Soit le MCD qui suit (la CIF est insuffisante bien sûr, à compléter pour vérifier le rôle, un trigger sera donc indispensable )
    Pièce jointe 528581

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Et ton modèle est donc bien faux car la ternaire ne permettra pas de mettre plusieurs fois, dans une même œuvre, une même personne ayant le même rôle !

    reprends Noblesse oblige...

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

  7. #7
    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 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonne année à tous !


    Citation Envoyé par SQLpro Voir le message
    Et ton modèle est donc bien faux car la ternaire ne permettra pas de mettre plusieurs fois, dans une même oeuvre, une même personne ayant le même rôle !
    reprends Noblesse oblige...
    Je suppose que tu veux parler de l’association ternaire EXERCER. Si c’est bien cela, pourquoi voudrais-tu qu’on apprenne deux fois qu’Alec Guinness fut interprète dans Noblesse oblige ? Une fois suffit comme l’a recommandé Guillaume d’Ockham.

    S’il s’agit de savoir quels personnages furent interprétés par Alec Guinness dans ce film, l’association INCARNER est là pour ça.


    Au niveau tabulaire :

     
    DOCUMENT (do#     libelle)            PERSONNAGE (do#     Pg#    Nom)
              no      Noblesse oblige                 no      ho     Horatio
              me      Merise aussi                    no      et     Ethelred
              ...     ...                             ...     ...    ...
    
    ROLE (ro#     libelle)             PERSONNE (pe#     nom)
          in      interprète                     ag      Alec Guinness
          sc      scénariste                     fr      Fred Escarte
          ...     ...                            ...     ...
    
    EXERCER (do#   pe#   ro#)         INCARNER (pe#   do#   pg#)
             no    ag    in                     ag    no    ho
             no    fr    in                     ag    no    et
             ...   ...   ...                    fr    no    ho 
                                                ...   ...   ...
    
     
    (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.

  8. #8
    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 561
    Points
    38 561
    Billets dans le blog
    9
    Par défaut
    Bonjour Frédéric, bonjour François,

    Citation Envoyé par fsmrel Voir le message
    Je suppose que tu veux parler de l’association ternaire EXERCER. Si c’est bien cela, pourquoi voudrais-tu qu’on apprenne deux fois qu’Alec Guinness fut interprète dans Noblesse oblige ? Une fois suffit comme l’a recommandé Guillaume d’Ockham.

    S’il s’agit de savoir quels personnages furent interprétés par Alec Guinness dans ce film, l’association INCARNER est là pour ça.
    Effectivement, c'est pourquoi j'insistai sur l'acception différente du terme "rôle" :
    Citation Envoyé par escartefigue Voir le message
    @SQLPro : attention aux homonymes
    Dans ma proposition la notion de "rôle" signifiait acteur, réalisateur, éclairagiste pour un film, interprète ou compositeur, pour une musique...
    Dans ton modèle publié, qui ne concerne que les films, le "rôle" signifie "personnage incarné", c'est donc deux choses bien différentes.

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/05/2011, 15h36
  2. Probleme insertion base de données
    Par helene38250 dans le forum Développement Web en Java
    Réponses: 8
    Dernier message: 30/03/2010, 16h36
  3. Probleme insertion données dans base ACCESS
    Par Ice-tea dans le forum SGBD
    Réponses: 7
    Dernier message: 20/08/2007, 14h38
  4. probleme insertion de donnée
    Par Melvine dans le forum Oracle
    Réponses: 2
    Dernier message: 01/09/2006, 08h56
  5. probleme insertion donnée access
    Par nashouille dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/01/2004, 14h45

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