Spécialité EISIS Expertise et Ingénierie des Systèmes d'Information en Santé UE INF-MEDB : Aspects méthodologiques des bases de données ______________________ Mise en œuvre d'une base de données Partage des données Spécialité EISIS UE INF-MEDB - D. FIESCHI Partage des données d’une BD • Exporter/importer tout ou partie des données vers d'autres logiciels – Autres bases de données (ACCESS, SQL, …), – Tableurs (Excel, Lotus…), – fichiers texte (.txt, .csv...) Dans Open office Par l'intermédiaire de la feuille de calcul OpenOffice Calc • Accéder à distance aux données – Odbc, JDBC, Internet Spécialité EISIS UE INF-MEDB - D. FIESCHI 2 Exportation des données 1. Exporter vers la feuille de calcul OpenOffice 1. Sélectionner et copier la table ou la requête 2. Ouvrir openoffice.org Calc (Fichier – Nouveau –Classeur) 3. coller la sélection 2 3 tous les enregistrements sont collés 1 Enregistrer Table patient patient.ods Spécialité EISIS UE INF-MEDB - D. FIESCHI 3 Exportation des données (2) 1. "Enregistrer sous" un autre format – Tableur : Excel, StarCalc… – Base de donnée dbase …., – Texte .csv – Html, xml Spécialité EISIS UE INF-MEDB - D. FIESCHI 4 Exporter au format texte .csv Copier la table patient dans la feuille de calcul – Enregistrer sous patient.csv Définir les paramètres d'exportation Ces paramètres devront être connus du futur utilisateur du fichier Spécialité EISIS UE INF-MEDB - D. FIESCHI 5 Importation de données .csv Ouvrir le fichier Patient .csv dans la feuille de calcul !!! Vérifier les paramètres d’import • Sélectionner et copier les colonnes Dans la base • Coller dans la base !!! Vérifier les paramètres d’importation !!! Cliquer sur Créér une clé primaire (sinon le copier/coller peut bloquer. On peut la supprimer ensuite si une autre des colonnes importées doit servir de clé primaire) Spécialité EISIS UE INF-MEDB - D. FIESCHI 6 Importation de données – Table Patient (2) • Sélectionner tous les champs • Vérifier les propriétés pour chacun des champs Spécialité EISIS UE INF-MEDB - D. FIESCHI 7 Exercices Exportation pour traitement dans un tableur 1. Exporter requête ComptePretparOeuvre Créer un graphique en secteur illustrant les résultats 2. Exporter requête Catalogue des œuvres Créer un histogramme illustrant les résultats Création du graphique Spécialité EISIS UE INF-MEDB - D. FIESCHI 8 Partage ODBC, JDBC Ensemble de fonctions permettant la connexion à un serveur de base de données • Sources définies par le propriétaire de la base dans le gestionnaire de source (ex : sources ODBC) Interface de connexion Spécialité EISIS UE INF-MEDB - D. FIESCHI 9 Partage Web • Statique Exportation au format HTML, XML… image à un instant donné • Dynamique ASP PHP … 1- accès au serveur 2 – analyse des pages ASP - PHP 3,4 - accès, transfert données 5,6 – création, renvoi page HTML Spécialité EISIS UE INF-MEDB - D. FIESCHI 10 Exporter au format HTML Fichier patient.ods Enregistrer sous patient.htm • Statique image à un instant donné Spécialité EISIS UE INF-MEDB - D. FIESCHI 11 Exporter au format HTML (2) B A L I S E S Affichage du source H T M L + T E X T E Spécialité EISIS UE INF-MEDB - D. FIESCHI 12 Accéder aux données via le Web Base sur un serveur – Accès par des pages dynamiques http://monserveur/Menu.html http://monserveur/auteurs.php Spécialité EISIS UE INF-MEDB - D. FIESCHI 13 Pages dynamiques (ASP / PHP) • Pages sur un serveur Web qui les interprète (Microsoft Internet Information Server (IIS), Apache, …) • Contiennent des – Balises HTML et – Balises spéciales ASP <% script interprété sur le serveur%> – PHP <?php script interprété sur le serveur?> génère une page HTML envoyée au navigateur client Spécialité EISIS UE INF-MEDB - D. FIESCHI 14 Structure d'une page d'accès à une base de données • Ouvrir la connexion sur le serveur base de données • Ouvrir la base de données • Définir les requêtes SQL à exécuter Exécution liste d'enregistrements • Boucler sur les enregistrements pour traiter les données et générer la page HTML qui sera affichée • Fermer la connexion bien maîtriser la syntaxe Spécialité EISIS UE INF-MEDB - D. FIESCHI 15 Exemple page PHP Paramètres de connexion connexion La requête Écriture des résultats dans la page Spécialité EISIS UE INF-MEDB - D. FIESCHI 16 Environnement MySQL "My Structured Query Language" Logiciel Base de données Open Source Proposé par de nombreux sites hébergeurs Héberger ses données sur un site ou Installer MySQL sur un ordinateur personnel Spécialité EISIS UE INF-MEDB - D. FIESCHI 17 Installer MySQL sur son ordinateur WAMPServer http://www.wampserver.com/ ou XAMPP http://www.apachefriends.org/fr/xampp-windows.html ou EasyPHP www.easyphp.org • installent et configurent un environnement de travail avec • un serveur web Apache, • une base de données MySQL, • le langage PHP pour créer des pages d'accès aux données, • PHPmyAdmin pour la gestion de la base de données Spécialité EISIS UE INF-MEDB - D. FIESCHI 18 Créer une base de données Serveur – Commandes disponibles Liste des bases Créer une base Spécialité EISIS UE INF-MEDB - D. FIESCHI 19 La base de données MySQL Base active – Commandes disponibles Liste des tables Créer une table - définir le nombre de champs Spécialité EISIS UE INF-MEDB - D. FIESCHI 20 Créer une table – Définition des champs Types TINYINT, SMALLINT MEDIUMINT INTEGER, BIGINT FLOAT DOUBLE PRECISION REAL, DECIMAL Table active dans la base DATE DATETIME TIMESTAMP TIME, YEAR CHAR, VARCHAR TINYBLOB, TINYTEXT BLOB , TEXT MEDIUMBLOB MEDIUMTEXT LONGBLOB, LONGTEXT ENUM, SET Spécialité EISIS UE INF-MEDB - D. FIESCHI 21 Créer une table (2) requête SQL de création de la table Table crée Structure de la table Spécialité EISIS UE INF-MEDB - D. FIESCHI 22 La base de données MySQL Base active – Commandes disponibles Liste des tables Choix des actions sur les tables Spécialité EISIS UE INF-MEDB - D. FIESCHI 23 Saisir des données - INSERT Insérer Zones de saisie Spécialité EISIS UE INF-MEDB - D. FIESCHI 24 Afficher Spécialité EISIS UE INF-MEDB - D. FIESCHI 25 Importer des données à partir d'un fichier .csv (1) • Table patient – Créer la structure puis importer les données exportées précédemment Importer Paramètres d'importation Spécialité EISIS UE INF-MEDB - D. FIESCHI 26 Importer des données à partir d'un fichier .csv (2) 1. Ouvrir fichier patient.ods 1. Supprimer la première ligne contenant les noms de champs 2. enregistrer patient.csv 2. Créer la table patient et définir chacun des champs dans la base MySQL Attention !!! Créer les mêmes champs, dans le même ordre !!! Problèmes des dates - MySQL format AAAA-MM-JJ convertir les dates avant l'importation 1. Modifier le format dans patient.ods (menu Format Cellules) 2. enregistrer au format .csv Spécialité EISIS UE INF-MEDB - D. FIESCHI 27 Exporter des données Différents formats Paramètres d'export Spécialité EISIS UE INF-MEDB - D. FIESCHI 28 Exporter des données SQL Création de la table Instruction d'Insert des enregistrements Spécialité EISIS UE INF-MEDB - D. FIESCHI 29 Saisir des données à partir d'un fichier .sql • Permet de créer des tables ou une base complète Spécialité EISIS UE INF-MEDB - D. FIESCHI 30 Interroger – Manipuler les données Exécuter SQL (1) requête SQL • Exporter une table au format sql (sans l’enregistrer) • Copier les instructions générées dans la zone SQL • Changer le nom de la table puis Exécuter Spécialité EISIS UE INF-MEDB - D. FIESCHI 31 Les commandes importantes de SQL • Définition de données – CREATE , DROP , ALTER • Manipulation de données – SELECT , INSERT , UPDATE , DELETE Documentation MySQL en français • http://dev.mysql.com/doc/refman/5.0/fr/preface.html Spécialité EISIS UE INF-MEDB - D. FIESCHI 32 Exercices Soyez attentifs à la syntaxe des requêtes • • • Créer les tables de la base Bibliothèque Insérer des données ou les importer de la base de données du cours Tester les requêtes créées dans la base OpenOffice !!! Vérifier la correspondance des noms de champs Spécialité EISIS UE INF-MEDB - D. FIESCHI 33 Hébergeurs gratuits • www.free.fr • http://php.developpez.com/comparatifs/hebergeurs/ Attention Vous êtes responsables de ce que vous créez et des conséquences que cela peut avoir sur le serveur qui vous héberge !!! Spécialité EISIS UE INF-MEDB - D. FIESCHI 34