Enrera
Mòdul 4

Creació i gestió d'entorns web dinàmics (PHP)

  Pràctica
1
2
3
4
5
   
Exercicis
Exercicis
 
   Obtenció i instal·lació    
 

En aquesta pràctica es farà la instal·lació i connexió amb la base de dades.

 
Desenvolupament de la pràctica
   

Arribats a aquest punt, establireu la forma d'instal·lar el motor de la base de dades independentment de qualsevol altre servidor. A més, establireu com instal·lar el driver ODBC ( Open DataBase Connectivity )per accedir a la BD mitjançant aquest canal de comunicació.

 

 

Obtenció i instal·lació del MyODBC (Windows)

   
  A la pàgina principal del MySQL podeu trobar l'enllaç a l'últim driver ODBC estable per accedir al MySQL.
   
  Podeu trobar també el fitxer al paquet de materials de formació, al CD Eines o bé al servei CD-web de la XTEC.
   
Pràctica En aquesta pàgina hi ha informació de les modificacions i dels afegits al driver, a més de les diferents versions, segons la plataforma on s'ha d'instal·lar. Accediu a l'apartat del Windows i baixeu el fitxer MYODBC-n.nn.n.exe. També per curiositat podeu baixar el codi font en llenguatge C, però aquest paquet s'ha de compilar per ser operatiu.
   
  Una vegada teniu el fitxer d'instal·lació *.exe, el premeu dues vegades i arranca el programa amb la pantalla següent:
   
 

Figura 4.2.1.

   
Atenció ! A partir d'aquí, només heu d'anar prement el botó Següent. Per al W95/98, en el cas que us trobeu amb un error del tipus Problemes en copiar el MFC30.DLL mentre s'instal·la el MyODBC, vol dir que aquest fitxer està sent utilitzat per alguna aplicació activa. Heu de reiniciar el Windows amb mode de seguretat i executar de nou el programa MyODBC.
   
  Si tot ha funcionat correctament, apareix una pantalla com la següent:
   
 

Figura 4.2.2.

   
  La connexió ODBC està llesta per ser utilitzada; en cas de dubte, podeu accedir a la Documentació del MyODBC . Comproveu-ho: heu d'accedir al panell dels controladors ODBC instal·lats; això ho trobareu a:
   
 
Sistema Ubicació dels controladors ODBC
W 95/98 Inici / Configuració / Tauler de control / Controladors ODBC
W 2000 PROF/SER Inici / Configuració / Tauler de control / Eines administració / Origens de dades (ODBC)
W XP Inici / Configuració / Tauler de control / Eines administració/ Origens de dades (ODBC) .
Inici/ Tauler de control/ Rendiment i Manteniment/ Eines administratives/ Origens de dades (ODBC).
   
  Comproveu que s'ha instal·lat el nou controlador MyODBC, a la pestanya de Controladors instal·lats, i que correspon a la versió instal·lada. (A la figura 3.2.3 podeu observar que hi ha un exemple amb un controlador del MySQL antic; haureu d'anar amb cura quan establiu un nou DSN per no confondre'l amb el que heu instal·lat. Si no n'esteu segurs, no esborreu els antics, ja que potser algun programa o aplicació que vau fer o instal·lar encara els utilitza.)
   
  Tots aquests controladors són els que teniu disponibles per establir una connexió mitjançant ODBC. Detall de les opcions de l'administrador de controladors ODBC :
   
 

Figura 4.2.3. Administrador de controladors ODBC

   
  Comproveu ara que la connexió funciona correctament. Premeu la pestanya de DSN d'usuari, i premeu dues vegades damunt del DSN myodbc3-test que ha creat automàticament la instal·lació. ( En algunes versions de myodbc, no crea la connexió d'exemple, llavors la podeu crear vosaltres, amb les dades de la figura 4.2.4. )
   
 

Figura 4.2.4.

   
Pràctica A l'apartat Database Name escriviu (mysql o test), ja que són les dues úniques bases de dades que s'han creat per defecte en la instal·lació del servidor MySQL (capítol 1, "Instal·lació de l'EasyPHP"). Les cel·les User i Password en principi no s'han de modificar, excepte en el cas que hàgiu modificat aquests paràmetres en la instal·lació del servidor de bases de dades. Premeu el botó Test Data Source, i si la connexió és correcta, s'obre una finestra que informa que ha estat un èxit.
   
 

