Exposicion Mysql

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Exposicion Mysql - Presentation Transcript

    1. 24-10-2007 Interplanet MySQL 5.x Hugo Alfonso Palma García
      • Temario
      • Panorámica del sistema de gestión de base de datos MySQL
      • Las principales características de MySQL
      • Qué hay de nuevo en MySQL 5.0x
        • Tipo de dato BIT
        • Tipo de dato VARCHAR
        • INFORMATIONS_SCHEME
        • El gestor de instancias
        • Matemáticas de precisión
        • Cursores
        • Procedimientos almacenados y funciones
        • Disparadores
        • Vistas
      • MySQL 5.x
    2. Panorámica del sistema de gestión de base de datos MySQL
      • 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.
      • MySQL usa “SQL estándar”, llámese estándar al más actual que es el 2003.
      • El servidor de base de datos MySQL es muy rápido, fiable y fácil de usar.
    3. Panorámica del sistema de gestión de base de datos MySQL
      • MySQL Server se desarrolló originalmente para tratar grandes bases de datos mucho más rápido que soluciones existentes.
      • MySQL Server trabaja en entornos cliente/servidor o incrustados.
      • Una gran cantidad de software de contribuciones está disponible para MySQL.
      • La forma oficial de pronunciar "MySQL" es "My Ess Quiu Ell" (no "my sicuel").
      • Interioridades y portabilidad
        • Escrito en C y en C++. Probado con un amplio rango de compiladores diferentes
        • Funciona en diferentes plataformas.
        • Usa GNU Automake, Autoconf, y Libtool para portabilidad.
        • APIs disponibles para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, y Tcl.
        • Uso completo de multi-threaded mediante threads del kernel.
        • Proporciona sistemas de almacenamiento transaccionales y no transaccionales.
      Las principales características de MySQL
        • Usa tablas en disco B-tree ( MyISAM ) muy rápidas con compresión de índice.
        • Relativamente sencillo de añadir otro sistema de almacenamiento.
        • Un sistema de reserva de memoria muy rápido basado en threads.
        • Joins muy rápidos usando un multi-join de un paso optimizado.
        • Tablas hash en memoria, que son usadas como tablas temporales.
      Las principales características de MySQL
        • Las funciones SQL están implementadas usando una librerí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.
      Las principales características de MySQL
      • Tipos de columnas
        • Diversos tipos de columnas.
        • Registros de longitud fija y longitud variable.
      • 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.
      Las principales características de MySQL
      • Escalabilidad y límites
        • Soporte a grandes bases de datos.
        • 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 .
      Las principales características de MySQL
      • Conectividad
        • Los clientes pueden conectar con el servidor MySQL usando sockets TCP/IP en cualquier plataforma.
        • La interfaz para el conector ODBC (MyODBC).
        • La interfaz para el conector J MySQL.
      Las principales características de MySQL
      • Localización
        • El servidor puede proporcionar mensajes de error en muchos idiomas.
        • Soporte completo para distintos conjuntos de caracteres.
        • Todos los datos se guardan en el conjunto de caracteres elegido.
        • Todas las comparaciones para columnas normales de cadenas de carácteres son case-insensitive.
      Las principales características de MySQL
      • Clientes y herramientas
        • MySQL server tiene soporte para comandos SQL para chequear, optimizar, y reparar tablas.
        • Todos los programas MySQL pueden invocarse con las opciones --help o -? para obtener asistencia en línea.
      Las principales características de MySQL
    4. Nuevas bondades de MySQL 5.0x
    5. Que hay de nuevo en MySQL 5.0x
      • Tipo de dato Bit
      Tipo Bytes Valor Mínimo Valor Máximo BIT 1 1 64
    6. Que hay de nuevo en MySQL 5.0x
      • Tipo de datos VARCHAR
        • Soporte nativo VARCHAR .
        • La longitud máxima de VARCHAR es 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 superior a 255).
    7. Que hay de nuevo en MySQL 5.0x
      • INFORMATIONS_SCHEME
        • El soporte para INFORMATION_SCHEMA está disponible en MySQL 5.0.2 y posterior.
        • 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 los comandos SHOW.
          • Cumple las reglas de Codd.
    8. Que hay de nuevo en MySQL 5.0x
          • Nadie necesita aprender una nueva sintaxis. Conocen cómo funciona SELECT, pero si aprender los nombres de los objetos.
          • El implementador no tiene que preocuparse de palabras clave.
          • Hay millones de variaciones de la salida, en lugar de sólo una. 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í.
    9. Que hay de nuevo en MySQL 5.0x
      • El gestor de instancias de MySQL.
        • Este es el demonio que corre en el puerto TCP/IP.
        • Está disponible para sistemas operativos basados en Unix.
        • MySQL (IM) se incluye en las distribuciones de MySQL desde la versión 5.0.3.
    10. Que hay de nuevo en MySQL 5.0x
      • 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.
    11. Que hay de nuevo en MySQL 5.0x
      • 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.
    12. Que hay de nuevo en MySQL 5.0x
      • Matemáticas de precisión
        • La matemática de precisión se basa en dos cambios de implementación:
          • La introducción de nuevos modos SQL en MySQL 5.0.2 que controlan lo estricto que es el servidor para aceptar o rechazar datos inválidos.
          • La introducción en MySQL 5.0.3 de una biblioteca para aritmética de punto fijo.
    13. Que hay de nuevo en MySQL 5.0x
        • Estos cambios tienen varias implicaciones para operaciones numéricas:
          • Cálculos más precisos.
          • Para números exactos, los cálculos no introducen error en coma flotante.
          • 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 como errores.
          • Un resultado importante de estos cambios es que MySQL proporciona un mejor cumplimiento del estándar SQL.
    14. Que hay de nuevo en MySQL 5.0x
      • Cambios en el tipo de datos DECIMAL
        • Formato de almacenamiento
        • Las extensiones MySQL no estándar al rango superior de columnas DECIMAL
        • El rango de valores para los argumentos de DECIMAL ha cambiado.
        • La extensión no estándard MySQL del rango superior de columnas DECIMAL no se soporta.
        • Los carácteres precedentes ' + ' y ' 0 ' no se almacenan.
    15. Que hay de nuevo en MySQL 5.0x
      • Cursores
        • Se soportan cursores simples dentro de procedimientos y funciones almacenadas.
        • Sirven para almacenar valores retornados por un SELECT en procedimientos almacenados.
    16. Que hay de nuevo en MySQL 5.0x
      • Ejemplo de cursor
      • CREATE PROCEDURE curdemo()
      • BEGIN
      • DECLARE done INT DEFAULT 0;
      • DECLARE a CHAR(16);
      • DECLARE 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;
      • CLOSE cur2;
      • END
    17. Que hay de nuevo en MySQL 5.0x
      • Procedimientos almacenados y funciones
        • Un procedimiento almacenado es un conjunto de comandos SQL que pueden almacenarse en el servidor.
          • 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.
    18. Que hay de nuevo en MySQL 5.0x
      • Ejemplo de procedimiento
        • mysql> delimiter //
        • mysql> CREATE PROCEDURE simpleproc (OUT param1 INT)
        • -> BEGIN
        • -> SELECT COUNT(*) INTO param1 FROM t;
        • -> END
        • -> //
        • mysql> delimiter ;
    19. Que hay de nuevo en MySQL 5.0x
        • Ejecución:
        • mysql> CALL simpleproc(@a);
        • mysql> SELECT @a;
        • | @a |
        • +------+
        • | 3 |
        • +------+
    20. Que hay de nuevo en MySQL 5.0x
      • Ejemplo de función:
        • mysql> delimiter //
        • mysql> CREATE FUNCTION hello (s CHAR(20)) RETURNS CHAR(50)
        • -> RETURN CONCAT('Hello, ',s,'!');
        • -> //
        • mysql> delimiter ;
    21. Que hay de nuevo en MySQL 5.0x
      • Ejecución:
        • mysql> SELECT hello('world');
        • +------------------+
        • | hello('world') |
        • +------------------+
        • | Hello, world! |
        • +------------------+
    22. Que hay de nuevo en MySQL 5.0x
      • ALTER PROCEDURE y ALTER FUNCTION
        • Este comando cambia las características de un procedimiento o función almacenada.
      • DROP PROCEDURE y DROP FUNCTION
        • Este comando borrar un procedimiento o función almacenado.
    23. Que hay de nuevo en MySQL 5.0x
      • SHOW CREATE PROCEDURE y SHOW CREATE FUNCTION
        • Retorna la cadena exacta que puede usarse para recrear la rutina nombrada.
      • SHOW PROCEDURE STATUS y SHOW FUNCTION STATUS
        • Retorna características de rutinas, como el nombre de la base de datos, nombre, tipo, creador y fechas de creación y modificación.
        • También puede obtener información de rutinas almacenadas de la tabla ROUTINES en INFORMATION_SCHEMA .
    24. Que hay de nuevo en MySQL 5.0x
      • Disparadores (triggers)
        • 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.
    25. Que hay de nuevo en MySQL 5.0x
        • momento_disp es el momento en que el disparador entra en acción. Puede ser BEFORE (antes) o AFTER (despues).
        • evento_disp indica la clase de sentencia que activa al disparador. Puede ser INSERT , UPDATE , o DELETE . Por ejemplo, un disparador BEFORE para sentencias INSERT podría utilizarse para validar los valores a insertar.
    26. Que hay de nuevo en MySQL 5.0x
        • 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 de MySQL 5.0.10, los disparadores no podían contener referencias directas a tablas por su nombre. A partir de MySQL 5.0.10, se pueden escribir disparadores como el llamado testref , que se muestra en el siguiente ejemplo:
    27. Que hay de nuevo en MySQL 5.0x
        • 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 ;
    28. Que hay de nuevo en MySQL 5.0x
        • 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 claves extranjeras
    29. Que hay de nuevo en MySQL 5.0x
      • DROP TRIGGER
        • Elimina un disparador.
      • FOR EACH ROW
        • Define lo que se ejecutará cada vez que el disparador se 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á asociado. Sin embargo, se pueden emplear las palabras clave OLD y NEW .
    30. Que hay de nuevo en MySQL 5.0x
      • El disparador no puede invocar procedimientos almacenados utilizando la sentencia CALL .
      • El disparador no puede utilizar sentencias que inicien o finalicen una transacción.
      • En un disparador para INSERT , solamente puede utilizarse NEW. nom_col.
    31. Que hay de nuevo en MySQL 5.0x
      • En un disparador para DELETE sólo puede 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.
      • Una columna precedida por OLD es de sólo lectura.
    32. Que hay de nuevo en MySQL 5.0x
      • 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.
    33. Que hay de nuevo en MySQL 5.0x
      • Si falla es un disparador BEFORE , no se ejecuta la operación en el correspondiente registro.
      • Un disparador AFTER se ejecuta solamente si el disparador BEFORE (de existir) y la operación se ejecutaron exitosamente.
      • Un error durante la ejecución de un disparador BEFORE o AFTER deriva en la falla de toda la sentencia que provocó la invocación del disparador.
    34. Que hay de nuevo en MySQL 5.0x
      • 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
    35. Que hay de nuevo en MySQL 5.0x
      • Vistas (Views)
        • Las vistas (incluyendo vistas actualizables) fueron introducidas en la versión 5.0 del servidor de base de datos MySQL
        • 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.
    36. Que hay de nuevo en MySQL 5.0x
        • CREATE VIEW
          • Esta sentencia crea una vista nueva o reemplaza una existente si se incluye la cláusula OR REPLACE.
          • Ejemplo
            • CREATE VIEW v1 AS SELECT * FROM t1 WHERE a < 2 WITH CHECK OPTION;
      CREATE VIEW v1 AS SELECT * FROM t1 WHERE a < 2 -> WITH CHECK OPTION;
    37. Que hay de nuevo en MySQL 5.0x
          • 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 del sistema o del usuario.
            • La sentencia SELECT no puede hacer referencia a parámetros de sentencia preparados.
            • Dentro de una rutina almacenada, la definición no puede hacer referencia a parámetros de la rutina o a variables locales.
            • Cualquier tabla o vista referenciada por la definición debe existir.
    38. Que hay de nuevo en MySQL 5.0x
        • Algunas vistas son actualizables.
          • La opcion WITH CHECK OPTION puede utilizarse en una vista actualizable para evitar inserciones o actualizaciones excepto en los registros en que la cláusula WHERE de la sentencia_select se evalúe como true.
          • En la cláusula WITH CHECK OPTION de una vista actualizable, las palabras reservadas LOCAL y CASCADED determinan el alcance de la verificación
    39. Que hay de nuevo en MySQL 5.0x
        • ALTER VIEW
          • Esta sentencia modifica la definición de una vista existente
          • Esta sentencia se introdujo en MySQL 5.0.1.
        • DROP VIEW
          • Elimina una o más vistas de la base de datos.
    40. Que hay de nuevo en MySQL 5.0x
      • FIN

    + jar8kbronjar8kbron, 3 years ago

    custom

    2332 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2332
      • 2332 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 92
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories