MySQL
ANDRES FELIPE LONDOÑO O.
CRISTIAN ANDREY OVIEDO P.
INTRODUCCION

Es un sistema de gestión de bases de datos
relacional, fue creada por la empresa sueca
MySQL AB, la cual tie...
MySQL es un software de código abierto,
licenciado bajo la GPL de la GNU, aunque
MySQL AB distribuye una versión comercial...
OBJETIVO GENERAL

• Conocer e identificar las características
  principales del motor de la base de datos
  MySQL
Objetivos específicos

• Conocer la historia y el mejoramiento que ha
  tenido el motor.
• Conocer las principales sintaxi...
HISTORIA DEL PROYECTO
• SQL fue comercializado por primera vez en
  1981 por IBM.
• Primeras versiones: SQL:92, SQL:99, SQ...
CARACTERÍSTICAS
• Inicialmente, MySQL carecía de algunos
  elementos esenciales en las bases de datos
  relacionales, tale...
• Cada base de datos cuenta con 3 archivos:
  Uno de estructura, uno de datos y uno de
  índice y soporta hasta 32 índices...
VENTAJAS
• Velocidad al realizar las operaciones.
• Bajo costo en requerimientos para la
  elaboración de bases de datos.
...
DESVENTAJAS

• Un gran porcentaje de las utilidades de MySQL
  no están documentadas.
• No es intuitivo, como otros progra...
FUNCIONES BÁSICAS
TIPOS DE DATOS ACEPTADOS POR EL MOTOR

          Tipo de
 Grupo                                   Intervalo               ...
Grupo      Tipo de dato                            Intervalo                           Almacenamiento


                  ...
Grupo        Tipo de dato                            Intervalo                            Almacenamiento

                ...
Tipo de
  Grupo                                            Intervalo                               Almacenamiento
        ...
Tipo de
  Grupo                                      Intervalo                        Almacenamiento
                dato
...
Grupo       Tipo de dato                              Intervalo                             Almacenamiento


             ...
AUTENTICACIONES
Las cuentas de usuario de MySQL se listan en la
tabla user de la base de datos MySQL . Cada
cuenta MySQL t...
• Una vez que el cliente conecta, puede cambiar
  o inicializar los hashes de las contraseñas para
  las cuentas listadas ...
ADMINISTRACIÓN DEL MOTOR
• Sintaxis de CREATE USER
• Sintaxis de DROP USER
• Sintaxis de GRANT y REVOKE Los comandos
  GRA...
• Sintaxis de CACHE INDEX El comando CACHE
  INDEX asigna índices de tabla a una caché de
  clave específica.
• Sintaxis d...
• Sintaxis de KILL En MySQL 5.0.0, KILL permite
  los modificadores opcionales CONNECTION o
  QUERY:
• KILL CONNECTION es ...
GESTIÓN DE USUARIOS
Una cuenta MySQL se define en términos de un
nombre de usuario y el equipo o equipos desde
los que el ...
• La base de datos no es segura, a no ser
  que todas las cuentas MySQL tengan
  contraseña. Cualquiera que especifique
  ...
• Nombre de usuarios en MySQL pueden
  tener como máximo 16 caracteres de
  longitud. Este límite está hard-codeado
  en l...
Añadir Nuevas Cuentas De Usuario

Puede crear cuentas MySQL de dos formas:

• Usando comandos GRANT: Es el método mas
  pr...
Eliminar Usuario

El comando DROP USER borra una o
más cuentas MySQL . Para usarlo,
debe tener el permiso global CREATE
US...
Limitar Recursos De Cuentas
Una forma de limitar los recursos de los
servidores MySQL es asignar a la variable de
sistema ...
En MySQL 5.0, puede limitar los siguientes recursos
de servidor para cuentas individuales:

•El número de consultas que un...
Asignar Contraseñas A Cuentas
Se pueden asignar contraseñas desde la línea de
comandos usando el comando mysqladmin:

  • ...
Guardar Una Contraseña De Forma Segura

