Your SlideShare is downloading. ×
0
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Exposicion Mysql
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Exposicion Mysql

2,228

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,228
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
79
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. MySQL 5 x 5.x Interplanet 24-10-2007 Hugo Alfonso Palma García
  • 2. MySQL 5.x Logo Company Temario – Panorámica de s ste a de gest ó de base de datos MySQL a o á ca del sistema gestión ySQ – Las principales características de MySQL – Q é hay d nuevo en M SQL 5 0 Qué h de MySQL 5.0x – Tipo de dato BIT – Ti Tipo d d t VARCHAR de dato – INFORMATIONS_SCHEME – El gestor de instancias – Matemáticas de precisión – Cursores – Procedimientos almacenados y funciones – Disparadores – Vistas 2 www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 3. Panorámica del sistema de gestión de base de datos MySQL Logo Company MySQL, es el sistema de gestión de bases de datos SQL Open Source más popular, lo desarrolla, distribuye y soporta MySQL AB. MySQL es un sistema de gestión de bases de datos relacionales. M SQL usa “SQL estándar”, llá MySQL tá d ” llámese estándar al tá d l más actual que es el 2003. El servidor de base de datos MySQL es muy rápido, fiable y fácil de usar. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 4. Panorámica del sistema de gestión de base de datos MySQL Logo Company MySQL Server se desarrolló originalmente para tratar t t grandes b d bases d d t de datos mucho más rápido h á á id que soluciones existentes. MySQL Server trabaja en entornos cliente/servidor o incrustados. Una gran cantidad de software de contribuciones está disponible para MySQL. p p y La forma oficial de pronunciar quot;MySQLquot; es quot;My Ess Quiu Ellquot; (no quot;my sicuelquot;) Ell my sicuel ). www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 5. Las principales características de MySQL Logo Company Interioridades y portabilidad Escrito en C y en C++. Probado con un amplio rango de p g compiladores diferentes Funciona en diferentes plataformas. Usa GNU Automake, Autoconf, y Libtool para portabilidad. APIs disponibles para C, C++, Eiffel, Java, Perl, PHP, p p Python, Ruby, y Tcl. Uso completo de multi-threaded mediante threads del kernel. Proporciona sistemas de almacenamiento transaccionales y no t transaccionales. i l www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 6. Las principales características de MySQL Logo Company Usa tablas en disco B-tree (MyISAM) muy rápidas con compresión de índice índice. Relativamente sencillo de añadir otro sistema de almacen amiento. amiento Un sistema de reserva de memoria muy rápido basado en threads. Joins muy rápidos usando un multi-join de un paso optimizado. p Tablas hash en memoria, que son usadas como tablas temporales. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 7. Las principales características de MySQL Logo Company Las funciones SQL están implementadas usando una libre p ría altamente optimizada. Se prueba que el código MySQL no ocasione pérdida de memoria con software comercial. El servidor está disponible como un programa separado para usar en un entorno de red cliente/servidor o bien como biblioteca y puede ser incrustado en aplicaciones autónomas. autónomas www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 8. Las principales características de MySQL Logo Company Tipos de columnas p Diversos tipos de columnas. Registros de longitud fija y longitud variable. g g j g Seguridad Un sistema de privilegios y contraseñas que es muy flexible y seguro, y que permite verificación basada en el host. Todo intercambio de información esta cifrada. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 9. Las principales características de MySQL Logo Company Escalabilidad y límites Soporte a grandes bases de datos. p g Se permiten hasta 64 índices por tabla y 32 antes de MySQL 4.1.2. Un índice puede usar prefijos de una columna para los tipos de columna CHAR, VARCHAR, BLOB, o TEXT. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 10. Las principales características de MySQL Logo Company Conectividad Los clientes pueden conectar con el servidor MySQL usan do sockets TCP/IP en cualquier plataforma plataforma. La interfaz para el conector ODBC (MyODBC). La interfaz para el conector J MySQL MySQL. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 11. Las principales características de MySQL Logo Company Localización El servidor puede proporcionar mensajes de error en muc hos idiomas. Soporte completo para distintos conjuntos d caracteres. S t lt di ti t j t de t Todos los datos se guardan en el conjunto de caracteres elegido. elegido Todas las comparaciones para columnas normales de cad enas de carácteres son case insensitive case-insensitive. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 12. Las principales características de MySQL Logo Company Clientes y herramientas MySQL server tiene soporte p y p para comandos SQL p para c hequear, optimizar, y reparar tablas. Todos los programas MySQL pueden invocarse con las opciones --help o -? para obtener asistencia en línea. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 13. Logo Company Nuevas bondades de MySQL 5.0x www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 14. Que hay de nuevo en MySQL 5.0x Logo Company Tipo de dato Bit Tipo Bytes Valor Mínimo Valor Máximo BIT 1 1 64 www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 15. Que hay de nuevo en MySQL 5.0x Logo Company Tipo de datos VARCHAR Soporte nativo VARCHAR. La longitud máxima de VARCHAR es 65 532 bytes 65,532 bytes. No se cortan espacios en blanco consecutivos Almacena los valores usando sólo los carácteres necesarios, más un byte adicional para la longitud (dos bytes para columnas que se declaran con una longitud y p q g superior a 255). www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 16. Que hay de nuevo en MySQL 5.0x Logo Company INFORMATIONS_SCHEME INFORMATIONS SCHEME El soporte para INFORMATION_SCHEMA está disponible en MySQL 5.0.2 y posterior. yQ p Proporciona acceso a los metadatos de la base de datos. Ventajas de SELECT contra el show. El comando SELECT ... FROM INFORMATION_SCHEMA es una forma más consistente de proporcionar acceso a la información proporcionada por l comandos SHOW i d los d SHOW. Cumple las reglas de Codd. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 17. Que hay de nuevo en MySQL 5.0x Logo Company Nadie necesita aprender una nueva sintaxis. Conocen cómo funciona SELECT pero si aprender los nombres de los objetos SELECT, objetos. El implementador no tiene que preocuparse de palabras clave. Hay millones de variaciones de la salida, en lugar de sólo una. y , g Esto proporciona flexibilidad a las aplicaciones con requerimientos cambiantes acerca de los metadatos que necesitan. La migración es más fácil ya que todos los otros DBMS funcionan así. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 18. Que hay de nuevo en MySQL 5.0x Logo Company El gestor de instancias de MySQL. Este es el demonio que corre en el puerto TCP/IP. q p Está disponible para sistemas operativos basados en Unix. MySQL (IM) se incluye en las distribuciones de MySQL desde la versión 5.0.3. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 19. Que hay de nuevo en MySQL 5.0x Logo Company Creación de cuentas de usuario El IM almacena su información de usuario en un fichero de contraseñas. La localización por defecto para el fichero de contraseñas es /etc/mysqlmanager.passwd Las entradas para las contraseñas se parecen a las siguiente: petr:*35110DC9B4D8140F5DE667E28C72DD2597B5C848 Para generar una entrada así debe invocarse IM con la opción –passwd y rediccionar la salida al archivo de las contraseñas. contraseñas www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 20. Que hay de nuevo en MySQL 5.0x Logo Company Ejemplo de registro de usuario. ./mysqlmanager --passwd >> /etc/mysqlmanager.passwd Creating record for new user. Enter user name: mike Enter password: <password> Re-type password: <password> La siguiente línea se añade a /etc/mysqlmanager.passwd: mike:*00A51F3F48415C7D4E8908980D443C29C69B60C9 Si no hay entradas en el fichero /etc/mysqlmanager.passw no puede conectarse al IM. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 21. Que hay de nuevo en MySQL 5.0x Logo Company Matemáticas de precisión La matemática de precisión se basa en dos cambios de i mplementación: La introducción de nuevos modos SQL en MySQL 5.0.2 que contr olan lo estricto que es el servidor para aceptar o rechazar datos in válidos. La introducción en MySQL 5.0.3 de una biblioteca para aritmética de punto fijo. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 22. Que hay de nuevo en MySQL 5.0x Logo Company Estos cambios tienen varias implicaciones para operacion es numéricas: Cálculos más precisos. Para números exactos, los cálculos no introducen error en coma fl otante. otante Comportamiento bien definido para el redondeo. Independencia de plataforma mejorada. Control sobre tratamiento de datos inválidos. Desbordamiento y división por cero pueden detectarse y tratarse c omo errores. errores Un resultado importante de estos cambios es que MySQL proporci ona un mejor cumplimiento del estándar SQL. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 23. Que hay de nuevo en MySQL 5.0x Logo Company Cambios en el tipo de datos DECIMAL Formato de almacenamiento Las extensiones MySQL no estándar al rango superior de columnas DECIMAL l El rango de valores para los argumentos de DECIMAL ha cambiado. cambiado La extensión no estándard MySQL del rango superior de columnas DECIMAL no se soporta soporta. Los carácteres precedentes '+' y '0' no se almacenan. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 24. Que hay de nuevo en MySQL 5.0x Logo Company Cursores Se S soportan cursores simples d t d procedimientos y t i l dentro de di i t funciones almacenadas. Sirven para almacenar valores retornados por un SELECT en procedimientos almacenados. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 25. Que hay de nuevo en MySQL 5.0x Logo Company Ejemplo de cursor CREATE PROCEDURE curdemo() BEGIN DECLARE done INT DEFAULT 0; DECLARE a CHAR(16); DECLARE b INT b,c INT; DECLARE cur1 CURSOR FOR SELECT id,data FROM test.t1; DECLARE cur2 CURSOR FOR SELECT i FROM test.t2; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; OPEN cur1; OPEN cur2; REPEAT FETCH cur1 INTO a, b; FETCH cur2 INTO c; ; IF NOT done THEN IF b < c THEN INSERT INTO test.t3 VALUES (a,b); ELSE INSERT INTO test.t3 VALUES (a,c); END IF; END IF; UNTIL done END REPEAT; CLOSE cur1; 1 CLOSE cur2; END www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 26. Que hay de nuevo en MySQL 5.0x Logo Company Procedimientos almacenados y f P di i t l d funciones i Un procedimiento almacenado es un conjunto de comandos SQL que pueden almacenarse en el servidor. d d l l id Situaciones en las que los procedimientos almacenados pueden ser muy útiles: Cuando múltiples aplicaciones cliente se escriben en distintos lenguajes o funcionan en distintas plataformas. Cuando la seguridad es muy importante. Pueden mejorar el rendimiento. MySQL sigue la sintaxis SQL:2003 para procedimientos almacenados, que también usa IBM DB2. La implementación en MySQL aún está en progreso. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 27. Que hay de nuevo en MySQL 5.0x Logo Company Ejemplo de procedimiento jp p mysql> delimiter // mysql> CREATE PROCEDURE simpleproc (OUT param1 yq pp ( p INT) -> BEGIN -> SELECT COUNT(*) INTO param1 FROM t; -> END -> // mysql> delimiter ; yq www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 28. Que hay de nuevo en MySQL 5.0x Logo Company Ejecución: mysql> CALL simpleproc(@a); mysql> SELECT @a; | @a | + +------+ + |3 | + +------+ + www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 29. Que hay de nuevo en MySQL 5.0x Logo Company Ejemplo de función: mysql> delimiter // mysql> CREATE FUNCTION hello (s CHAR(20)) RETURN S CHAR(50) -> RETURN CONCAT('Hello, ',s,'!'); -> // mysql> delimiter ; www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 30. Que hay de nuevo en MySQL 5.0x Logo Company Ejecución: mysql> SELECT hello('world'); + +------------------+ + | hello('world') | +------------------+ | Hello, world! | +------------------+ + + www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 31. Que hay de nuevo en MySQL 5.0x Logo Company ALTER PROCEDURE y ALTER FUNCTION Este comando cambia las características de un p procedimiento o función almacenada. DROP PROCEDURE y DROP FUNCTION Este comando borrar un procedimiento o función almacenado. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 32. Que hay de nuevo en MySQL 5.0x Logo Company SHOW CREATE PROCEDURE y SHOW CREATE FUNCTION Retorna la cadena exacta que puede usarse para recrear la rutina nombrada. SHOW PROCEDURE STATUS y SHOW FUNCTIO N STATUS Retorna características de rutinas como el nombre de la rutinas, base de datos, nombre, tipo, creador y fechas de creació n y modificación. También puede obtener información de rutinas almacena das de la tabla ROUTINES en INFORMATION_SCHEMA. _ www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 33. Que hay de nuevo en MySQL 5.0x Logo Company Disparadores (triggers) p ( gg ) A partir de MySQL 5.0.2 se incorporó el soporte básico para disparadores (triggers). Un disparador es un objeto con nombre dentro de una base de datos el cual se asocia con una tabla y se activa cuando ocurre en ésta un evento en particular. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 34. Que hay de nuevo en MySQL 5.0x Logo Company momento_disp es el momento en que el disparador entra en acción. Puede ser BEFORE (antes) o AFTER (despues acción ). evento_disp evento disp indica la clase de sentencia que activa al disp arador. Puede ser INSERT, UPDATE, o DELETE. Por eje mplo, un disparador BEFORE para sentencias INSERT po p p p p dría utilizarse para validar los valores a insertar. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 35. Que hay de nuevo en MySQL 5.0x Logo Company No puede haber dos disparadores en una misma tabla que correspondan al mismo momento y evento. sentencia_disp es la sentencia que se ejecuta cuando se activa el disparador. Si se desean ejecutar múltiples sentencias, deben colocarse entre BEGIN ... END, el constructor de sentencias compuestas. Antes d M SQL 5 0 10 l At de MySQL 5.0.10, los di disparadores no podían d dí contener referencias directas a tablas por su nombre. A partir de MySQL 5 0 10 se pueden escribir disparadores 5.0.10, como el llamado testref, que se muestra en el siguiente e jemplo: www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 36. Que hay de nuevo en MySQL 5.0x Logo Company DELIMITER | CREATE TRIGGER testref BEFORE INSERT ON test1 FOR EACH ROW BEGIN INSERT INTO test2 SET a2 = NEW.a1; DELETE FROM test3 WHERE a3 = NEW.a1; UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1; END | DELIMITER ; www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 37. Que hay de nuevo en MySQL 5.0x Logo Company Las columnas de la tabla asociada con el disparador pueden referenciarse empleando los alias OLD y NEW. Actualmente, los disparadores no son activados por acciones llevadas a cabo en cascada por las restricciones de cla es e tranjeras claves extranjeras www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 38. Que hay de nuevo en MySQL 5.0x Logo Company DROP TRIGGER Elimina un disparador. FOR EACH ROW Define lo que se ejecutará cada vez que el disparador se active, active lo cual ocurre una vez por cada fila afectada por la sentencia activadora. OLD y NEW El disparador no puede referirse a tablas directamente por su nombre incluyendo la misma tabla a la que está nombre, asociado. Sin embargo, se pueden emplear las palabras clave OLD y NEW. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 39. Que hay de nuevo en MySQL 5.0x Logo Company El disparador no puede invocar procedimientos almacenados utilizando la sentencia CALL. El didisparador no puede utilizar sentencias que d d ili i inicien o finalicen una transacción. En un disparador para INSERT, solamente puede utilizarse NEW.nom_col. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 40. Que hay de nuevo en MySQL 5.0x Logo Company En un disparador para DELETE sólo puede p p p emplearse OLD.nom_col. En un disparador para UPDATE se puede emplear OLD.nom_col y NEW.nom_col para referirse a las columnas del registro luego de actualizarlo actualizarlo. Una columna precedida por OLD es de sólo lectura. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 41. Que hay de nuevo en MySQL 5.0x Logo Company Una columna precedida por NEW puede ser referenciada si se tiene el privilegio SELECT sobre ella. En un disparador BEFORE, también es posible cambiar su valor con SET NEW.nombre_col = valor si se tiene el privilegio de UPDATE sobre ella. En un disparador BEFORE, el valor de NEW para una columna AUTO_INCREMENT es 0. _ www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 42. Que hay de nuevo en MySQL 5.0x Logo Company Si falla es un disparador BEFORE, no se ejecuta la operación en el correspondiente registro. Un disparador AFTER se ejecuta solamente si el dis parador BEFORE (de existir) y la operación se ejecutaron exitosamente exitosamente. Un error durante la ejecución de un disparador BEFORE o AFTER deri a en la falla de toda la deriva sentencia que provocó la invocación del disparador. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 43. Que hay de nuevo en MySQL 5.0x Logo Company En tablas transaccionales, la falla de un disparador (y por lo tanto de toda la sentencia) debería causar la cancelación (rollback) de todos los cambios realizados por esa sentencia www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 44. Que hay de nuevo en MySQL 5.0x Logo Company Vistas (Views) ( ) Las vistas (incluyendo vistas actualizables) fueron introdu cidas en la versión 5.0 del servidor de base de datos MyS QL Las vistas son útiles para permitir acceder a los usuarios a un conjunto de relaciones (tablas) como si fueran una sola , y limitar su acceso a las mismas. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 45. CREATE VIEW v1 AS SELECT * FROM t1 WHERE a < 2 Que hay de nuevo en MySQL 5.0x -> WITH CHECK OPTION; Logo Company CREATE VIEW Esta sentencia crea una vista nueva o reemplaza una existente si se incluye la cláusula OR REPLACE REPLACE. Ejemplo CREATE VIEW v1 AS SELECT * FROM t1 WHERE a < 2 WITH CHECK OPTION; www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 46. Que hay de nuevo en MySQL 5.0x Logo Company La definición de una vista está sujeta a las siguientes limitaciones: La sentencia SELECT no puede contener una subconsulta en su cláusula FROM. La sentencia SELECT no puede hacer referencia a variables d el sistema o del usuario. La sentencia SELECT no puede hacer referencia a parámetro s d sentencia preparados. de t i d Dentro de una rutina almacenada, la definición no puede hace r referencia a parámetros de la rutina o a variables locales. p Cualquier tabla o vista referenciada por la definición debe exist ir. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 47. Que hay de nuevo en MySQL 5.0x Logo Company Algunas vistas son actualizables. La opcion WITH CHECK OPTION puede utilizarse en una vista act ualizable para evitar inserciones o actualizaciones excepto en los r egistros en q la cláusula WHERE de la sentencia_select se eval g que úe como true. En la cláusula WITH CHECK OPTION de una vista actualizable, la s palabras reservadas LOCAL y CASCADED determinan el alcanc e de la verificación www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 48. Que hay de nuevo en MySQL 5.0x Logo Company ALTER VIEW Esta sentencia modifica la definición de una vista existente Esta sentencia se introdujo en MySQL 5.0.1. 501 DROP VIEW Elimina una o más vistas de la base de datos datos. www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.
  • 49. Que hay de nuevo en MySQL 5.0x Logo Company FIN www.art-com.co.kr Copyright © by ARTCOM PT All rights reserved.

×