Publicado el 19 de Febrero del 2019
1.172 visualizaciones desde el 19 de Febrero del 2019
324,4 KB
18 paginas
Creado hace 12a (31/12/2011)
PHP y MySQL
Aplica cion e s W e b/ Sist e m a s W e b
Ju a n Pa vón M e st r a s
D e p. I n ge n ie r ía de l Soft w a r e e I n t e lige n cia Ar t ificia l
Fa cu lt a d de I n for m á t ica
Un ive r sida d Com plu t e n se M a dr id
Mat erial baj o licencia Creat ive Com m ons
PHP
Breve int roducción a MySQL con phpMyAdm in
Persist encia de dat os
La inform ación se guarda para volver a ut ilizarla
Mecanism os
Ficheros
• Alm acenam ient o básico
• Acceso secuencial o aleat orio
Bases de dat os
I nform ación est ruct urada
•
• Relaciones
• Búsquedas
• Acceso concurrent e
• Cont rol de acceso a la inform ación
•
I nt egridad
Juan Pavón - UCM 2012- 13
PHP
MySQL
Sist em a de Gest ión de Base de Dat os Relacional
La inform ación se guarda en t ablas
• Una t abla es una colección de dat os relacionados
• Una t abla const a de colum nas ( cam pos) y filas ( regist ros)
• Las t ablas se enlazan por relaciones ent re colum nas
I m plem ent a casi t odo el est ándar SQL ( St ruct ured Query
Language)
Código abiert o
Act ualm ent e de Oracle, que adquirió Sun, que t enía MySQL AB
Escalable
Aplicaciones pequeñas y grandes ( m illones de regist ros)
Transacciones, Mult iusuario
Eficient e: Mult ihilo, varias t écnicas de hash, b- t ree, et c.
Conexión al servidor MySQL con socket s TCP/ I P
Est o perm it e conect arla con casi cualquier plat aform a
Juan Pavón - UCM 2012- 13
PHP
3
4
phpMyAdm in
Herram ient a que ofrece una int erfaz gráfica para la
adm inist ración del servidor MySQL
Configuración del servidor y las bases de dat os
Gest ionar ( crear, m odificar, borrar) las bases de dat os, t ablas,
cam pos, relaciones, índices, et c.
Consult as con SQL, y m ediant e ej em plos ( query by exam ple)
Definir usuarios y asignar perm isos
Realizar copias de seguridad
Crear gráficos ( PDF) del esquem a de la base de dat os
Export ar a m uchos form at os ( docum ent os de t ext o, hoj as de cálculo)
En XAMPP se puede invocar en http://localhost/phpmyadmin/
Configuración
Fichero con fig.in c.ph p ( en el direct orio raíz de phpMyAdm in)
Pero m ás recom endable a t ravés de la int erfaz web de phpMyAdm in en
http://www.dominio.com/phpMyAdmin/setup
Usar el password del root de m ySQL, que se aplica t am bién a ese
m ism o usuario en phpMyAdm in ( efect ivo t ras rearrancar m ySQL)
Juan Pavón - UCM 2012- 13
PHP
phpMyAdm in – Página inicial
Juan Pavón - UCM 2012- 13
PHP
5
6
Usuarios de MySQL
Conviene crear un nuevo usuario para cada sit io w eb
Cada sit io web t endrá sus propias bases de dat os
El usuario root solo se debe usar para adm inist ración
Ent rar en phpMyAdm in com o usuario root
En principio no t iene password, pero habrá que ponerlo, por seguridad
A cont inuación crear un nuevo usuario
• por ej em plo para el sit io del ej em plo a cont inuación: tienda
• Pest aña Users- > Add user
• En la vent ana que aparece indicar
• Nom bre de usuario: tienda
• Host ( local si est áis desarrollando con XAMPP en vuest ro PC)
• Password: tienda
• Crear una base de dat os para el nuevo usuario
• Marcar la casilla Create database with same name and grant all privileges
• No act ivar privilegios globales
Salir de la sesión com o root
Ent rar con el nuevo usuario
Se puede t rabaj ar con la nueva base de dat os
Juan Pavón - UCM 2012- 13
PHP
Creación de una base de dat os con phpMyAdm in
Com o root : Creat e dat abase en la pest aña Dat abase
I ndicar un nom bre para la base de dat os
La opción " collat ion" indica el conj unt o de reglas de com paración y
ordenación del t ext o en la base de dat os, que dependerá del idiom a
• Por ej em plo, ut f8_general_ci que vale para m uchos idiom as y no es
sensible a m ayúsculas y m inúsculas
Juan Pavón - UCM 2012- 13
PHP
7
8
Manej o de la base de dat os con phpMyAdm in
Al seleccionar la base de dat os creada aparecen las operaciones
que se pueden realizar con ella
Se pueden añadir perm isos ( pest aña Privileges) para que ot ros usuarios
puedan usar la base de dat os
En St ruct ure se pueden crear las t ablas que definen el esquem a
de la base de dat os
Juan Pavón - UCM 2012- 13
PHP
9
Ej em plo sencillo de base de dat os: Tienda
Clie n t e s
nif *
nom bre
direccion
em ail
t elefono
Pe didos
num ero *
fecha
client e
product o
cant idad
Pr odu ct os
id *
nom bre
precio
descripcion
* Cla ve pr im a r ia ( los obj et os en est a colum na son únicos y no nulos) . Será indexada.
* * Se pueden definir t am bién ín dice s para m ej orar la eficiencia de las búsquedas
* * * Las cla ve s for á n e a s ( for e ign k e y s) ident ifica una colum na ( o grupo de
colum nas) en una t abla que se refiere a ot ra colum na ( o grupo de colum nas) en ot ra
t abla, generalm ent e la clave prim aria en la t abla referenciada.
Cont ribuyen a gest ionar la int egridad de la base de dat os: no se puede crear un
pedido de un client e o un product o que no exist an.
Las claves foráneas deberían indexarse porque se usarán para seleccionar regist ros
con frecuencia.
Juan Pavón - UCM 2012- 13
PHP
10
Creación de t ablas
La base de dat os const a de t ablas
Cada una con una serie de colum nas ( cam pos)
Cada cam po t endrá asociado un t ipo:
• Ent eros: TI NYI NT, SMALLI NT, MEDI UMI NT, I NT, BI GI NT
• Núm eros reales: DECI MAL, DOUBLE, FLOAT, REAL
• Booleanos: BOOLEAN
• Fecha: DATE, TI ME, YEAR
• St rings: VARCHAR ( hast a 256 caract eres) , TEXT
Com o St orage Engine conviene usar InnoDB para poder gest ionar
relaciones ent re t ablas
Com o Collat ion conviene usar utf8_general_ci
Juan Pavón - UCM 2012- 13
PHP
11
Creación de t ablas
La prim era t abla es la de client es, con cinco cam pos
nif: servirá com o prim ary key ( el nif es único)
nom bre: de em presa o de persona ( sería nom bre + apellidos)
• Se puede indexar para hacer búsquedas por est e cam po
direccion
em ail
t elefono: com o st ring para perm it ir uso de caract eres no num éricos
Juan Pavón - UCM 2012- 13
PHP
12
Creación de t ablas
Crear dos t ablas m ás:
product os
pedidos
aut oindex
Juan Pavón - UCM 2012- 13
PHP
13
Definir relaciones ent re t ablas
Usar la pest aña Designer para ver gráficam ent e las t ablas
Se pueden recolocar las t ablas
Para añadir una relación seleccionar el bot ón Creat e relat ion
• Seleccionar la prim ary key de la t abla client es: nif
• Seleccionar la foreign key en la t abla pedidos: client e
• Aparece una vent ana para seleccionar qué hacer para preservar la
int egridad de las referencias, con las siguient es operaciones:
• DELETE: seleccionar RESTRI CT
• UPDATE: seleccionar CASCADE
• La rest ricción m ás adecuada en la m ayoría de los casos es evit ar realizar
borrados en cascada y act ualizar en cascada
• La relación queda est ablecida y aparece en el gráfico
Para salvar el diagram a, usar el bot ón Save
Juan Pavón - UCM 2012- 13
PHP
14
Definir relaciones ent re t ablas
Si falla el est ablecim ient o de una relación, com probar que:
Am bas usan t ablas I nnoDB com o st orage engine
No hay regist ros en las t ablas
• Si los hubiera hay que com probar que concuerdan para m ant ener la
int egridad de las referencias
El cam po en la prim era t abla es una clave prim aria
El cam po correspondient e en la segunda t abla est á indexado
Am bos cam pos t ienen exact am ent e los m ism os t ipos de dat os
• Si son num éricos, am bos deben ser unsigned ( o ninguno)
Una vez que se haya est ablecido la relación no será posible
int roducir regist ros en la segunda t abla a m enos que se
correspondan en el cam po de la relación con el de la prim era
t abla
¿Qué ocurre en la segunda t abla cuando se borra un regist ro de la
prim era t abla?
Juan Pavón - UCM 2012- 13
PHP
15
I nt roducir dat os en t ablas
Seleccionar la t abla
Seleccionar la pest aña I nsert
I nt roducir dat os para los cam pos correspondient es en Value
Tam bién se pueden int roducir a t ravés del program a PHP que
recupera la inform ación que un usuario haya int roducido en un
form ulario de una página w eb
En la pest aña Brow se se pueden ver los regist ros de la base de
dat os y m odificar cam pos de los m ism os
Juan Pavón - UCM 2012- 13
PHP
16
Backup de la base de dat os
Ex por t
Convenient e de form a regular
• Especialm ent e si se hacen m uchos cam bios
Opciones ( seleccionar Cust om en Export Met hod)
• Qué se guarda
• El servidor com plet o
• Una base de dat os ent era
• Una t abla
• Est ruct ura o dat os, o am bos
• Com presión: ninguna, zipped, gzipped, bzipped
• Form at o
• SQL, CSV, Word, Lat ex, Excel, OpenDoc, PDF, XML, JSON, et c.
El proceso inverso es posible con I m por t
Juan Pavón - UCM 2012- 13
PHP
17
Ej ercicios con phpMyAdm in
I nst alar phpMyAdm in
Crear la base de dat os t ienda con las t ablas client es, product os y
pedidos t al com o se han definido previam ent e
I nsert ar elem ent os en las t res t ablas, prim ero en client es y
product os y luego en pedidos
• Com prueba qué ocurre si se int ent a int roducir un pedido para un
client e que no exist e
I nt ent a elim inar un client e que t iene algún pedido
• Observa el efect o de haber definido la polít ica DELETE: RESTRI CT
cuando se est ableció la FOREI GN KEY
I nt ent a cam biar el nom bre de un product o que t iene algún pedido
• Observa el efect o de haber definido la polít ica UPDATE: CASCADE
cuando se est ableció la FOREI GN KEY
Juan Pavón - UCM 2012- 13
PHP
18
PHP
Uso de MySQL con PHP
Acceso a la base de dat os en PHP
web Servidor Web dinámico
Cliente
Navegador
«request»
GET index.php
código
HTML
Servidor Web
httpd
Intérprete PHP
(Genera HTML)
Busca página index.php
Consulta
index.php
Repositorio
de páginas
Base de
d
Comentarios de: PHP y MySQL - Aplicaciones Web/ Sistemas Web (0)
No hay comentarios