Figura 4.2.5.

   
  Obtenció i instal·lació del MyODBC (Linux)
   
  A la pàgina principal del MySQL podeu trobar l'enllaç a l'últim driver ODBC estable per accedir al MySQL amb les modificacions i afegits al driver, a més de les diferents versions, segons la plataforma on s'ha d'instal·lar. Accediu a l'apartat del Linux seleccionant la plataforma que us interessa i baixeu el fitxer MYODBC-n.nn.n_pc_linux_i386.tar. També per curiositat podeu baixar el codi font d'aquest driver, però aquest paquet s'ha de compilar per ser operatiu.
   
  Si descomprimiu el paquet que heu baixat, trobareu un fitxer anomenat INSTALL-BINARY, en què es detallen els passos que s'han de seguir per a la correcta instal·lació de l'ODBC sota el Linux, també podeu accedir a la Documentació del MyODBC , referida a aquest sistema operatiu.
   
  En aquest mateix fitxer s'explica com fer les proves de test de funcionament des de iodbc (Independent Open DataBase Connectivity) per comprovar que el sistema es connecta al servidor MySQL.
   
 
   
Hi ha una altra opció, amb eines gràfiques d'administració, anomenada unixODBC. Es tracta d'un projecte de codi lliure que vol proveir els sistemes que no són Windows d'una interfície estàndard d'accés a dades. Fins i tot bastantes distribucions Linux (RedHat, Suse, United Linux i plataformes com Solaris, AIX, HP/UX ), incorporen aquest aplicatiu.
   
 
UnixODBC
   
  Aquest projecte es desenvolupa amb el support d'una companyia anomenada Easysoft, que n'és la principal benefactora. Tots els productes (connectors de bases de dades propietàries) que té aquesta companyia són compatibles amb UnixODBC.
   
 
EasySoft
   
  Amb aquest paquet ve una utilitat anomenada ODBC Config, amb una interfície molt semblant a la del Windows, que pot fer més senzilla la creació del DSN d116_tutoria.
   
 

Figura 4.2.6. Administrador de controladors UnixODBC

   
  El fitxer INSTALL-BINARY, com ja s'ha dit anteriorment, a més del protocol d'instal·lació en Linux, també porta com fer les comprovacions des d'una utilitat que integra UnixODBC, des de l'indicador d'ordres, anomenada isql.
 
   
  Obtenció i instal·lació del servidor de la BD MySQL
   
Al mòdul 1 heu instal·lat el paquet EasyPHP, i aquest, entre altres servidors, ha instal·lat el servidor de bases de dades MySQL. Amb això és suficient per seguir el curs. Aquest apartat té la seva importància quan es vol instal·lar el servidor de BD en sistemes de producció, on NO s'aconsella la instal·lació de l'EasyPHP, ja que és un entorn per a desenvolupament i en local.
   
  En cas que necessiteu una versió més actualitzada, trobareu a la web del MySQL l'última versió d'aquest motor; eviteu les versions no estables o beta. Heu d'escollir el paquet corresponent per al Windows o Linux. En el cas del Windows, heu de descarregar un fitxer comprimit del tipus mysql-X.X.XX-win.zip. Descomprimiu-lo sobre una carpeta temporal i executeu el fitxer Setup.exe.
   
  En el cas del Linux, la mateixa distribució ja incorpora la instal·lació de servidor de bases de dades i permet triar entre diferents motors de bases de dades, entre ells el MySQL. Tot i així, a la web del MySQL hi ha el paquet per instal·lar el servidor de BD més actualitzat.
   
  Amb aquesta opció teniu més complements i documentació que amb l'opció mínima que instal·la l'EasyPHP, però insistim que no són necessaris per al seguiment del curs.
   
Recordeu que l'EasyPHP ha instal·lat tots els servidors i mòduls en una carpeta que penja per defecte de .../arxius de programa/ EasyPHP/. En cas que vulgueu instal·lar un altre servidor, la instal·lació us demanarà on voleu posar-la; eviteu el mateix lloc en què ho ha fet l'EasyPHP. Els paràmetres de configuració els trobareu en un fitxer anomenat my.ini a la carpeta del Windows.
   
  Durant la instal·lació escolliu l'opció Completa; una vegada acabat el procés, accediu a la carpeta on heu instal·lat el MySQL: hi trobareu una carpeta anomenada bin, on hi ha un fitxer anomenat winmysqladmin. En arrencar per primera vegada winmysqladmin, s'activarà una pantalla on us demanarà un usuari i una contrasenya per a l'administrador; aquesta pantalla crea el fitxer my.ini amb els valors per defecte. A partir d'aquest moment, apareix a la part inferior dreta de la pantalla una icona que representa un semàfor. Activant aquesta icona controlareu el servidor de base de dades MySQL.
   
 

