Publicado el 26 de Junio del 2020
1.707 visualizaciones desde el 26 de Junio del 2020
2,8 MB
60 paginas
Creado hace 13a (01/06/2011)
Fundamentos de MySQL
UNIOJEDA
Escuela de Computaciòn
Introducción
• MySQL, es un Sistema de Administración de Base de
Datos de código abierto, es licenciado bajo la GPL
(General Public License) de la GNU.
• Fue creada por la empresa sueca MySQL AB.
• MySQL es el sistema administrador de base de datos
más usado en el mundo del software libre, debido a
su gran rapidez, confiabilidad y facilidad de uso.
• MySQL es parte de LAMP (Linux, Apache, MySQL,
PHP / Perl / Python), fuente de rápido crecimiento de
software de código abierto para negocios.
UNIOJEDA
Escuela de Computaciòn
Licencia GPL
• Las licencias que cubren la mayor parte del software
son comerciales, es decir el creador de la obra
libre
mantiene el código
distribución.
fuente y no es de
• La Licencia Pública General de GNU pretende
garantizar
libertad de compartir y modificar
software libre para asegurar que el software es libre
para todos sus usuarios.
la
• Cuando se habla de software libre, se refiere a
libertad del código fuente, no al precio.
UNIOJEDA
Escuela de Computaciòn
Historia de MySQL
• La necesidad de una base de datos SQL para
aplicaciones Web llevaron a desarrollar una base de
datos comercial inspirada en proyectos de código
abierto
comenzó a
desarrollarse en 1994.
source), MySQL
(open
• No se sabe con certeza de donde proviene el
nombre MySQL. Probablemente pueda ser de dos
fuentes, la compañía MySQL AB los últimos 10 años
a colocado como prefijo a los desarrollos realizados
la palabra “My”, la otra fuente podría ser el nombre
de una de las hijas del co-fundador Michael “Monty”
Widenius, esto todavía sigue siendo un misterio.
UNIOJEDA
Escuela de Computaciòn
Hitos importantes en la evolución de
MySQL
1995 Liberada primera versión de MySQL 1.0
1996 Liberada la versión MySQL 3.11 sobre Linux y Solaris
1997 Primera Licencia comercial y contrato de soporte
2000 La licencia de MySQL cambia a GPL
Octubre 2004 La versión de producción GA es 4.1
Octubre 2005 La versión de producción GA es 5.0
UNIOJEDA
Escuela de Computaciòn
Características de MySQL
Internas y de portabilidad :
• Escrito en C y C++.
• Está disponible en diferentes plataformas: Linux, Solaris,
FreeBSB, Mac OS X, HP-UX, AIX, Windows, etc.
• Disponibilidad de APIs para C, C++, Eiffel, Java, Perl,
PHP, Python, Ruby y Tcl.
• Aprovecha la potencia de sistemas multiprocesador,
gracias a su implementación multihilo.
• Tablas Hash en memoria, son usadas como tablas
temporales.
• El código de MySQL ha sido probado (Tested) con las
principales herramientas del mercado.
• El servidor está disponible como un programa separado
para ser usado en un ambiente cliente/servidor.
UNIOJEDA
Escuela de Computaciòn
Características de MySQL
Tipos de Columna soportados :
INTEGER de 1, 2, 3, 4, y 8 Bytes
FLOAT
DOUBLE
CHAR
VARCHAR
TEXT
BLOB
DATE, TIME, DATETIME, TIMESTAMP, YEAR
Tipos espaciales OpenGIS
UNIOJEDA
Escuela de Computaciòn
Características de MySQL
Sentencias y Funciones:
• Soporte para las cláusulas GROUP BY y ORDER BY.
• Pueden usarse las funciones: COUNT(),
COUNT(DISTINCT ...),AVG(), STD(), SUM(), MAX() y
MIN().
• Soporte para LEFT OUTER JOIN y RIGHT OUTER JOIN
usando notación SQL estándar.
• Soporte para alias sobre: tablas y columnas usando SQL
estándar.
• Las sentencias DELETE, INSERT y UPDATE retornan el
número de filas que han sido afectadas.
• Se puede mezclar tablas de diferentes bases de datos
en la misma consulta.
UNIOJEDA
Escuela de Computaciòn
Características de MySQL
Seguridad
• Maneja un sistema de privilegios muy seguro, la verificación se
hace basado en host.
Escalabilidad y Límites
• Maneja base de datos grandes. Su uso se extiende a más de 50
millones de registros. Se tiene conocimiento de algunos usuarios
que usan el servidor MySQL con más de 60,000 tablas y cerca de
5.000.000.000 de filas.
• Hasta 64 índices por tabla son permitidos. Cada índice puede
consistir de 1 a 16 columnas.
Conectividad
• Los clientes pueden conectarse al servidor MySQL usando TCP/IP
sobre cualquier plataforma.
• El conector/ODBC (MyODBC) provee soporte a programas cliente
que usen ODBC (Open Database Connectivity).
• La interfase conector/J provee soporte para programas cliente java
que usan JDBC.
UNIOJEDA
Escuela de Computaciòn
¿Porque seleccionar a MySQL?
• Aplicaciones Web: Muchas consultas y pocas escrituras, MySQL
resuelve rápidamente peticiones.
• Aplicaciones de Negocios: Por su estabilidad, bajo costo, rapidez
y soporte.
• Soporte a Código-Abierto: MySQL es software libre de código
abierto, está basado en licencia GPL.
• Bajo requerimiento: MySQL no requiere recursos excesivos para
ejecutarlo.
• Disponibilidad para tablas de gran tamaño:. En algunos
sistemas usando MySQL se ha logrado hasta 8 terabytes (TB) por
tabla.
• Estabilidad: MySQL está escrito en múltiples capas, y diferentes
módulos, cada uno de los módulos están en versiones estables de
funcionamiento.
UNIOJEDA
Escuela de Computaciòn
Deficiencias de MySQL
Características no presentes en el núcleo de MySQL
4.1.11:
•Procedimientos almacenados
•Disparadores (Triggers):
•Vistas
Soporte a estas características ha sido agregado a la
serie 5.x, con soporte al estándar ANSI SQL-99 y
SQL-2003.
UNIOJEDA
Escuela de Computaciòn
Motor de almacenamiento de MySQL
El motor de almacenamiento (storage engine) es el
software que se encarga del manejo de los datos,
cómo se organizan y qué relaciones tienen, como se
almacenan y de qué forma son accedidos, cómo se
gestiona el acceso de distintos usuarios y los bloqueos
pertinentes, sus medidas de seguridad y la integridad.
En MySQL es posible seleccionar el tipo de motor de
almacenamiento a utilizar, esto se indica en la
sentencia de creación de la tabla
UNIOJEDA
Escuela de Computaciòn
Motor de almacenamiento de MySQL
UNIOJEDA
Escuela de Computaciòn
Motor de almacenamiento de MySQL
Motor de almacenamiento
de
almacenamiento original de MySQL, sólo manejaba tablas no-
transaccionales, estuvo disponible en la versión MySQL 3.23 y
rápidamente fue reemplazado por MyISAM.
ISAM: Motor
Características:
• Registros de longitud fija y variable.
• Sólo pueden ser definidos 16 índices por tabla.
• Claves con longitud máxima de 256 bytes.
• Los datos son almacenados en el formato de la máquina
donde esta instalado, más rápido, pero dependiente de la
máquina.
• El máximo tamaño de una tabla es 4GB.
• No puede usarse sentencias de respaldo de tablas y
restauración de tablas.
• No soporta búsquedas de texto completo y tipos de datos
espaciales (OpenGIS).
UNIOJEDA
Escuela de Computaciòn
Motor de almacenamiento de MySQL
Motor de almacenamiento MyISAM: Es el motor de
almacenamiento por defecto en MySQL desde la serie 3.23.
MyISAM esta basado en el código de ISAM pero tiene otras
poderosas propiedades:
. Características:
• Todos los datos son almacenados en formato complemento a
dos y el formato de la IEEE de punto flotante.
• Manejo de tablas no-transaccionales
• El máximo número de índice por tablas son 64. El máximo
número de columnas por índices es 16.
• MyISAM automáticamente actualiza las columnas definidas
como AUTO_INCREMENTO en operaciones NSERT/UPDATE,
incrementado la velocidad en al menos 10%.
• Los índices MyISAM tienen una bandera que indica si la tabla
fue cerrada correctamente. Si mysqld es inicializado con la
opción de recuperación, el MyISAM automáticamente repara la
tabla que no haya sido cerrada correctamente.
• Usado frecuentemente en aplicaciones Web.
UNIOJEDA
Escuela de Computaciòn
Motor de almacenamiento de MySQL
Motor de almacenamiento Memory (HEAP): El motor de
almacenamiento MEMORY o HEAP crea tablas que son almacenadas en
memoria
Características:
• Las tablas MEMORY permiten hasta 32 índices por tabla, 16
columnas por índice, y un máximo tamaño de clave de 500 bytes.
• Manejo de tablas no-transaccionales.
• Las tablas MEMORY no soportan columnas BLOB y TEXT.
• Las tablas MEMORY no soportan columnas AUTO_INCREMENTO.
• Las tablas MEMORY no pueden ser convertidas a tablas físicas.
• El computador donde esta instalado el servidor MySQL requiere
memoria adicional para mantener todas las tablas MEMORY que son
usadas en el mismo momento.
• Para liberar memoria usada por una tabla MEMORY, podrían usarse
las sentencias DELETE o DROP TABLE.
UNIOJEDA
Escuela de Computaciòn
Motor de almacenamiento de MySQL
Motor de almacenamiento InnoDB : InnoDB provee a MySQL un
motor de almacenamiento con soporte a transacciones (propiedades
ACID) con capacidades para commit y rollback.
Características:
• Manejo de usuarios concurrentes.
•
InnoDB soporta la definición de claves foráneas (FOREIGN KEY).
• En una sentencia SELECT puedan mezclarse diferentes tipos de
tablas.
•
•
InnoDB ha sido diseñado para máximo rendimiento cuando se
procesan grandes volúmenes de datos.
Integrada completamente con el servidor MySQL, InnoDB mantiene su
propio buffer pool para mantener datos e índices en memoria principal.
• No existe un limite de tamaño predefinido para las tablas InnoDB
UNIOJEDA
Escuela de Computaciòn
Motor de almacenamiento de MySQL
Características InnoDB:
•
InnoDB es usado en numerosos lugares a
Comentarios de: Fundamentos de MySQL (0)
No hay comentarios