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 :

Question ouverte : export d'une base de données


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut Question ouverte : export d'une base de données
    Bonjour,

    Je me pose une petite question....

    J'ai une énorme base de données toute mal organisé et moche à refaire...
    Donc pour ça pas de pb je vais y arriver (enfin je pense ^^)

    Mais je viens de me poser la question... Comment assurer l'historique entre la nouvelle et la vieille base de données....

    Exemple : Si je veux savoir combien de trucs j'ai manger sur les 10 dernières années sachant que 4 années sont stockés dans une base et 6 dans l'autre.

    Donc je suppose que l'on est obligé de faire 2 requetes disctinctes puis de les associées. Ou il y a d'autres astuces ? ou d'autres idées? ou des organisations de base de données à avoir?

    Car les 2 bases vont être certainement très différentes au niveau de l'organisation !

    Enfin j'espère que vous avez compris ma question car la c'est la digestion et je galère un peu

  2. #2
    Membre confirmé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Points : 502
    Points
    502
    Par défaut
    Quel SGBD utilises tu ?
    Juvamine

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Du MicroSoft SQL Server 2008 pour l'ancienne BDD et pour la nouvelle surement du MySQL avec du PHP derrière ou du MS SQL 2K8...

    D'ailleurs c'est bien du MySQL le MS SQL 2K8? nan?

  4. #4
    Membre confirmé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Points : 502
    Points
    502
    Par défaut
    Euh MySql (Sun) n'a stritement RIEN à voir avec SqlServer (Microsoft).

    Si tes deux bases étaient sous sqlserver 2008 tu avais des solutions assez simple de ce genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * from [MA_BASE_HISTORIQUE].dbo.MaTable1
    union ALL
    select * from [MA_NOUVELLE_BASE].dbo.MaTable1
    Si tes deux moteurs sont différents ça devient plus complexe...
    Juvamine

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    J'ai toujours tourné avec des MySQL et je m'été jamais posé la question donc ouais du coup si pas le même moteur ca va être la loose en effet ...
    Merci en tout cas déjà pour cette solution.
    Mais qu'elles seraient les autres solutions envisageables car si je pouvais me libérer de MS, je me sentirais mieux ! lol ^^

  6. #6
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Pour ton problème je dirais qu'il est préférable de tout stoker dans cela dans le même type de base de données (soit MS SQL-Serveur soit Mysql), cela peut être sur des serveurs différents .

    Il n'y à pas de probleme avec MYSql pour faire des jointure entre tables de serveur et d'instance MySql differentes .
    http://dev.mysql.com/doc/refman/5.0/...ge-engine.html

    Le plus "propre" à mon avis est de réaliser une reprise des données pour conserver ton historique dans la même base de données et dans un e structure proche de ta cible.
    - Informaticien passionné
    - ( java, c++, cobol, php, asp, ... )
    - http://www.berthou.com/fr/

  7. #7
    Membre confirmé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Points : 502
    Points
    502
    Par défaut
    On est pas là pour débattre de cela, mais perso, moi je te conseillerai de rester avec sqlserver 2008, qui est un sgbd très performant, très maléable (malgré l'interface de la console qui laisse à désirer).
    ça t'évitera une migration de moteur à moteur qui n'est jamais aisée (type de données, procédures stockées)
    et ça te permettra d'avoir deux bases sur le même moteur...
    Juvamine

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    C'est sur que je ne souhaite pas lancer un débat MS mais c'est juste que personnellement je souhaite éventuellement pouvoir passer sur une solution moins chères voir gratuite. Mais cela est un souhait pas une obligation

    Oki donc en fait pour l'instant les solutions possible sont :
    - Rester sur le même moteur et utiliser la commande de Juvamine (Question : Dans cette configuration tu réunis les 2 tables mais lorsque tu fait une requête tu dois stipuler les 2 endroits ou il faut chercher l'info je suppose ? Cette commande permet juste de réunir les 2 bases en une mais pas les faire "fusionner"?)

    - reprendre les données (donc je suppose que cela se fait à coup de commande SQL mais cette reprise doit se faire ligne par ligne? ou tu fais ca par table?) et rester avec une structure proche de l'ancienne?

  9. #9
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Le problème du choix du serveur de base de données et tout à fait secondaire.

    Il faut uniquement vérifier si elle permet de réaliser facilement ce que l'on désire et à quel cout .
    Vérifie
    - Sur quel type de serveur doit tourner cette base/ ces bases
    - si la bases historique et active tournent sur des serveurs différents vérifier que le SGBD supporte les jointures inter-serveur. (MySql, Oracle, DB2 le font)

    La reprise des données est souvent faisable normalement via un outils si on conserve le même schéma . Ou bien par un développement spécifique si le schéma change.
    (Cette reprise ce fait table par table)
    - Informaticien passionné
    - ( java, c++, cobol, php, asp, ... )
    - http://www.berthou.com/fr/

  10. #10
    Membre confirmé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Points : 502
    Points
    502
    Par défaut
    Suivant le besoin, il existe des versions gratuites d'SQLServer (au même titre que Mysql d'ailleurs)

    Il ne faut pas se focaliser sur le sgbd comme le dis rberthou.

    Cependant. Une application doit déjà accéder à ces bdd. Les instructions sql risquent de changer sensiblement, et il pourrait y avoir des incompatibilités...
    il faut vraiment réfléchir aux conséquences d'un changement de sgbd
    Juvamine

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Le changement de SGBD s'accompagne d'une refonte complète de l'application car il devient nécessaire de tout refaire de A à Z, mais l'historique est à conserver pour pouvoir établir des statistiques et assurer du suivi principalement.

    Quand à l'OS, ça sera surement du MS Server 2K8 et l'application est une appli Web.

    Et pour moi la SGBD était quelquechose de primaire... Donc j'ai encore à apprendre :p

    Mais il existe quand même des différences entre toutes les SGBD non ?

    Car pour mon cas, qu'elle serait la meilleure SGBD? (juste par curiosité et pour comprendre un peu ...)

  12. #12
    Membre confirmé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Points : 502
    Points
    502
    Par défaut
    Un peu compliqué d'y répondre...
    habitué des gros systèmes je répondrai Oracle/DB2
    La je travaille sur une appli de moyenne envergure avec SqlServer et tout va bien

    Va chercher quelques conseils sur http://sgbd.developpez.com/
    Juvamine

  13. #13
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Pour bien choisir une base de données il faut savoir qui va exploiter cela et quel sont les compétences de ces personnes si l'équipe connait bien SQL serveur et l'administre correctement alors pourquoi changer ...

    Si tu souhaite passer a Mysql cela ne dois pas poser de probleme et Mysql propose des outils pour migrer directement les données (avec le meme schema) http://dev.mysql.com/tech-resources/...microsoft.html

    Pour choisir ce SGBD regarde :
    - ton OS (avec Win 2K8 pas de prb pour SQL server, ni Mysql)
    - Ton langage de dev (PHP aucun prb avec Mysql ,je pense que c est ok avec SQL server) verifier les perfs.
    - les connaissances de l'équipe en place.
    - Informaticien passionné
    - ( java, c++, cobol, php, asp, ... )
    - http://www.berthou.com/fr/

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Oki oki merci en tout cas pour toute ces infos

    Mais admettons que je parte sur du MySQL.

    Pour transférer les données de mon ancienne base de données (SQL server) à ma nouvelle base de données, il existe des outils ou je vais devoir faire une "liaison" des données et faire des transfère tables à tables ou encore laisser les 2 bases de données et faire un traitement séparé?

  15. #15
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Il y a pas mal d'outils pour cela (importer des données dans une autre base)

    Par exemple :
    Mysql migration tools : http://dev.mysql.com/downloads/gui-tools/5.0.html

    Microsoft DTS : http://en.wikipedia.org/wiki/Data_Tr...ation_Services

    SQL Maestro : http://www.sqlmaestro.com/products/mysql/datawizard/
    - Informaticien passionné
    - ( java, c++, cobol, php, asp, ... )
    - http://www.berthou.com/fr/

  16. #16
    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
    J'ai une énorme base de données toute mal organisé et moche à refaire...
    Quel que soit le SGBD choisi, tu peux envisager de tout réunir dans une seule BDD, la nouvelle correctement modélisée, en y important les données anciennes.

    C'est un exercice périlleux qui peut réserver des surprises quant à la qualité des données et peut remettre en cause des résultats de statistiques anciennes s'il y a des données mortes, redondantes, fausses, incohérentes...
    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 !

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Mon objectif final est d'arrivé à une et une seule BDD et d'y importées mes données (d'ou la recherche d'outils etc...) mais comme tu le stipule c'est carrement chaud !!

    Donc je pense que je vais étudié le problème plus en profondeur avant de revenir vous embêter mais cela m'as permis d'avoir déjà une vision plus éclairée du problème.
    Merci Bcp.

    Et je suis encore preneur d'autres idées ou avis etc etc... car j'ai que peu d'expérience dans les BDD et j'aimerais en connaitre un peu plus (Hors cours théoriques ^^ )

    Tiens, une question me viens pour les appli web, il y a UNE SGBD favorite ? (et les raisons qui vont avec?)

    Car DB2 et oracle pour moi sont des SGBD plus industriels pour la production en masse ou le traitement de nombreuses transcations financières... Je me trompe?

  18. #18
    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
    Citation Envoyé par lelej Voir le message
    Tiens, une question me viens pour les appli web, il y a UNE SGBD favorite ? (et les raisons qui vont avec?)
    Je ne pense pas me tromper en disant que la majorité des applis Web utilisent une base MySQL. Elle présente l'avantage de la simplicité mais a aussi des défauts qui peuvent parfois être très préjudiciables. Donc ne pas la choisir parce que c'est la mode.

    Car DB2 et oracle pour moi sont des SGBD plus industriels pour la production en masse ou le traitement de nombreuses transcations financières... Je me trompe?
    DB2 ou Oracle sont traditionnellement des SGBD plutôt utilisés par les entreprises pour les données sensibles. C'est plus compliqué à prendre en main, en tout cas pour ce que j'ai pu commencé à voir concernant Oracle et c'est plus cher en terme de licence puisque sous certaines conditions, MySQL et Postgresql sont gratuits.

    Pour t'orienter sur le choix d'un SGBD, il y a un forum Décision SGBD dans lequel tu trouveras déjà des éléments de réflexion.
    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 !

  19. #19
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Citation Envoyé par lelej Voir le message
    Tiens, une question me viens pour les appli web, il y a UNE SGBD favorite ? (et les raisons qui vont avec?)

    Car DB2 et oracle pour moi sont des SGBD plus industriels pour la production en masse ou le traitement de nombreuses transcations financières... Je me trompe?
    MySql est souvent utilisé dans les appli Web car c'est une des briques de base d'une structure LAMP ou WAMP (Linux/Windows, Apache , Mysql, Php) et bien sur il est gratuit (sauf si on souhaite un support officiel).

    DB2 et Oracle sont également utilisé sur le web mais souvent pour des applications plus sensibles où l'on souhaite un support.

    Personnelement j'utilise Mysql et DB2.
    - Informaticien passionné
    - ( java, c++, cobol, php, asp, ... )
    - http://www.berthou.com/fr/

  20. #20
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Oki d'ouki merci pour toutes ces informations, cela a apporté pas mal d'eau à mon moulin ! Donc je vais le laisser tourner et je reviendrais vous embêter plus tard (enfin la section decisionnel surement.)


Discussions similaires

  1. Exportation d'une base de données Excel
    Par lindalina dans le forum Débuter
    Réponses: 0
    Dernier message: 27/10/2008, 09h36
  2. Exporter vers une base de données AS400
    Par niko73 dans le forum Visio
    Réponses: 0
    Dernier message: 22/11/2007, 15h11
  3. exportation d'une Base de Données
    Par hamdani dans le forum Administration
    Réponses: 5
    Dernier message: 21/05/2007, 17h12
  4. Pb import/export d'une base de données
    Par charlie koller dans le forum Débuter
    Réponses: 3
    Dernier message: 21/03/2007, 15h26
  5. Problème import/export d'une base de donnée
    Par charlie koller dans le forum Débuter
    Réponses: 2
    Dernier message: 21/03/2007, 15h09

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