DESCRIPCIÓN:Marzo de 2009 - Paul Dubois - 17x24 cm. Código 3999
CONTENIDO:Paul Dubois
Marzo de 2009 Páginas: 928
Código 3999
CONTENIDO: Si lo que está buscando es un sistema de administración de bases de datos gratuita o de bajo coste, sin duda MySQL es la mejor elección, ya que se compone de unas características muy atractivas: gran velocidad, facilidad de uso, compatibilidad con el lenguaje de consultas, prestaciones, conectividad y seguridad, portabilidad, tamaño reducido, disponibilidad y coste, distribución y código fuente abiertos. Este libro es la mejor herramienta con la que dominará MySQL de forma eficaz y con la que conseguirá aumentar la productividad de su trabajo. Aprenderá, entre otros aspectos, a generar páginas Web dinámicas creadas con Perl y PHP, crear cuentas de usuario, realizar copias de seguridad de bases de datos y garantizar la seguridad de los sitios.
INDICE EXTRACTADO:
Introducción
Por qué seleccionar MySQL
Si ya tiene otro RDBMS
Herramientas proporcionadas con MySQL
Objetivos del libro
Estructura del libro
Parte I: Uso general de MySQL
Parte II: Utilizar interfaces de programación MySQL
Parte III: Administración de MySQL
Parte IV: Apéndices
Cómo leer este libro
Versiones de software analizadas en el libro
Convenciones
Contenido extra
Recursos adicionales
Parte I. Uso generalde MySQL
1. Primeros pasos con MySQL
Cómo puede ayudarle MySQL
Base de datos de ejemplo
La U.S. Historical League
El proyecto de las calificaciones
Aplicación de la base de datos de ejemplo
Terminología básica de bases de datos
Terminología estructural
Terminología del lenguaje de consultas
Terminología arquitectónica de MySQL
Curso práctico de MySQL
Obtener la distribución de la base de datos de ejemplo
Requisitos previos
Establecer y terminar conexiones al servidor MySQL
Ejecutar instrucciones SQL
Crear una base de datos
Crear tablas
Tablas para la organización U.S. Historical League
Añadir nuevas filas
Añadir filas con INSERT
Añadir nuevas filas desde un archivo
Restablecer la base de datos sampdb a un estado conocido
Recuperar información
Especificar criterios de recuperación
El valor NULL
Ordenar los resultados de una consulta
Limitar los resultados de una consulta
Calcular y asignar nombre a valores de columna de un resultado
Trabajar con fechas
Comparar patrones
Permitir y utilizar variables definidas por el usuario
Generar resúmenes
Recuperar información de varias tablas
Borrar o actualizar filas existentes
Consejos para interactuar con mysql
Simplificar el proceso de conexión
Usar un archivo de opciones
Utilizar el historial de la utilidad de línea de comandos
Utilizar alias y secuencias de comandos
Ejecutar instrucciones con mayor facilidad
Utilizar el editor de líneas de entrada de mysql
Utilizar cortar y pegar para ejecutar instrucciones
Utilizar mysql para ejecutar archivos de secuencias de comandos
A continuación
2. Utilizar SQL para administrar datos
El modo SQL del servidor
Sintaxis de identificadores MySQL y reglas de nomenclatura
Uso de mayúsculas y minúsculas en instrucciones SQL
Conjuntos de caracteres
Especificar conjuntos de caracteres
Determinar la disponibilidad y configuración de conjuntos de caracteres
Compatibilidad con Unicode
Compatibilidad de Unicode antes de MySQL 6.0
Compatibilidad de Unicode en MySQL 6.0 y posteriores
Seleccionar, crear, eliminar y modificar bases de datos
Seleccionar bases de datos
Crear bases de datos
Eliminar bases de datos
Modificar bases de datos
Crear, eliminar, indexar y modificar tablas
Características de motores de almacenamiento
Comprobar los motores de almacenamiento disponibles
Representar tablas en disco
El motor de almacenamiento MyISAM
El motor de almacenamiento MERGE
El motor de almacenamiento MEMORY
El motor de almacenamiento InnoDB
El motor de almacenamiento Falcon
El motor de almacenamiento FEDERATED
El motor de almacenamiento NDB
Otros motores de almacenamiento
Características de portabilidad de los motores de almacenamiento
Crear tablas
Opciones de tabla
Crear tablas provisionales
Tablas temporales
Crear una tabla a partir de otras tablas o resultados de consultas
Usar tablas MERGE
Usar tablas particionadas
Usar tablas FEDERATED
Eliminar tablas
Indexar tablas
Características de índices de motores de almacenamiento
Crear índices
Eliminar índices
Modificar la estructura de tablas
Obtener metadatos de base de datos
Obtener metadatos con SHOW
Obtener metadatos con INFORMATION_SCHEMA
Obtener metadatos desde la línea de comandos
Recuperaciones de varias tablas con combinaciones
Combinaciones internas
Cualificar referencias a columnas de tablas combinadas
Combinaciones externas por la izquierda o la derecha
Realizar recuperaciones de varias tablas con subconsultas
Subconsultas con operadores de comparación relativos
IN y NOT IN en subconsultas
Subconsultas ALL, ANY y SOME
Subconsultas EXISTS y NOT EXISTS
Subconsultas correlativas
Subconsultas en la cláusula FROM
Recuperar subconsultas como combinaciones
Rescribir subconsultas que seleccionan valores que coinciden
Rescribir subconsultas que seleccionan valores que no coinciden
Recuperar varias tablas con UNION
Utilizar vistas
Eliminar y actualizar en varias tablas
Realizar transacciones
Utilizar transacciones para garantizar la ejecución de instrucciones
Utilizar puntos de recuperación de transacciones
Aislamiento de transacciones
Enfoques no transaccionales a problemas transaccionales
Claves secundarias e integridad referencial
Crear y utilizar claves secundarias
Vivir sin claves secundarias
Utilizar búsquedas FULLTEXT
Búsquedas FULLTEXT de lenguaje natural
Búsquedas FULLTEXT en modo Booleano
Búsquedas FULLTEXT de expansión de consultas
Configurar el motor de búsqueda FULLTEXT
3. Tipos de datos
Categorías de valores de datos
Valores numéricos
Números de valor exacto y aproximado
Valores de campo de bits
Valores de cadena
Tipos de cadenas y conjuntos de caracteres admitidos
Variables del sistema relacionadas con conjuntos de caracteres
Valores de fecha y hora (temporales)
Valores espaciales
Valores Booleanos
El valor NULL
Tipos de datos de MySQL
Presentación de los tipos de datos
Especificar tipos de columna en definiciones de tabla
Especificar valores predeterminados de columna
Tipos de datos numéricos
Tipos de datos numéricos de valor exacto
Tipos de datos numéricos de valor aproximado
El tipo de datos BIT
Atributos de tipos de datos numéricos
Seleccionar tipos de datos numéricos
Tipos de datos de cadena
Los tipos de datos CHAR y VARCHAR
Los tipos datos BINARY y VARBINARY
Tipos de datos BLOB y TEXT
Tipos de datos ENUM y SET
Atributos de tipos de datos de cadena
Seleccionar tipos de datos de cadena
Tipos de datos de fecha y hora
Tipos de datos DATE, TIME y DATETIME
El tipo de datos TIMESTAMP
El tipo de datos YEAR
Atributos de los tipos de datos de fecha y hora
Trabajar con valores de fecha y hora
Interpretar valores de año ambiguos
Tipos de datos espaciales
Procesar valores de datos incorrectos
Trabajar con secuencias
Propiedades generales de AUTO_INCREMENT
Propiedades AUTO_INCREMENT específicas de motores de almacenamiento
AUTO_INCREMENT para tablas MyISAM
AUTO_INCREMENT para tablas MEMORY
AUTO_INCREMENT para tablas InnoDB
Problemas con columnas AUTO_INCREMENT
Consejos para trabajar con columnas AUTO_INCREMENT
Añadir una columna de números secuenciales a una tabla
Modificar la secuencia de una columna existente
Generar secuencias sin AUTO_INCREMENT
Evaluar expresiones y convertir tipos
Escribir expresiones
Tipos de operadores
Precedencia de operadores
Valores NULL en expresiones
Convertir tipos
Reglas de interpretación de fechas y horas
Probar y forzar la conversión de tipos
Seleccionar tipos de datos
Tipos de valores que puede almacenar una columna
Intervalo de los valores
Interrelación entre los problemas de selección de tipos de datos
4. Programas almacenados
Instrucciones compuestas y delimitadores de instrucciones
Funciones y procedimientos almacenados
Privilegios de funciones y procedimientos almacenados
Tipos de parámetros de procedimientos almacenados
Desencadenadores
Eventos
Seguridad en vistas y programas almacenados
5. Optimizar consultas
Utilizar índices
Ventajas de la indexación
Inconvenientes de los índices
Seleccionar índices
El optimizador de consultas de MySQL
Funcionamiento del optimizador
Utilizar EXPLAIN para comprobar el funcionamiento del optimizador
Seleccionar tipos de datos para consultas eficaces
Carga eficaz de datos
Problemas de programación y bloqueo
Cambiar las prioridades de programación de instrucciones
Utilizar inserciones retrasadas
Utilizar inserciones concurrentes
Niveles de bloqueo y concurrencia
Optimizaciones de nivel administrativo
Utilizar cachés de claves MyISAM
Utilizar la caché de consultas
Optimizaciones de hardware
Parte II. Utilizar interfaces de programación MySQL
6. Introducción a la programación MySQL
Crear programas MySQL propios
API disponibles para MySQL
El API C
El API Perl DBI
El API PHP
Seleccionar un API
Entorno de ejecución
Rendimiento
Lenguajes compilados frente a lenguajes interpretados
Versiones independientes frente a versiones de módulo de los intérpretes del lenguaje
Tiempo de desarrollo
Portabilidad
7. Diseñar programas MySQL con C
Compilar y vincular programas cliente
Conectarse al servidor
Procesar errores y opciones de comandos
Comprobar errores
Obtener parámetros de conexión en el tiempo de ejecución
Acceder a contenidos de archivos de opciones
Procesar argumentos de línea de comandos
Incorporar procesamiento de opciones a un programa cliente MySQL
Procesar instrucciones SQL
Procesar instrucciones que modifican filas
Procesar instrucciones que devuelven un conjunto de resultados
Un procesador de instrucción de carácter general
Enfoques alternativos al procesamiento de instrucciones
mysql_store_result() frente a mysql_use_result()
Utilizar metadatos de conjuntos de resultados
Código de caracteres especiales y datos binarios
Trabajar con cadenas que contienen caracteres especiales
Trabajar con datos binarios
Programa interactivo de ejecución de instrucciones
Crear clientes con compatibilidad SSL
Utilizar la biblioteca de servidor incrustada
Escribir una aplicación de servidor incrustado
Generar el binario ejecutable de la aplicación
Utilizar ejecución de varias instrucciones
Utilizar instrucciones preparadas del lado del servidor
8. Crear programas MySQL con Perl DBI
Características de las secuencias de comandos Perl
Presentación de Perl DBI
Tipos de datos DBI
Una sencilla secuencia de comandos DBI
Solucionar errores
Procesar instrucciones que modifican filas
Procesar instrucciones que devuelven un conjunto de resultados
Crear bucles de recuperación de filas
Determinar el número de filas devueltas por una instrucción
Obtener resultados de una sola fila
Trabajar con conjuntos de resultados completos
Comprobar valores NULL
Delimitar caracteres especiales en cadenas de instrucciones
Marcadores de posición e instrucciones preparadas
Vincular resultados de consulta a variables de secuencias de comandos
Especificar parámetros de conexión
Depuración
Depurar con instrucciones de impresión
Depuración con seguimiento
Utilizar metadatos de conjuntos de resultados
Realizar transacciones
DBI en acción
Generar el directorio de la Historical League
Generar la lista de miembros en texto sencillo
Generar el directorio RTF
Enviar avisos de renovación de suscripciones
Editar entradas de la Historical League
Buscar miembros de la Historical League con intereses comunes
Mostrar en línea el directorio de la Historical League
Utilizar DBI en aplicaciones Web
Configurar Apache para secuencias de comandos CGI
Breve compendio de CGI.pm
Comprobar parámetros de entrada Web
Generar resultados Web
Escapar texto HTML y de URL
Crear páginas multifunción
Conectarse al servidor MySQL desde secuencias de comandos Web
Navegador de base de datos basado en la Web
Buscador de calificaciones
Buscar intereses afines en la Historical League
Realizar búsquedas con comparación de patrones
Realizar búsquedas con un índice FULLTEXT
9. Crear programas MySQL con PHP
Presentación de PHP
Una sencilla secuencia de comandos PHP
Utilizar archivos de la biblioteca PHP para encapsular código
Una sencilla página de recuperación de datos
Procesar resultados de instrucciones
Procesar instrucciones que modifican filas
Procesar instrucciones que devuelven un conjunto de resultados
Probar valores NULL en resultados de consultas
Utilizar instrucciones preparadas
Utilizar marcadores de posición para controlar problemas de delimitación de datos
Controlar errores
PHP en acción
Aplicación de introducción de calificaciones en línea
Obtener entradas Web en PHP
Mostrar e introducir calificaciones
Crear un cuestionario interactivo en línea
Editar en línea entradas de miembros de la Historical League
Parte III. Administración de MySQL
10. Introducción a la administración con MySQL
Componentes de MySQL
Administración general de MySQL
Control de acceso y seguridad
Mantenimiento de bases de datos, copias de seguridad y duplicación
11. El directorio de datos de MySQL
Ubicación del directorio de datos
Estructura del directorio de datos
Acceso a datos desde el servidor MySQL
Representar bases de datos en el sistema de archivos
Representar tablas en el sistema de archivos
Representar vistas y desencadenadores en el sistema de archivos
Asignar instrucciones SQL a operaciones de archivos de tabla
Restricciones del sistema operativo para los nombres de objetos de base de datos
Factores que afectan al tamaño máximo de las tablas
Implicaciones de la estructura del directorio de datos para el rendimiento del sistema
Archivos de estado y registro de MySQL
El archivo de ID de proceso
Los registros MySQL
Reasignar los contenidos del directorio de datos
Métodos de reasignación
Precauciones de reasignación
Evaluar el efecto de la reasignación
Reasignar el directorio de datos completo
Reasignar bases de datos concretas
Reasignar tablas
Reasignar el espacio de tablas compartido InnoDB
Reasignar archivos de registro y estado
12. Administración general de MySQL
Proteger una nueva instalación de MySQL
Crear contraseñas para las cuentas MySQL iniciales
Crear contraseñas para otro servidor
Iniciar y apagar el servidor MySQL
Ejecutar el servidor MySQL en Unix
Ejecutar el servidor con una cuenta de inicio de sesión sin privilegios
Iniciar el servidor en Unix
Ejecutar el servidor MySQL en Windows
Ejecutar el servidor manualmente en Windows
Ejecutar el servidor como servicio de Windows
Especificar opciones de inicio del servidor
Detener el servidor
Controlar el servidor cuando no pueda conectarse
Controlar cómo se escuchan conexiones en el servidor
Administrar cuentas de usuario de MySQL
Administración de cuentas MySQL de nivel superior
Especificar nombres de cuentas
Especificar el nombre de host local en nombres de cuentas
Conceder privilegios
Definir los privilegios de una cuenta
Utilizar el privilegio USAGE
Exigir a una cuenta el uso de conexiones seguras
Permitir la administración de privilegios en una cuenta
Limitar el consumo de recursos de una cuenta
Mostrar privilegios de cuentas
Revocar privilegios y eliminar usuarios
Cambiar contraseñas o restablecer contraseñas perdidas
Mantener registros
El registro de errores
El registro de errores en Unix
El registro de errores en Windows
El registro general de consultas
El registro de consultas lentas
El registro binario y el archivo de índice del registro binario
El registro de relevo y el archivo de registros de relevo
Usar tablas de registro
Administrar registros
Rotar archivos de registro con nombres fijos
Caducidad de archivos de registro binario y de registro de relevo
Automatizar el procedimiento de caducidad de registros
Caducidad o rotación de tablas de registro
Ajustar el servidor
Comprobar y establecer valores de variables del sistema
Comprobar valores de variables del sistema
Establecer variables del sistema al iniciar el servidor
Establecer variables del sistema en tiempo de ejecución
Variables de sistema de propósito general
Comprobar valores de variable de estado
Configurar motores de almacenamiento
Seleccionar los motores de almacenamiento compatibles con un servidor
Configurar el motor de almacenamiento MyISAM
Configurar el motor de almacenamiento InnoDB
Configurar el espacio de tablas InnoDB
Volver a configurar el espacio de tablas compartido
Variables del motor de almacenamiento InnoDB
Configurar el motor de almacenamiento Falcon
Habilitar y deshabilitar la función LOCAL de LOAD DATA
Problemas de internacionalización y localización
Configurar zonas horarias
Seleccionar el idioma de los mensajes de error
Configurar compatibilidad con conjuntos de caracteres
Ejecutar varios servidores
Problemas del uso de varios servidores
Configurar y compilar diferentes servidores
Estrategias para especificar opciones de inicio
Utilizar mysqld_multi para administrar servidores
Ejecutar varios servidores en Windows
Actualizar MySQL
13. Control de acceso y seguridad
Seguridad interna: evitar accesos no autorizados al sistema de archivos
Apropiarse de datos
Proteger su instalación MySQL
Proteger el archivo de socket de Unix
Proteger archivos de opciones
Seguridad externa: evitar accesos de red no autorizados
Estructura y contenidos de las tablas de permisos de MySQL
Columnas de ámbito de acceso
Columnas de privilegios de las tablas de permisos
Privilegios administrativos
Privilegios de bases de datos y tablas
Representación de los privilegios en las tablas de permisos
Columnas relacionadas con SSL de las tablas de permisos
Columnas de administración de recursos de las tablas de permisos
Controlar el acceso de clientes
Contenidos de columnas de ámbito
Verificar acceso de instrucciones
Orden de comparación de las columnas de ámbito
Puzzle de privilegios
Riesgos que evitar en tablas de permisos
Establecer conexiones seguras
14. Mantenimiento de bases de datos, copias de seguridad y duplicación
Principios de mantenimiento preventivo
Mantenimiento de bases de datos con el servidor en ejecución
Bloquear tablas concretas para acceso de sólo lectura o de lectura/escritura
Bloquear una tabla para acceso de sólo lectura
Bloquear una tabla para acceso de lectura/escritura
Bloquear todas las bases de datos para acceso de sólo lectura
Mantenimiento preventivo general
Utilizar las funciones de recuperación automática del servidor
Programar el mantenimiento preventivo
Realizar copias de seguridad
Crear copias de seguridad en texto con mysqldump
Crear copias de seguridad binarias
Crear una copia de seguridad binaria completa
Crear una copia de seguridad binaria parcial
Crear copias de seguridad con mysqlhotcopy
Crear copias de seguridad de tablas InnoDB o Falcon
Copiar bases de datos a otro servidor
Copiar bases de datos con un archivo de copia de seguridad
Copiar bases de datos entre servidores
Comprobar y reparar tablas de bases de datos
Utilizar el servidor para comprobar y reparar tablas
Comprobar tablas con CHECK TABLE
Reparar tablas con REPAIR TABLE
Utilizar mysqlcheck para comprobar y reparar tablas
Utilizar myisamchk para comprobar y reparar tablas
Comprobar tablas con myisamchk
Reparar tablas con myisamchk
Aumentar la velocidad de ejecución de myisamchk
Utilizar copias de seguridad para recuperar datos
Recuperar bases de datos
Recuperar tablas concretas
Volver a ejecutar instrucciones en archivos de registro binario
Problemas de recuperación automática de InnoDB
Configurar servidores de duplicación
Funcionamiento de la duplicación
Establecer una relación de duplicación
Formatos de registro binario
Utilizar un servidor esclavo de duplicación para realizar copias de seguridad
Parte IV. Apéndices
Apéndice A. Obtener e instalar software
Obtener la distribución sampdb
Obtener MySQL y software relacionado
Seleccionar una versión de MySQL
Instalar MySQL en Unix
Crear una cuenta de inicio de sesión para el usuario MySQL
Obtener e instalar una distribución MySQL en Unix
Instalar una distribución binaria en archivo tar
Instalar una distribución RPM
Instalar una distribución de código fuente
Pasos posteriores a la instalación
Configurar la variable de entorno PATH
Inicializar el directorio de datos y las tablas de permisos
Iniciar el servidor
Instalar o actualizar tablas adicionales del sistema
Instalar compatibilidad Perl DBI en Unix
Instalar Apache y PHP en Unix
Instalar MySQL en Windows
Instalar compatibilidad Perl DBI en Windows
Instalar Apache y PHP en Windows
Apéndice B. Tipos de datos
Tipos numéricos
Tipos enteros
Tipos de coma fija
Tipos de coma flotante
El tipo BIT
Tipos de cadena
Tipos de cadena binarios
Tipos de cadena no binarios
Tipos ENUM y SET
Tipos de fecha y hora
Tipos espaciales
Apéndice C. Operadores y funciones
Operadores
Preferencia de operadores
Operadores de agrupación
Operadores aritméticos
Operadores de comparación
Operadores de bits
Operadores lógicos
Operadores de conversión
Operadores de comparación de patrones
Funciones
Funciones de comparación
Funciones de conversión
Funciones numéricas
Funciones de cadena
Funciones de fecha y hora
Funciones de resumen
Funciones de seguridad y compresión
Funciones de bloqueo
Funciones espaciales
Funciones de conversión de formato de valores espaciales
Funciones de propiedades espaciales
Funciones de relaciones espaciales
Funciones XML
Otras funciones
Apéndice D. Variables del sistema, de estado y de usuario
Variables del sistema
Variable del sistema de sesión
Variables de estado
Variables de estado de InnoDB
Variables de estado de la caché de consultas
Variables de estado SSL
Variables definidas por el usuario
Índice alfabético