You are on page 1of 19

lndice

Introduccidn ......................................................................

....................................
Razones para comprar este libro ............................................................................
iQul queda fuera del alcance de este libro? ........................................................
iQue necesita? ........................................................................................................
iC6m0 utilizar este libro? .......................................................................................
Parte I. Uso de MySQL

..................................................................................
....

1 Guia rapida de MySQL

..................................................................................
.
Comprension de 10s fundamentos de MySQL .......................................................
~QuCes una base de datos? ..............................................................................
Terminologia sobre bases de datos ...................................................................
Conexion a una base de datos ................................................................................
Creacion y uso de nuestra primera base de datos ................................................ Caso
en el que acabemos de instalar MySQL ................................................. Si un
administrador necesita concederle permiso ............................................ Uso de la
base de datos .....................................................................................
Creacion de una tabla ........................................................................................
Listado de las tablas de una base de datos con SHOW TABLES ...........
Analisis de la estructura de las tablas con DESCRIBE ............................
Insercion de nuevos registros en una tabla ......................................................
Insercion de datos dentro de una instruccion INSERT ..............................
Insercion de grandes cantidades de datos desde un archivo de texto
con LOAD DATA ..............................................................................

Recuperacion de informacion de una tabla ......................................................


Orden en el que MySQL procesa las condiciones .....................................
Correspondencia de patrones .......................................................................
Ordenacion ....................................................................................................
Limitacion del numero de resultados ...........................................................
Devolucion del valor maximo con MAX() ..................................................
Recuperacion de registros distintos .............................................................
Como contar ..................................................................................................
Como recuperar la media. el minimo y el total con AVG( ). MIN( )
y SUM( ) .............................................................................................
Realizacion de calculos en una consulta .....................................................
Eliminacion de registros .....................................................................................
Como cambiar 10s registros de una tabla .........................................................
Eliminacion de tablas y bases de datos ............................................................
Como modificar la estructura de la tabla .........................................................
Como agregar una columna .........................................................................
Modificacion de una definicion de columna ................................................
Como cambiar el nombre de una columna ..................................................
Como
. .
el~minaruna columna .........................................................................
Uso de las funciones de fecha ..........................................................................
Como especificar el formato de fecha ........................................................
Recuperacion de la fecha y la hora actual .................................................
Creacion de consultas mas avanzadas .............................................................
Como aplicar un nuevo encabezado a una columna con AS .....................
Combinacion de columnas con CONCAT ...................................................
Como buscar el dia del aiio ..........................................................................
Como trabajar con varias tablas ..................................................................
Combinacion de dos o mas tablas ................................................................
Realizacion de calculos con fechas ..................................................................
Agrupacion de una consulta ..............................................................................
Resumen ...................................................................................................................
2. Tipos de datos y tipos de tabla

.....................................................................
Analisis de 10s distintos tipos de columna ..............................................................
Tipos de columna numericos .............................................................................
Tipos de columnas de cadena ............................................................................
Tipos de columna de fecha y hora ....................................................................
Opciones de MySQL ...............................................................................................
Analisis de 10s distintos tipos de tablas ..................................................................
Tablas ISAM
....................................................................................................... Tablas
MyISAM .................................................................................................
Tablas estaticas .............................................................................................
Tablas dinamicas ...........................................................................................

Tablas
. .
comprlm~das.......................................................................................

Tablas MERGE ...................................................................................................


109
Tablas HEAP ......................................................................................................
113
Tablas InnoDB ..............................................................................................
115
Tablas DBD ........................................................................................................116
Resumen ...................................................................................................................
117
3. SQL Avanzado

.................................................................................
..................119
Operadores ..............................................................................................................1
20
Operadores logicos .............................................................................................
120
Operadores aritmeticos ...................................................................................... 121
Operadores de comparacion ........................................................................123
Como usar LIKE en equivalencias de patron de SQL ...............................
127
Expresiones regulares ................................................................................... 128
Operadores bit a bit ...........................................................................................133
Combinaciones avanzadas ......................................................................................
.

