SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
MySQL 5 x
      5.x
   Interplanet

  24-10-2007


                 Hugo Alfonso Palma
                       García
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Logo
                                                             Company




                                        Nuevas bondades de
                                            MySQL 5.0x



                                                               www.art-com.co.kr
Copyright © by ARTCOM PT All rights reserved.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Que hay de nuevo en MySQL 5.0x                    Logo
                                                Company




                     FIN

                                                  www.art-com.co.kr
Copyright © by ARTCOM PT All rights reserved.

Contenu connexe

Tendances

Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacion
josebunbury
 

Tendances (20)

Sistemasgestoresdebasededatosrelacionales
SistemasgestoresdebasededatosrelacionalesSistemasgestoresdebasededatosrelacionales
Sistemasgestoresdebasededatosrelacionales
 
Sgbd
SgbdSgbd
Sgbd
 
Mysqlysqlserver
MysqlysqlserverMysqlysqlserver
Mysqlysqlserver
 
My SQL
My SQLMy SQL
My SQL
 
Lenguaje de programación MySQL
Lenguaje de programación MySQLLenguaje de programación MySQL
Lenguaje de programación MySQL
 
Mysql2
Mysql2Mysql2
Mysql2
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacion
 
Base de-datos-en-microsoft-sql-server
Base de-datos-en-microsoft-sql-serverBase de-datos-en-microsoft-sql-server
Base de-datos-en-microsoft-sql-server
 
SGBD Postgresql
SGBD PostgresqlSGBD Postgresql
SGBD Postgresql
 
Instalacion de mysql en ubuntu
Instalacion de mysql en ubuntuInstalacion de mysql en ubuntu
Instalacion de mysql en ubuntu
 
Apache derby
Apache derbyApache derby
Apache derby
 
COMO INSTALAR MySQL EN LINUX
COMO INSTALAR  MySQL EN LINUXCOMO INSTALAR  MySQL EN LINUX
COMO INSTALAR MySQL EN LINUX
 
Versiones de sql
Versiones de sqlVersiones de sql
Versiones de sql
 
Exposicion oracle
Exposicion oracleExposicion oracle
Exposicion oracle
 
Base de datos
Base de datosBase de datos
Base de datos
 
Sql Server
Sql ServerSql Server
Sql Server
 
Oracle
OracleOracle
Oracle
 
visual fox pro
visual fox provisual fox pro
visual fox pro
 
MySql
MySqlMySql
MySql
 
Base de dato
Base de  dato Base de  dato
Base de dato
 

Similaire à Exposicion Mysql

14 servidor mysql
14 servidor mysql14 servidor mysql
14 servidor mysql
IsaacVk
 
Tres gestores de bases de datos
Tres gestores de bases de datosTres gestores de bases de datos
Tres gestores de bases de datos
satakin_armando7
 

Similaire à Exposicion Mysql (20)

Otoniel hernandez datashow - los gestores de base de datos
Otoniel hernandez   datashow - los gestores de base de datosOtoniel hernandez   datashow - los gestores de base de datos
Otoniel hernandez datashow - los gestores de base de datos
 
Otoniel hernandez datashow - los gestores de base de datos
Otoniel hernandez   datashow - los gestores de base de datosOtoniel hernandez   datashow - los gestores de base de datos
Otoniel hernandez datashow - los gestores de base de datos
 
14 servidor mysql
14 servidor mysql14 servidor mysql
14 servidor mysql
 
MySQL - Guillermo Jiménez
MySQL - Guillermo JiménezMySQL - Guillermo Jiménez
MySQL - Guillermo Jiménez
 
Mysql
MysqlMysql
Mysql
 
Tres gestores de bases de datos
Tres gestores de bases de datosTres gestores de bases de datos
Tres gestores de bases de datos
 
Grupo BD
Grupo BDGrupo BD
Grupo BD
 
392354189-SGBD.pptx
392354189-SGBD.pptx392354189-SGBD.pptx
392354189-SGBD.pptx
 
Servidor mysql
Servidor mysqlServidor mysql
Servidor mysql
 
Sistema Gestor de Base de Datos MYSQL
Sistema Gestor de Base de Datos MYSQLSistema Gestor de Base de Datos MYSQL
Sistema Gestor de Base de Datos MYSQL
 
Guía de MySql - Lissette Torrealba
Guía de MySql  - Lissette TorrealbaGuía de MySql  - Lissette Torrealba
Guía de MySql - Lissette Torrealba
 
Comparacion entre my sql y sql server
Comparacion entre my sql y sql serverComparacion entre my sql y sql server
Comparacion entre my sql y sql server
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5
 
Los gestores de base de datos
Los gestores de base de datosLos gestores de base de datos
Los gestores de base de datos
 
MySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaMySQL Una Introduccion Tecnica
MySQL Una Introduccion Tecnica
 
Sistemas de g base de datos
Sistemas de g base de datosSistemas de g base de datos
Sistemas de g base de datos
 
Sistemas de Gestion de Base de Datos
Sistemas de Gestion de Base de DatosSistemas de Gestion de Base de Datos
Sistemas de Gestion de Base de Datos
 
Cuadro comparativo-de-manejadores-de-base-de-datos
Cuadro comparativo-de-manejadores-de-base-de-datosCuadro comparativo-de-manejadores-de-base-de-datos
Cuadro comparativo-de-manejadores-de-base-de-datos
 
Ventajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBDVentajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBD
 
My sql
My sqlMy sql
My sql
 

Dernier

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Dernier (10)

Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Exposicion Mysql

  • 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.