MySQL encripta contraseñas usando su propio
algoritmo. La encriptación de contrase...
EXPLORADOR DE OBJETOS
                            TABLA

CREATE TABLE crea una tabla con el nombre
dado. Se debe poseer el...
ALTER TABLE permite modificar la estructura de
una tabla existente. Por ejemplo, se pueden
añadir o eliminar columnas, cre...
ANALYZE TABLE Analiza y almacena la
distribución de claves de una tabla. Durante el
análisis, la tabla se bloquea para lec...
DELETE elimina columnas desde quot;table_namequot;
que satisfagan la condición dada por la
quot;where_definitionquot;, y d...
DROP DATABASE elimina todas las tablas de la
base de datos y borra la base de datos.

 DROP {DATABASE | SCHEMA} [IF EXISTS...
VISTAS (VIEWS)
Las vistas (incluyendo vistas actualizables)
fueron introducidas en la versión 5.0 del
servidor de base de ...
OTRAS SENTENCIAS
Para los comandos GRANT y REVOKE , priv_type pueden
especificarse como cualquiera de los siguientes:
SQL CONSULTAS
En las consultas se pueden hacer con filtros
usando Where:
• Select * from clientes Where poblacion Like ‘Ma...
También se puede             clasificar   en      orden
descendente con Desc:
• Select * from clientes Order By pedidos De...
Calcular la suma de los valores comprendidos y
almacenar el valor en un campo virtual:
• Select Sum(total) As suma_pedidos...
LICENCIAMIENTO
El software MySQL tiene una doble
licencia. Los usuarios pueden elegir entre
usar el software MySQL como un...
COSTOS
Mientras InterBase y SQL Server tienen una licencia
propietaria y con un costo por el uso del software,
MySQL y Fir...
INSTALAR MYSQL

1. Debe determinarse si la plataforma donde
   se desea hacer la instalación está soportada.
   Nótese que...
2. Debe elegirse la distribución que se instalará.
   Hay varias versiones de MySQL disponibles, y la
   mayoría lo están ...
3. Descargar la distribución que se desea
   instalar.
4. Instalar la distribución.
5. Realizar cualquier ajuste que sea n...
COMPARACIONES
                            SQL
                   MySQL
Característica             Server                  ...
SQL
                         MySQL
   Característica                Server                          Notas
                ...
COMPARACIÓN CON POSTGRESQL
Las características positivas con respecto a
MySQL son:

• Posee una gran escalabilidad. Es cap...
• Implementa el uso de sub-consultas y
  transacciones, haciendo su funcionamiento
  mucho más eficaz, y ofreciendo soluci...
Por contra, los mayores inconvenientes que se
pueden encontrar a este gestor son:

• Consume gran cantidad de recursos.
• ...
COMPARACIÓN CON ORACLE

• Atomicidad: es posible construir bloques
  de sentencias que se ejecutan todo o
  nada Si y solo...
• Consistencia: dentro de una transacción
  se hace todo o nada, es decir no queda
  en estado intermedio una transacción....
• Aislamiento: básicamente que lo se
  haces dentro de una transacción es
  invisible a los demás usuarios antes de
  term...
• Durabilidad: garantiza que el servidor de
  datos    guarda    las    actualizaciones
  pendientes de forma tal que pued...
GRACIAS
MYSQL
MYSQL
Upcoming SlideShare
Loading in …5
×

MYSQL

35,218 views

Published on

MYSQL

  1. 1. MySQL ANDRES FELIPE LONDOÑO O. CRISTIAN ANDREY OVIEDO P.
  2. 2. INTRODUCCION Es un sistema de gestión de bases de datos relacional, fue creada por la empresa sueca MySQL AB, la cual tiene el copyright del código fuente del servidor SQL, así como también de la marca.
  3. 3. MySQL es un software de código abierto, licenciado bajo la GPL de la GNU, aunque MySQL AB distribuye una versión comercial, en lo único que se diferencian, es en el soporte técnico que se ofrece, y la posibilidad de integrar este gestor en un software propietario, ya que de otra manera, se vulneraría la licencia GPL. El lenguaje de programación que utiliza MySQL es Structured Query Language (SQL) que fue desarrollado por IBM en 1981.
  4. 4. OBJETIVO GENERAL • Conocer e identificar las características principales del motor de la base de datos MySQL
  5. 5. Objetivos específicos • Conocer la historia y el mejoramiento que ha tenido el motor. • Conocer las principales sintaxis utilizadas por el motor. • Diferenciar las ventajas competitivas con respecto a los demás motores.
  6. 6. HISTORIA DEL PROYECTO • SQL fue comercializado por primera vez en 1981 por IBM. • Primeras versiones: SQL:92, SQL:99, SQL:2003. no eran flexibles, ni rápidos. • El prefijo My apareció aproximadamente hace 10 años. • Sakila. • MySQL es una marca registrada de MySQL AB.
  7. 7. CARACTERÍSTICAS • Inicialmente, MySQL carecía de algunos elementos esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. • Las principales características son: • El principal objetivo de MySQL es velocidad y robustez. • Soporta gran cantidad de tipos de datos para las columnas. • Gran portabilidad entre sistemas, puede trabajar en distintas plataformas y sistemas operativos.
  8. 8. • Cada base de datos cuenta con 3 archivos: Uno de estructura, uno de datos y uno de índice y soporta hasta 32 índices por tabla. • Aprovecha la potencia de sistemas multiproceso, gracias a su implementación multihilo. • Flexible sistema de contraseñas (password) y gestión de usuarios, con un muy buen nivel de seguridad en los datos. • El servidor soporta mensajes de error en distintas lenguas
  9. 9. VENTAJAS • Velocidad al realizar las operaciones. • Bajo costo en requerimientos para la elaboración de bases de datos. • Facilidad de configuración e instalación. • Soporta gran variedad de Sistemas Operativos • Baja probabilidad de corromper datos, incluso si los errores no se producen en el propio gestor, sino en el sistema en el que está. • Conectividad y seguridad
  10. 10. DESVENTAJAS • Un gran porcentaje de las utilidades de MySQL no están documentadas. • No es intuitivo, como otros programas (ACCESS).
  11. 11. FUNCIONES BÁSICAS
  12. 12. TIPOS DE DATOS ACEPTADOS POR EL MOTOR Tipo de Grupo Intervalo Almacenamiento dato De -263 (-9.223.372.036.854.775.808) a 263 - 1 bigint 8 bytes (9.223.372.036.854.775.807) int De -231 (-2.147.483.648) a 231 - 1 (2.147.483.647) 4 bytes Numéricos exactos smallint De -215 (-32.768) a 215 - 1 (32.767) 2 bytes tinyint De 0 a 255 1 byte Tipo de datos entero que puede aceptar los valores 1, bit 2 bytes 0 ó NULL
  13. 13. Grupo Tipo de dato Intervalo Almacenamiento p (precisión): el número total máximo de dígitos decimales que se puede almacenar, tanto a la izquierda como a la derecha del separador decimal. La precisión debe ser un valor comprendido entre 1 y la precisión máxima de 38. La precisión decimal, predeterminada es 18. Precisión 1 - 9: 5 numeric, s (escala): el número máximo de dígitos decimales bytes decimal (p, s) que se puede almacenar a la derecha del separador Numéricos decimal. La escala debe ser un valor comprendido exactos entre 0 y p. Sólo es posible especificar la escala si se ha especificado la precisión. La escala predeterminada es 0. Con precisión máxima 1038 +1 y 1038 - 1 Tipos de datos que representan valores monetarios o de money moneda: de -922.337.203.685,4775808 a 8 bytes 922.337.203.685,4775807 smallmoney De - 214,7483648 a 214,7483647 4 bytes
  14. 14. Grupo Tipo de dato Intervalo Almacenamiento De - 1,79E+308 a -2,23E-308, 0 y de 2,23E-308 a Depende del valor float Numéricos 1,79E+308 de n aproximados De - 3,40E + 38 a -1,18E - 38, 0 y de 1,18E - 38 a 3,40E + real 4 Bytes 38 datetime Del 1 de enero de 1753 hasta el 31 de diciembre de 9999 Fecha y hora smalldatetime Del 1 de enero de 1900 hasta el 6 de junio de 2079 Caracteres no Unicode de longitud fija, con una longitud char (n) n bytes de n bytes. n debe ser un valor entre 1 y 8.000 Caracteres no Unicode de longitud variable. n indica que el Cadenas de varchar (n) n bytes (aprox.) tamaño de almacenamiento máximo es de 231 - 1 bytes caracteres En desuso, sustituido por varchar. text Datos no Unicode de longitud variable con una longitud máx. bytes (aprox.) máxima de 231 - 1 (2.147.483.647) caracteres
  15. 15. Tipo de Grupo Intervalo Almacenamiento dato Datos de carácter Unicode de longitud fija, con n caracteres. n nchar (n) 2 * n bytes debe estar comprendido entre 1 y 4.000 Cadenas de nvarchar Datos de carácter Unicode de longitud variable. n indica que el 2 * n bytes + 2 caracteres (n) tamaño máximo de almacenamiento es 231 - 1 bytes bytes único de En desuso, sustituido por nvarchar. ntext (n) Datos Unicode de longitud variable con una longitud máxima 2 * n bytes de 230 - 1 (1.073.741.823) caracteres Datos binarios de longitud fija con una longitud de n bytes, binary (n) n bytes donde n es un valor que oscila entre 1 y 8.000 Cadenas varbinary Datos binarios de longitud variable. n indica que el tamaño de n bytes binarias (n) almacenamiento máximo es de 231 - 1 bytes En desuso, sustituido por varbinary. image Datos binarios de longitud variable desde 0 hasta 231 - 1 (2.147.483.647) bytes
  16. 16. Tipo de Grupo Intervalo Almacenamiento dato Tipo de datos para las variables o para los parámetros de resultado de los procedimientos cursor almacenados que contiene una referencia a un cursor. Las variables creadas con el tipo de datos cursor aceptan NULL Otros tipos de datos Tipo de datos que expone números binarios únicos generados automáticamente en una base de datos. timestamp El tipo de datos timestamp es simplemente un 8 bytes número que se incrementa y no conserva una fecha o una hora
  17. 17. Grupo Tipo de dato Intervalo Almacenamiento Tipo de datos que almacena valores de varios tipos de datos sql_variant aceptados en SQL Server, excepto text, ntext, image, timestamp y sql_variant Es un GUID (Globally Unique Identifier, Identificador Único uniqueidentifier 16 bytes Global) Otros tipos de Es un tipo de datos especial que se puede utilizar para datos almacenar un conjunto de resultados para su procesamiento posterior. table se utiliza principalmente para el table almacenamiento temporal de un conjunto de filas devuelto como el conjunto de resultados de una función con valores de tabla Almacena datos de XML. Puede almacenar instancias de xml xml en una columna o una variable de tipo xml
  18. 18. AUTENTICACIONES Las cuentas de usuario de MySQL se listan en la tabla user de la base de datos MySQL . Cada cuenta MySQL tiene una contraseña. MySQL usa contraseñas en dos fases de la comunicación cliente/servidor: • Cuando un cliente trata de conectar al servidor, hay un paso inicial de autenticación.
  19. 19. • Una vez que el cliente conecta, puede cambiar o inicializar los hashes de las contraseñas para las cuentas listadas en la tabla user. Puede hacerlo mediante la función PASSWORD(), o mediante los comandos GRANT o SET PASSWORD. El servidor usa los valores hash durante la autenticación cuando un cliente trata de conectar por primera vez.
  20. 20. ADMINISTRACIÓN DEL MOTOR • Sintaxis de CREATE USER • Sintaxis de DROP USER • Sintaxis de GRANT y REVOKE Los comandos GRANT y REVOKE permiten a los administradores de sistemas crear cuentas de usuario MySQL y darles permisos y quitarlos de las cuentas. • Sintaxis de RENAME USER • Sintaxis de SET PASSWORD
  21. 21. • Sintaxis de CACHE INDEX El comando CACHE INDEX asigna índices de tabla a una caché de clave específica. • Sintaxis de FLUSH Debe usar el comando FLUSH si quiere limpiar algunas de las cachés internas que usa MySQL . Para ejecutar FLUSH, debe tener el permiso RELOAD . • Sintaxis de RESET El comando RESET se usa para limpiar el estado de varias operaciones de servidor.
  22. 22. • Sintaxis de KILL En MySQL 5.0.0, KILL permite los modificadores opcionales CONNECTION o QUERY: • KILL CONNECTION es lo mismo que KILL sin modificadores: termina la conexión asociada con el thread_id dado. • KILL QUERY termina el comando que la conexión está ejecutando actualmente, pero deja a la conexión intacta.
  23. 23. GESTIÓN DE USUARIOS Una cuenta MySQL se define en términos de un nombre de usuario y el equipo o equipos desde los que el usuario puede conectar al servidor. La cuenta también tiene una contraseña. Los nombres de usuario, tal como los usa MySQL para autentificación, no tienen nada que ver con los nombres de usuario (nombres de logueo) tal y como los usa Windows o Unix.
  24. 24. • La base de datos no es segura, a no ser que todas las cuentas MySQL tengan contraseña. Cualquiera que especifique un nombre de usuario para una cuenta que no tenga contraseña puede conectar al servidor.
  25. 25. • Nombre de usuarios en MySQL pueden tener como máximo 16 caracteres de longitud. Este límite está hard-codeado en los servidores y clientes MySQL, y tratar de evitarlo mediante la modificación de las tablas en la base de datos mysql no funciona.
  26. 26. Añadir Nuevas Cuentas De Usuario Puede crear cuentas MySQL de dos formas: • Usando comandos GRANT: Es el método mas preferido, ya que son más concisos y menos propenso a errores; está disponible desde MySQL 3.22.11. • Manipulando las tablas de permisos MySQL directamente.
  27. 27. Eliminar Usuario El comando DROP USER borra una o más cuentas MySQL . Para usarlo, debe tener el permiso global CREATE USER o el permiso DELETE para la base de datos mysql .
  28. 28. Limitar Recursos De Cuentas Una forma de limitar los recursos de los servidores MySQL es asignar a la variable de sistema max_user_connections un valor distinto de cero. Este método es estrictamente global. Además, limita sólo el número de conexiones simultáneas hechas usando una sola cuenta, y no lo que un cliente puede hacer una vez conectado.
  29. 29. En MySQL 5.0, puede limitar los siguientes recursos de servidor para cuentas individuales: •El número de consultas que una cuenta puede realizar por hora •El número de actualizaciones que una cuenta puede hacer por hora •El número de veces que una cuenta puede conectar con el servidor por hora Desde MySQL 5.0.3, es posible limitar el número de conexiones simultáneas al servidor por cuenta.
  30. 30. Asignar Contraseñas A Cuentas Se pueden asignar contraseñas desde la línea de comandos usando el comando mysqladmin: • Shell> mysqladmin -u nombres_usuario -h equipo password quot;nuevacontr” Otra forma de asignar una contraseña en una cuenta es con el comando SET PASSWORD : • mysql> SET PASSWORD FOR 'jeffrey'@'%' = PASSWORD('biscuit');
  31. 31. Guardar Una Contraseña De Forma Segura MySQL encripta contraseñas usando su propio algoritmo. La encriptación de contraseña es la misma que la implementada en la función PASSWORD() . Desde la versión 4.1, MySQL usa un método más fuerte de autenticación que tiene una mejor protección de contraseña durante el proceso de conexión que en versiones anteriores.
  32. 32. EXPLORADOR DE OBJETOS TABLA CREATE TABLE crea una tabla con el nombre dado. Se debe poseer el privilegio CREATE para la tabla. • CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(definición_create,...)] [opciones_tabla] [sentencia_select]
  33. 33. ALTER TABLE permite modificar la estructura de una tabla existente. Por ejemplo, se pueden añadir o eliminar columnas, crear y destruir índices, cambiar el tipo de una columna existente o renombrar columnas o la propia tabla. También es posible modificar el comentario y el tipo de la tabla. • ALTER [IGNORE] TABLE tbl_name alter_specification [, alter_specification ...]
  34. 34. ANALYZE TABLE Analiza y almacena la distribución de claves de una tabla. Durante el análisis, la tabla se bloquea para lectura. Funciona con tablas MyISAM y BDB. • ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name[,tbl_name...] BACKUP TABLE copia al directorio de copia de seguridad el número mínimo de ficheros de tablas necesarios para restaurar la tabla, después de escribir cualquier cambio al disco. • BACKUP TABLE tbl_name [, tbl_name] ... TO '/path/to/backup/directory'
  35. 35. DELETE elimina columnas desde quot;table_namequot; que satisfagan la condición dada por la quot;where_definitionquot;, y devuelve el número de registros borrados. DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM table_name[.*] [, table_name[.*] ...] USING table-references [WHERE where_definition]
  36. 36. DROP DATABASE elimina todas las tablas de la base de datos y borra la base de datos. DROP {DATABASE | SCHEMA} [IF EXISTS] db_name UPDATE actualiza columnas de filas existentes de una tabla con nuevos valores. UPDATE [LOW_PRIORITY] [IGNORE] tbl_name [, tbl_name ...] SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]
  37. 37. VISTAS (VIEWS) Las vistas (incluyendo vistas actualizables) fueron introducidas en la versión 5.0 del servidor de base de datos MySQL • Creación o modificación de vistas con CREATE VIEW o ALTER VIEW • Eliminación de vistas con DROP VIEW • Obtención de información de definición de una vista (metadatos) con SHOW CREATE VIEW
  38. 38. OTRAS SENTENCIAS Para los comandos GRANT y REVOKE , priv_type pueden especificarse como cualquiera de los siguientes:
  39. 39. SQL CONSULTAS En las consultas se pueden hacer con filtros usando Where: • Select * from clientes Where poblacion Like ‘Madrid’. Se pueden ordenar los resultados con Order: • Select * from clientes clientes Where poblacion Like ‘Madrid’ Order By nombre.
  40. 40. También se puede clasificar en orden descendente con Desc: • Select * from clientes Order By pedidos Desc. Se pueden hacer selecciones sin coincidencia usando Distinct: • Select Distinct poblacion From clientes Order By poblacion.
  41. 41. Calcular la suma de los valores comprendidos y almacenar el valor en un campo virtual: • Select Sum(total) As suma_pedidos From pedidos. Con la clausula Count podemos realizar un conteo de la cantidad de datos incluidos en un rango de la tabla: • Select id_client, Count(*) as numero_pedidos From pedidos Group By id_cliente.
  42. 42. LICENCIAMIENTO El software MySQL tiene una doble licencia. Los usuarios pueden elegir entre usar el software MySQL como un producto Open Source bajo los términos de la licencia GNU General Public License o pueden adquirir una licencia comercial estándar de MySQL AB.
  43. 43. COSTOS Mientras InterBase y SQL Server tienen una licencia propietaria y con un costo por el uso del software, MySQL y Firebird cuentan con licencias de uso libre. El doble licenciamiento de MySQL, y la licencia IPL (tipo MPL) bajo la cual se libera Firebird. MySQL garantiza una licencia libre solamente si la aplicación que la usa es liberada bajo la licencia GPL. Si quiero crear un software propietario, usando una base de datos libre, no podré utilizar MySQL de manera libre, sino pagando una licencia cuyo costo anual inicia en los 595 US dólares por servidor.
  44. 44. INSTALAR MYSQL 1. Debe determinarse si la plataforma donde se desea hacer la instalación está soportada. Nótese que no todos los sistemas soportados son igualmente adecuados para ejecutar MySQL. En algunas plataformas el funcionamiento será mucho más robusto y eficiente que en otras.
  45. 45. 2. Debe elegirse la distribución que se instalará. Hay varias versiones de MySQL disponibles, y la mayoría lo están en varios formatos de distribución. Se puede elegir entre distribuciones pre armadas que contienen programas binarios (pre compilados) o bien código fuente. En caso de duda, debe elegirse una distribución binaria. También se provee acceso público al código fuente para quienes deseen ver los desarrollos más recientes y colaborar en el testeo de código nuevo.
  46. 46. 3. Descargar la distribución que se desea instalar. 4. Instalar la distribución. 5. Realizar cualquier ajuste que sea necesario con posterioridad a la instalación. 6. Si se desea ejecutar los scripts para medir el rendimiento de MySQL, debe estar disponible el soporte de Perl para MySQL.
  47. 47. COMPARACIONES SQL MySQL Característica Server Notas 4.1 2000 OPINIONES SQL permiten a los administradores de SQL VER apoyo bases de datos abstractos diseños fuera de los desarrolladores. Provoca la falta de desarrolladores de MySQL hace Triggers agregar lógica a su extremo delantero y el nivel medio, Disparadores cuando la lógica debería ir en la base de datos. Procedimientos Los procedimientos almacenados son los mecanismos almacenados de abstracción y la seguridad Funciones Funciones definidas por el usuario (UDF) permiten la definidas por el encapsulación de código complejo en simples interfaces usuario exigible.
  48. 48. SQL MySQL Característica Server Notas 4.1 2000 La falta de apoyo en MySQL CURSOR aumenta el Apoyo CURSOR tráfico de la red y reduce el tiempo de respuesta de aplicaciones. MySQL soporta utilizando una expresión regular como SQL SELECCIONE una cláusula de filtro en una consulta. XML es un formato basado en estándares para los Soporte XML datos. MySQL no tiene soporte nativo para XML. COMPLETA MySQL no soporta COMPLETA INSCRIBETE INSCRIBETE MySQL 4.0 soporta integridad referencial (RI), siempre Integridad referencial y cuando el tipo de tabla InnoDB es elegido. La instalación por defecto de MySQL no soporta Soporta transacciones transacciones. Transacción requiere el apoyo de InnoDB.
  49. 49. COMPARACIÓN CON POSTGRESQL Las características positivas con respecto a MySQL son: • Posee una gran escalabilidad. Es capaz de ajustarse al número de CPUs y a la cantidad de memoria que posee el sistema de forma óptima, haciéndole capaz de soportar una mayor cantidad de peticiones simultáneas de manera correcta.
  50. 50. • Implementa el uso de sub-consultas y transacciones, haciendo su funcionamiento mucho más eficaz, y ofreciendo soluciones en campos en las que MySQL no podría. • Tiene la capacidad de comprobar la integridad referencial, así como también la de almacenar procedimientos en la propia base de datos, equiparándolo con los gestores de bases de datos de alto nivel, como puede ser Oracle.
  51. 51. Por contra, los mayores inconvenientes que se pueden encontrar a este gestor son: • Consume gran cantidad de recursos. • Tiene un límite de 8K por fila, aunque se puede aumentar a 32K, con una disminución considerable del rendimiento. • Es de 2 a 3 veces más lento que MySQL.
  52. 52. COMPARACIÓN CON ORACLE • Atomicidad: es posible construir bloques de sentencias que se ejecutan todo o nada Si y solo si, si usas tablas InnoDB (lo cual haría a MySQL lento) MySQL solo cumple esto si usa InnoDB.
  53. 53. • Consistencia: dentro de una transacción se hace todo o nada, es decir no queda en estado intermedio una transacción. MySQL no deshace instrucciones DDL así que si dentro de la transacción creas, alteras o borras una tabla no se deshará.
  54. 54. • Aislamiento: básicamente que lo se haces dentro de una transacción es invisible a los demás usuarios antes de terminar la transacción; con tablas MyIsam eso no va a pasar. MySQL solo cumple con esta condición si usa InnoDB.
  55. 55. • Durabilidad: garantiza que el servidor de datos guarda las actualizaciones pendientes de forma tal que pueda recuperarse de una terminación brusca tal como desenchufar la máquina.
  56. 56. GRACIAS

×