138
Combinaciones internas ............................................................................... 140
Combinaciones por la izquierda (o combinaciones externas por la izquierda) .... 140
Combinaciones por la derecha (o combinaciones externas por la derecha) .... 143
Combinaciones externas completas ............................................................... 143
Combinaciones naturales y la palabra clave USING ...................................... 144
Recuperacion de 10s datos encontrados en una tabla per0 no en la otra .......
146
Combinacion de resultados con UNION ........................................................ 147
Subselecciones ....................................................................................................
149
Como escribir subselecciones como combinaciones ....................................... 149
Como agregar registros a una tabla desde otras tablas con INSERT SELECT ... 151
Mas sobre la agregacion de registros ....................................................................152
Mas sobre como eliminar registros (DELETE y TRUNCATE)..........................
153
Variable de usuario ..................................................................................................
153
Ejecucion de instrucciones SQL almacenadas en archivos ................................. 157
Redireccionamiento de la salida hacia un archivo ........................................... 159
Como usar 10s archivos desde la linea de comandos MySQL ................... 160
Transacciones y bloqueos .......................................................................................
160
Las transacciones en las tablas InnoDB ..........................................................
161

Lecturas coherentes........................................................................................... 163


Lectura de bloqueos para actualizaciones ...................................................... 164
Bloqueos de lectura en mod0 compartido ..................................................... 167
Confirmaciones automaticas .............................................................................
168
Transacciones en tablas DBD ..................................................................... 171
Otros comportamientos transaccionales .......................................................... 173
Bloqueo de tablas ......................................................................................... 175
Como evitar 10s bloqueos de tabla ....................................................................
181
Niveles de transaccion .................................................................................181
Resumen...................................................................................................................
182

4. indices y
r

optimization de consultas ............................................................ 185

Comprension de 10s indices ....................................................................................


Creacion de un indice ..............................................................................................
186
187
Creacion de una clave primaria ........................................................................ 187
Creacion de un indice primario .........................................................................
Creacion de un indice de texto completo .........................................................
190
191
Uso de 10s indices de texto completo .......................................................... 192
Palabras ruido ................................................................................................
Relevancia .....................................................................................................
193
194
Busquedas booleanas de texto completo ..................................................... 195
Creacion de un indice unico ..............................................................................
Creacion de indices sobre una parte de un campo ..........................................
Como utilizar un campo de increment0 automatico ..............................................
201
202
202
Creacion de un campo de increment0 automatico ........................................... 203
Insertion de registros que contienen un campo de increment0 automatico ..... 204
Como recuperar y reiniciar el valor de increment0 automatico .....................
Mas alla de 10s limites ........................................................................................
205
209
Problemas con LAST-INSERT-ID() .............................................................. 209
indices de varias columnas y carnpos de increment0 automatico ..................
Eliminacion o modificacion de un indice ................................................................
211
213
Tipos de tabla e indices ...........................................................................................
214
Uso eficaz de 10s indices ........................................................................................
215
..

Donde utilizar 10s indices ...................................................................................


Selection de indices ...........................................................................................
Uso del sistema de prefijacion mas a la izquierda ...........................................
215
218
218
Como utiliza MySQL 10s indices con EXPLAIN ..................................................
220
Realizacion de calculos en una consulta ..........................................................
225
Uso de EXPLAIN con el sistema de preqos a la izquierda .......................... 227

Optimizacion de las selecciones .............................................................................


229
Como ayudar a1 optimizador de MySQL con ANALYZE...............................
Optimizacion de las instrucciones SELECT y seguridad ................................
234
236
Evaluacion del rendimiento de las funciones .................................................... 237
Optimizacion de actualizaciones, eliminaciones e inserciones ............................. 238
Resumen ...................................................................................................................
240

5. Programaci6n con MySQL

............................................................................ 243
Uso de buenas tecnicas de programacion de bases de datos .............................. 244
Uso de conexiones permanentes ......................................................................
245
Como lograr codigo portable y sencillo de mantener ......................................
245
La conexion ...................................................................................................
246
Consultas de base de datos .......................................................................... 249
~ C u i n t otrabajo deberia realizar el servidor de la base de datos? .................
251
Las fases del desarrollo de aplicaciones ............................................................... 255

