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

 SGBD Discussion :

Base de données avec CSV


Sujet :

SGBD

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 43
    Points : 40
    Points
    40
    Par défaut Base de données avec CSV
    Bonjour,

    Ce que Cinephil explique ici est exactement ce que je cherche, mais j'arrive pas a démarrer j’essaie de faire ce que vous avez expliquer mais je tourne en rond. je suis stagiaire et il ma était demandé de concevoir une base de donné ensuite la remplir avec des fichier CSV qui m'ont étaient fournie.
    j'ai fait une base avec deux table(T1 et T2) T2 contient une clé étrangère venant de T1 et un attribut(date) venant de l'association porteuse. Le problème est que j'essaie d'importer les fichier CSV dans la table T2 mais un message d'erreur s'affiche parce que T2 contient une clé étrangère.

    je sais pas si je suis sur la bonne voie ou je suis entrain de faire n'importe quoi.

    En tout j'ai 12 dossier chaque dossier correspond a un mois de l’année(janvier, fevrier, mars,,) et dans chaque dossier il ya 50 fichier csv , chaque fichier csv correspond a un client. donc chaque client a 12 facture en tout ( 1 facture par mois), mettre ca dans une base de donné me parler trés compliqué HELP!!!!

    merci infiniment de votre aide

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    chaque fichier csv correspond a un client
    Il faut donc modéliser les clients. Les fichiers CSV contiennent-ils des détails sur les clients tels que adresses, téléphones... ?
    S'il n'y a qu'un numéro de client et éventuellement son nom, une seule table suffit.

    donc chaque client a 12 facture en tout ( 1 facture par mois)
    Il s'agit donc apparemment de fichiers concernant des factures clients. Y a t-il du détail dans ces factures ? Plusieurs lignes par facture ou une seule ? Il faut alors peut-être une table pour les factures et une pour les lignes de factures.

    chaque dossier correspond a un mois de l’année(janvier, fevrier, mars,,)
    Il faut donc probablement une table pour les mois et une pour les années... donc modéliser un calendrier minimum.

    'ai fait une base avec deux table(T1 et T2) T2 contient une clé étrangère venant de T1 et un attribut(date) venant de l'association porteuse. Le problème est que j'essaie d'importer les fichier CSV dans la table T2 mais un message d'erreur s'affiche parce que T2 contient une clé étrangère.
    S'il y a une clé étrangère dans T2 référençant T1, il faut évidemment que T1 soit remplie avant T2.

    Si T1 est la table des clients et T2 la table des factures, il faut d'abord extraire des fichiers CSV les informations des clients qui alimentera la table des clients puis la table des factures traduisant le client a qui est adressée la facture par son identifiant dans la table des clients.

    Exemple...

    Soit un fichier CSV de factures ainsi structuré :
    num_facture, num_client, date_facture, montant_ht, tva

    Soit la table des clients ainsi structurée :
    te_client_clt (clt_id, clt_numero...)
    => clt_id est de type entier et auto-incrémenté.

    Soit la table des factures ainsi structurée :
    te_facture_fac (fac_id, fac_numero, fac_id_client, fac_montant_ht, fac_tva, fac_date)
    => fac_id est de type entier et auto-incrémenté

    1) Importer ce fichier dans une table provisoire qui aura donc la même structure et que j’appellerai import_factures.

    2) Extraire les clients de cette table qui ne figurent pas déjà dans la table des clients.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    INSERT INTO te_client_clt(clt_numero)
    SELECT DISTINCT i.num_client
    FROM import_facture i
    WHERE NOT EXISTS (
    	SELECT *
    	FROM te_client_clt c
    	WHERE c.clt_numero = i.num_client
    )
    ORDER BY i.num_client
    3) Importer les factures en faisant référence à l'identifiant du client
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO te_facture_fac (fac_numero, fac_id_client, fac_montant_ht, fac_tva, fac_date)
    SELECT i.num_facture, c.clt_id, i.montant_ht, i.tva, i.date_facture
    FROM import_facture i
    INNER JOIN te_client_clt c ON c.clt_numero = i.num_client
    ORDER BY i.num_facture
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 43
    Points : 40
    Points
    40
    Par défaut
    merci beaucoup pour cette explication approfondi, je vais appliquer ça a la lettre
    voila comment j'ai conçu ma base peut etre la problématique est mieux expliquer dans l'image
    Nom : model-conceptuel.jpg
Affichages : 225
Taille : 106,1 Ko

Discussions similaires

  1. remplir base de données avec fichier csv
    Par Xeuch dans le forum Langage
    Réponses: 8
    Dernier message: 03/04/2013, 09h11
  2. meilleure base de données avec java
    Par mial dans le forum JDBC
    Réponses: 11
    Dernier message: 10/11/2010, 11h49
  3. Mise à jour d'une base de données avec XML ou CSV
    Par mims1664 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 14/05/2010, 22h42
  4. Création base de données avec des fichiers .csv
    Par gwen43 dans le forum Débuter
    Réponses: 4
    Dernier message: 21/09/2009, 09h01
  5. Modifier le nom d'une base de donnée avec erreur sy
    Par mmn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/11/2003, 10h12

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