Figura 4.2.7. Control del servidor MySQL

   
  És possible tenir diferents servidors de bases de dades a la mateixa màquina; simplement s'ha de configurar així al fitxer my.ini. Consulteu la documentació oficial si és aquest el vostre cas.
   
  Definició de l'estructura de les taules necessàries
   
  En primer lloc, definiu les dades que voleu extreure del vostre sistema, per importar-les al servidor de BD MySQL. Es pretén definir cinc taules amb les funcions següents:
   
 
 
Taules Descripció
Conté dades estables referents als alumnes; no es modifiquen durant la seva estada al centre (nom, cognoms, sexe, codi, tutors legals...).
Es tracta de dades que es modifiquen anualment, ja que porten informació anual de l'alumne/a (curs acadèmic, etapa, nivell, grup, tutor personal...).
Es tracta d'una taula que associa el codi del professor/a amb el seu nom, correu electrònic, any d'alta al centre i de baixa...
Relaciona cada nivell i grup amb el codi del professor/a tutor.
Conté els representants legals associats a cada alumne/a.

Figura 4.2.8. Definició de les taules que componen la base de dades Tutoria

   
  Els camps que contenen aquestes taules podrien ser més extensos segons les necessitats que es vulguin donar a l'aplicació. A la figura següent es presenta quin seria el model gràfic de la base de dades que es pretén aconseguir: (estructura de les taules)
   
 

Base dades exemple

Figura 4.2.9. Estructura de la base de dades

   
  Exportació de dades
   
  Anem a explorar com interrelacionar diferents formats de bases de dades, i a través de motors coneguts com : Microsoft Accés i Open Office Base, enviar-les cap al servidor de Bases de Dades MySQL, o a l'inrevés.
   
Pràctica En pràctiques posterios aprendreu com aconseguir les taules de dades de programes de gestió academicoadministrativa (el WinSec, el WinPri o SAGA) a partir del llenguatge SQL.
   
  Ara, a partir d'una base de dades en Acces o Open Office (fitxer: d116_db.zip) que forma part del fitxer m4.zip , exportareu les dades automàticament a través de l'ODBC instal·lat cap al servidor de bases de dades MySQL.
 
Atenció ! Els prerequisits són tenir instal·lat i en funcionament el servidor web, el servidor de bases de dades, i el PHP (en principi instal·lat des del mòdul 1). Per tant, si accediu a l'adreça http://localhost/home/, accediu a una de les pantalles per defecte de l'EasyPHP; observeu que hi ha un botó amb el títol phpmyadim, si el premeu s'obrirà a l'Explorador la interfície d'administració de la BD MySQL o directament a http://localhost/mysql/; seguiu els passos següents per crear una base de dades:
   
Pràctica
  • En primer lloc, seleccioneu l'idioma de la interfície al desplegable; està disponible en català i castellà entre d'altres.

 
  • A l'opció de crear una base de dades, introduïu el nom tutoria i premeu el botó Crea. Fins aquí ja en teniu prou, de moment.
   
Ara establireu la connexió ODBC per exportar les taules de l'Acces o de l'Open Office al MySQL; els passos que s'han de seguir són els següents:
   