Fase 1: analisis de las necesidades ...................................................................


Determination de las necesidades del usuario ...........................................
Deterrninacion de tecnologia necesaria .......................................................
255
256
256
Fase 2: Diseiio de la aplicacion ......................................................................... 257
Modelado .......................................................................................................
Uso de pseudocodigo ....................................................................................
257
257
Codificacion ........................................................................................................
257
Fase 4: fase de pruebas e implernentacion .................................................... 260
Resumen ................................................................................................................... 260
6. Como ampliar las funciones de MySQL

..................................................... 263

Funciones definidas por el usuario .........................................................................


Funciones UDF estandar ...................................................................................
La funcion init ................................................................................................
264
268
268
La funcion principal ......................................................................................
270
La funcion deinit ...........................................................................................
Creacion de una UDF estandar de ejemplo .....................................................
272
272
Analisis de las funciones agregadas ................................................................. 274
Creacion de una UDF agregada de ejemplo .................................................. 275
Resolucion de problemas de UDF .........................................................................
278
Resumen ...................................................................................................................
278

Parte I1 Diseiio de una base de datos

............................................................ 281
7. Comprensi6n de las bases de datos relacionales
....................................283
Analisis de 10s modelos anteriores a las base de datos ........................................ 284
Modelo jerarquico de base de datos ................................................................. 284
Modelo de base de datos en red .......................................................................
Modelo de base de datos relacional .......................................................................
286
286
Terminos basicos ................................................................................................
287
Claves de tabla

...................................................................................................
290
Claves externas ..................................................................................................
290
Introduccion a las vistas ....................................................................................
292
Resumen ...................................................................................................................
295

8...............................................................297
.
Normalizac~onde bases de datos
I

Concepto de normalizacion
.....................................................................................
Primera forma normal
........................................................................................ Segunda
forma normal
....................................................................................... Tercera
forma normal
........................................................................................
Forma normal de Boyce-Codd
..........................................................................
Cuarta forma normal
.......................................................................................... Quinta
forma normal y otras formas ................................................................
Concepto de desnormalizacion
...............................................................................
.......................................................................................................
Resumen
............

9. Diseiio de bases de datos

..............................................................................321
Ciclo de vida de las bases de datos .......................................................................
322
Fase 1: Analisis ...................................................................................................323
Fase 2: Diseiio ....................................................................................................
Diseiio conceptual .........................................................................................
Diseiio logic0 y fisico....................................................................................
324
325
329
Fase 3: Implementacion ...............................................................................333
Fase 4: Pruebas .............................................................................................. 333
Fase 5: Puesta en marcha ................................................................................. 334
Fase 6: Mantenimiento .......................................................................................
335
Un ejemplo del mundo real: un sistema de seguimiento de publicaciones .......... 336
Fase 1 de la base de datos de Poet's Circle: Analisis ..................................... 336
Fase 2 de la base de datos de Poet's Circle: Diseiio ....................................... 337
Fase 2 de la base de datos Poet's Circle: Implementacion ............................. 341
Fase 4 a 6 de la base de datos Poet's Circle: Prueba. puesta en marcha
. .

rnantenlrnlento .............................................................................
..........342
Control de simultaneidad mediante transacciones
............................................... 343
Atomicidad ............................................................................................
..............
343

Coherencia ..........................................................................................................
343
Aislamiento .........................................................................................................
344
Durabilidad ...................................................................................................
344
Resumen ...................................................................................................................
344
Parte I11. Administracibn de MySQL

.............................................................. 347

. Administracibn baisica

10

................................................................................
..349

Uso de MySQL como administrador ......................................................................


350
Como iniciar y cerrar MySQL ............................................................................
352
Como iniciar y cerrar MySQL en Unix ............................................................
352
Como iniciar MySQL automaticamente a1 arrancar el sistema ................. 354

Como evitar problemas comunes a1 iniciar MySQL en Unix ..................... 355


Como iniciar y cerrar MySQL en Windows .....................................................
355
Como iniciar MySQL automaticamente .................................................... 356
Como evitar problemas comunes a1 iniciar MySQL en Windows .............
Configuration
de MySQL
.......................................................................................
358
359
Registro ....................................................................................................................
363
El archivo de errores ..........................................................................................
363
El registro de consultas ...................................................................................364
El registro de actualization binario ................................................................ 365
El registro de consultas lentas ......................................................................... 368
Rotacion de registros ..................................................................................369
Optimization, analisis, comprobacion y reparacion de tablas .............................. 372
Optimization de tablas .................................................................................... 373
Optimization de tablas con la instruccion OPTIMIZE .............................. 373

Optimizacion de tablas con mysqlcheck ..................................................... 374


Optimizacion de tablas con myisamchk ....................................................... 374
Analisis de tablas ................................................................................................
375
Analisis de tablas con ANALYZE TABLE ................................................ 376
Analisis de las tablas con mysqlcheck ......................................................... 377
Analisis de tablas con myisamchk ............................................................... 377
Comprobacion de tablas .....................................................................................
378
Comprobacion de las tablas con CHECK TABLES .................................. 379
Comprobacion de tablas con mysqlcheck ...................................................380
Comprobacion de tablas con myisamchk .................................................... 381
Reparacion de tablas ..........................................................................................
383
Reparacion tablas de tipo diferente a MyISAM ........................................ 384
Reparacion de tablas con REPAIR TABLE ............................................... 384
Reparacion de las tablas con mysqlcheck ................................................... 386
Reparacion de tablas con myisamchk .........................................................
386
Como usar mysqlcheck .................................................................................
388
Uso de myisamchk ........................................................................................
391
Resumen ...................................................................................................................
396
11. Copias de seguridad de bases de datos

...................................................

399
Volcados de seguridad de tablas MylSAM con BACKUP ................................. 400
Uso de BACKUP en Unix .............................................................................. 400
Uso de BACKUP con Windows ....................................................................... 403
Restauracion de tablas MyISAM con RESTORE ............................................... 404
Volcados de seguridad de tablas de MyISAM mediante la copia de archivos
directamente .............................................................................................. 406
Realizacion de volcados con mysqldump ...............................................................
409
Restauracion de una base de datos volcada con mysqldump ......................... 411
Copias de seguridad con SELECT INTO ............................................................. 416
Restauracion de una tabla con LOAD DATA ................................................. 419
~QuCocurriria si algo sale mal? .................................................................. 420
Uso de LOAD DATA con opciones ............................................................ 421
Aspectos de seguridad relacionados con LOAD DATA LOCAL ............ 426
Uso de mysqlimport en lugar de LOAD DATA .............................................. 426
Uso de mysqlhotcopy para realizar copias de seguridad ..................................... 429
Uso del registro de actualizacion binario para restablecer la base de datos
a su

. .

posicion mas reciente ........................................................................... 431

Copia de seguridad y restauracion de tablas InnoDB .......................................... 436


Duplicacion como medio de realizar copias de seguridad .................................... 438
Resumen ................................................................................................................... 439
12. Duplicaci6n de base de datos

.....................................................................

441
Que es la duplicacion ..............................................................................................
441

Configuracion de
Opciones de
.
.
..................................................................................
duplication
443
. . .

duplication .................................................................................... 444


Comandos de duplicaclon ..................................................................................

............................................................................

Dificultades de la duplicacion
448
450
Duplicacion de una base de datos ..........................................................................450
Duplicacion con un registro binario activo en el principal ...................................457
Eliminacion de registros binarios antiguos del servidor principal e inicio
de la operacion ..............................................................................................459
Como evitar un exceso de actualizaciones ............................................................ 462
Como evitar errores clave ................................................................................... 464
Resumen ................................................................................................................... 467
13. Configuration y optirnizacion de MySQL

................................................