Pràctica
  • Obriu l'administrador de controladors ODBC , seleccioneu la pestanya de DSN d'usuari, i premeu dues vegades damunt de myodbc3-test (creat anteriorment amb la instal·lació de l'ODBC). Si voleu, en podeu crear un de nou amb el nom d116_tutoria.
 
  • Modifiqueu, si escau, el nom de la base de dades per tutoria; si heu establert usuari i contrasenya, també heu de modificar-los. Per comprovar que funciona, premeu el botó de Test Data Source.
   
  Una vegada hem creat la taula tutoria a MySQL i hem assegurat el funcionament de l'ODBC cap a MySQL, heu d'escollir com traspassar les taules que us donem, amb Microsoft Acces o amb Open Office Base cap a MySQL.
   
Exportació de dades des d'Acces a MySQL a través de l'ODBC.
   
  Si la connexió ha estat correcta, ja esteu preparats per fer l'exportació. Obriu el fitxer de l'Acces, seleccioneu la primera taula, premeu el botó dret del ratolí i seleccioneu Exporta. S'obrirà un quadre de diàleg anomenat Exporta taula; localitzeu el desplegable de la part inferior Anomena i desa i seleccioneu ODBC Databases; no us preocupeu pel nom de l'arxiu.
   
 

ODBC_database

Figura 4.2.10. Exportació Acces - MySQL amb l'ODBC

   
  Premeu Guarda i immediatament us demanarà en un quadre de diàleg el nou nom de la taula. Entreu-lo amb minúscules i accepteu. El pas següent consisteix a establir quina connexió ODBC utilitzareu. Seleccioneu la pestanya Origen de dades de l'equip i cerqueu la connexió myodbc3-test, o en cas d'haver-n'hi creat una de nova, cerqueu d116_tutoria , i accepteu.
   
 

Figura 4.2.11. Selecciona el canal ODBC

   
Exportació de dades des d' Open Office a MySQL a través de l'ODBC.
   
  Si voleu fer la exportació de d'Open Office, heu d'assegurar-vos que disposeu de la versió 1.9.130 o superior d'aquest paquet ofimàtic, ja que en versions més baixes, no disposa de l'aplicatiu anomenat ' Oo.Base', que és l'encarregat de gestionar bases de dades.
   
  El sistema de treball d' Open Office, és força enginyós i bastant versàtil amb referència a l'Acces. Es tracta d'obrir dues bases de dades diferents. En la primera base de dades, aconseguim les dades ( ja sigui en Acces, a través d'ODBC o directament en format Open Office), i amb la segona base de dades connectem Open Office a través d'ODBC a MySQL. Llavors només ens queda copiar les taules de la primera base de dades, i enganxar-les en la segona base de dades. Anem a detallar, les accions per obrir aquestes dues bases de dades.
   
  En primer lloc, obrim una finestra en l'aplicatiu 'Oo.Base'. En aquest punt tenim dues opcions; escolliu-ne una:
   
 
  • Connectar amb el fitxer Acces (fitxer: d116.mdb) que forma part del fitxer m4.zip . Quan s'obre l'assistent per a bases de dades, hem de seleccionar ' Connectar amb una BD existent '. En aquest punt escollim ' Microsoft Access' que conté el propi Oo, (també ho podríem fer a través d'ODBC a MS Access Database, però seria més llarg de configurar ), el següent pas, ens demana simplement, quin fitxer mdb volem obrir. Una vegada seleccionat el fitxer d116.mdb, si premem damunt la icona de taules ens apareixerà les cinc taules (alumany, alumnes, professor, tutlegal i tutories) la resta de taules, si apareixen, no fan falta.
   
 

Fitxer d116.mdb des de Open Office

Figura 4.2.12. Obrir el fitxer d116.mdb (format Acces)

   
 
  • Obrir directament el fitxer Open Data Base (fitxer: d116.odb) que forma part del fitxer m4.zip . Quan s'obre l'assistent per a base de dades, hem de seleccionar ' Obrir arxiu per una BD existent', i si premem damunt la icona de taules ens apareixerà les cinc taules (alumany, alumnes, professor, tutlegal i tutories)
   
 

Fitxer d116.mdb des de Open Office

Figura 4.2.13. Obrir el fitxer d116.odb (format Open Office)

   
  En segon lloc, obrim una altra finestra nova en l'aplicatiu 'Oo.Base' (recordeu, que prèviament heu creat la taula tutoria en MySQL i heu configurat el DSN d'usuari d116_tutoria ). Quan s'obri l'assistent per a BD, hem de seleccionar ' Connectar a una BD existent', en aquest punt escollim 'ODBC', i en el següent pas, on es configura la connexió, seleccionem d116_tutoria. En aquesta pantalla existeix un botó per comprobar la connexió (recordeu que el motor de la base de dades MySQL ha d'estar funcionant, és a dir, EasyPHP ha d'estar actiu), per validar que el connector ODBC es connecta perfectament. Si la connexió és vàlida, ara ja us permetrà guardar la connexió.
   
  Ara, només ens queda, copiar la taula ' alumany ' de la primera BD, i enganxar-la en la segona BD, que està connectada a MySQL a través d'ODBC. Quan premeu amb el botó dret del ratolí, escolliu ' Pegar', seleccioneu la opció ' Definició de dades i camps', i seguidament, seleccioneu traspassar tots els camps que composen la taula, i per últim premeu ' Crear ', i es mostrarà una finestra com la que segueix.
   
 

Connexió a MySQL des de Open Office amb ODBC

Figura 4.2.14. Connexió des de Open Office a MySQL, a través d'ODBC

   
  Comprobació del traspas de dades a MySQL.
   
  Accediu ara amb l'Explorador a http://localhost/mysql/ (si teniu l'EasyPHP en funcionament) i trobareu l'aplicatiu PHPmyAdmin; observeu que la base de dades tutoria ja conté la taula alumany.
   
 

exportació taula a mysql

Figura 4.2.15. Comprovació de la taula alumany

   
Pràctica

Ara heu de repetir l'operació d'exportació de l'Acces o de l' Open Office al MySQL per a les quatre taules restants (alumnes, professor, tutories, tutleg).

   
  Altres informacions d'interès
   
Atenció ! Aquí teniu un recull d'enllaços (lliures i comercials) relacionats amb l'ODBC:
 
Projecte UnixODBC
   
 
Amunt
Pràctica
1
Pràctica_2
3
4
5
Exercicis
Exercicis