471
Optimizacion de las variables msyqld ....................................................................
472
Optirnizacion de table-cache ............................................................................ 477
Optirnizacion de key-buffer-size ......................................................................
478
Control de un elevado numero de conexiones .................................................479
Optirnizacion de las variables delayed-queue- size y back-log ....................
Optirnizacion de la variable sort-buffer ...........................................................
Configuration de tablas InnoDB .......................................................................
Presentacion de las opciones rnysqld ...............................................................
484
484
485
485
Descripcion de las variables rnysqld ................................................................. 491
Analisis de todas las variables de estado .................................................... 503
Cambio de valores de variables con el servidor en funcionamiento ...................
508
Mejoras en el hardware para acelerar el servidor ............................................... 511
Memoria ..............................................................................................................511
Discos ..................................................................................................................5
12
CPU .....................................................................................................................
512
Uso de
. ..
anallsls comparativos ................................................................................. 512
Ejecucion de MySQL en mod0 ANSI ....................................................................
Uso de distintos lenguajes en MySQL ...................................................................
Como mostrar mensajes de error en otro idioma .............................................
Utilizacion de un conjunto de caracteres diferente .........................................

Como aiiadir un conjunto de caracteres propio ...............................................


527
528
528
529
529
Resumen .................................................................................................................
533
14. Seguridad de bases de datos

......................................................................535
Seguridad a1 conectarse ..........................................................................................
536
.
.

Gestion de usuarios y permisos


..............................................................................
La base de datos mysql
....................................................................................
Campos de las tablas
....................................................................................538

Como examina MySQL permisos para conceder el acceso ......................


543
Como completar las tablas de permiso ........................................................ 544

537
537

Que hacer si no puede conectarse o no tiene permisos .................................. 564


Que hacer si la tabla de usuarios se daiia ................................................... 565
Otras opciones de GRANT ...................................................................
567
Estrategia para gestionar usuarios de forma segura .................................. 570
Como evitar la concesion de privilegios peligrosos .........................................
571
Conexiones
.......................................................................................................SSL 572
Seguridad de
.

aplicaciones ..................................................................................
574
Seguridad del sistema ..............................................................................................
575
Problemas de seguridad relacionados con LOAD DATA LOCAL .................... 575
Resumen ...................................................................................................................
576
15. Instalaci6n de MySQL

.................................................................................
579
Instalacion de una distribucion fuente o binaria ....................................................
580
Instalacion de MySQL en Windows ...................................................................... 581
Instalacion de una distribucion binaria en Windows ........................................ 582
Instalacion de MySQL como servicio en Windows NT/2000/XP ............. 583
Instalacion de MySQL en Unix .........................................................................
584
Instalacion de una distribucion binaria (tar) en Unix ....................................... 584
Instalacion de una distribucion binaria (rpm) en Unix ..................................... 587
Instalacion desde codigo fuente en Unix ....................................................
Cornpilacion optima de MySQL ...................................................................
Instalacion de varios servidores en el mismo equipo ............................................
Como evitar problemas de instalacion comunes ...................................................
Problemas al . . .
588
590
591
594
iniciar msyqld ............................................................................... 594
Problemas de compilacion ................................................................................. 595
Problemas de Windows ..................................................................................... 596
Actualizacion de MySQL 3.s a MySQL 4 .............................................................
Resumen ...................................................................................................................
597
599
16. Multiples unidades

.....................................................................................
.. 601
Significado de RAID ...............................................................................................

601

RAID 0 ............................................................................................................... 602


RAID 1 ...............................................................................................................
603
RAID 2 y RAID 3 ............................................................................................. 603
RAID 4 ............................................................................................................... 604
RAID 5 ...............................................................................................................
604
RAID 10 .............................................................................................................
RAID 0+1 ...........................................................................................................
605
605
Otros tipos de RAID ..........................................................................................
606
Uso de enlaces simbolicos ...................................................................................... 606
Vinculacion simbolica de bases de datos ..........................................................
607
Vinculacion simbolica de tablas ................................................................... 609
Resumen ...................................................................................................................
611

Gracias por probar Solid Converter PDF.


La versin de evaluacin de este producto slo convierte el 10% de su
documento hasta un mximo de 10 pginas.
Durante esta conversin, Solid Converter PDF ha convertido 10 de 841
pginas.
Le rogamos registre Solid Converter PDF en
http://www.solidpdf.com/buy.htm para cancelar esta restriccin.

You might also like