Professional Documents
Culture Documents
x
5x
Interplanet
24-10-2007
Hugo Alfonso Palma
Garca
MySQL 5.x
Company
Logo
Temario
Panormica
a o ca de
del ssistema
ste a de gest
gestin
de base de datos MySQL
ySQ
Las principales caractersticas de MySQL
Qu
Q hay
h d
de nuevo en M
MySQL
SQL 5
5.0x
0
www.art-com.co.kr
z
z
z
www.art-com.co.kr
z
z
z
www.art-com.co.kr
Company
Logo
Interioridades y portabilidad
Escrito en C y en C++. Probado con un amplio
p rango
g de
compiladores diferentes
} Funciona en diferentes plataformas.
} Usa GNU Automake, Autoconf, y Libtool para portabilidad.
} APIs disponibles
p
para C, C++, Eiffel, Java, Perl, PHP,
p
Python, Ruby, y Tcl.
} Uso completo de multi-threaded mediante threads del
kernel.
} Proporciona sistemas de almacenamiento transaccionales
y no transaccionales.
t
i
l
}
www.art-com.co.kr
Company
Logo
www.art-com.co.kr
Company
Logo
www.art-com.co.kr
Company
Logo
Tipos
p de columnas
Diversos tipos de columnas.
} Registros
g
de longitud
g
fija
j y longitud
g
variable.
}
Seguridad
Un sistema de privilegios y contraseas que es muy
flexible y seguro, y que permite verificacin basada en el
host.
} Todo intercambio de informacin esta cifrada.
}
www.art-com.co.kr
Company
Logo
Escalabilidad y lmites
Soporte
p
ag
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.
}
www.art-com.co.kr
Company
Logo
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
Company
Logo
Localizacin
El servidor puede proporcionar mensajes de error en muc
hos idiomas.
} Soporte
S
t completo
l t para distintos
di ti t conjuntos
j t d
de caracteres.
t
} Todos los datos se guardan en el conjunto de caracteres
elegido.
elegido
} Todas las comparaciones para columnas normales de cad
enas de carcteres son case
case-insensitive.
insensitive
}
www.art-com.co.kr
Company
Logo
Clientes y herramientas
MySQL
y
server tiene soporte
p
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 lnea.
}
www.art-com.co.kr
Company
Logo
Nuevas bondades de
MySQL 5.0x
www.art-com.co.kr
Company
Logo
Bytes
Valor Mnimo
Valor Mximo
BIT
64
www.art-com.co.kr
Company
Logo
www.art-com.co.kr
Company
Logo
INFORMATIONS SCHEME
INFORMATIONS_SCHEME
El soporte para INFORMATION_SCHEMA est disponible
en MySQL
y Q 5.0.2 y p
posterior.
} Proporciona acceso a los metadatos de la base de datos.
} Ventajas de SELECT contra el show.
}
www.art-com.co.kr
z
z
z
Company
Logo
www.art-com.co.kr
Company
Logo
www.art-com.co.kr
Company
Logo
www.art-com.co.kr
Company
Logo
www.art-com.co.kr
Company
Logo
Matemticas de precisin
}
www.art-com.co.kr
Company
Logo
Clculos ms precisos.
Para nmeros exactos, los clculos no introducen error en coma fl
otante.
otante
Comportamiento bien definido para el redondeo.
Independencia de plataforma mejorada.
Control sobre tratamiento de datos invlidos.
Desbordamiento y divisin 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 estndar SQL.
www.art-com.co.kr
Company
Logo
www.art-com.co.kr
Company
Logo
Cursores
Se soportan
S
t cursores simples
i l dentro
d t de
d procedimientos
di i t y
funciones almacenadas.
} Sirven para almacenar valores retornados por un
SELECT en procedimientos almacenados.
}
www.art-com.co.kr
Company
Logo
Ejemplo de cursor
www.art-com.co.kr
Company
Logo
P
Procedimientos
di i t almacenados
l
d y funciones
f
i
}
www.art-com.co.kr
Company
Logo
Ejemplo
j p de p
procedimiento
mysql> delimiter //
mysql>
y q CREATE PROCEDURE simpleproc
p p
((OUT p
param1
INT)
-> BEGIN
-> SELECT COUNT(*) INTO param1 FROM t;
-> END
-> //
mysql>
y q delimiter ;
www.art-com.co.kr
Company
Logo
Ejecucin:
mysql> CALL simpleproc(@a);
mysql> SELECT @a;
| @a |
+
+------+
+
|3
|
+
+------+
+
}
www.art-com.co.kr
Company
Logo
Ejemplo de funcin:
mysql> delimiter //
mysql> CREATE FUNCTION hello (s CHAR(20)) RETURN
S CHAR(50)
-> RETURN CONCAT('Hello, ',s,'!');
-> //
mysql> delimiter ;
www.art-com.co.kr
Company
Logo
Ejecucin:
mysql> SELECT hello('world');
+
+------------------+
+
| hello('world') |
+------------------+
| Hello, world! |
+
+------------------+
+
www.art-com.co.kr
Logo
Company
de
un
www.art-com.co.kr
Logo
Company
www.art-com.co.kr
Company
Logo
Disparadores
p
((triggers)
gg )
A partir de MySQL 5.0.2 se incorpor el soporte bsico
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
Company
Logo
en accin.
accin Puede ser BEFORE (antes) o AFTER (despues
).
} evento_disp
evento disp indica la clase de sentencia que activa al disp
arador. Puede ser INSERT, UPDATE, o DELETE. Por eje
mplo,
p un disparador
p
BEFORE p
para sentencias INSERT p
po
dra utilizarse para validar los valores a insertar.
www.art-com.co.kr
Company
Logo
www.art-com.co.kr
Company
Logo
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 ;
Copyright by ARTCOM PT All rights reserved.
www.art-com.co.kr
Company
Logo
www.art-com.co.kr
Elimina un disparador.
Logo
DROP TRIGGER
}
Company
OLD y NEW
}
www.art-com.co.kr
z
z
z
Company
Logo
www.art-com.co.kr
z
z
Company
Logo
En un disparador
p
para DELETE slo p
p
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.
actualizarlo
Una columna precedida por OLD es de slo lectura.
www.art-com.co.kr
Company
Logo
www.art-com.co.kr
z
z
Company
Logo
www.art-com.co.kr
Company
Logo
www.art-com.co.kr
Company
Logo
Vistas (Views)
(
)
Las vistas (incluyendo vistas actualizables) fueron introdu
cidas en la versin 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
Company
Logo
CREATE VIEW
z
z
www.art-com.co.kr
Company
Logo
www.art-com.co.kr
Company
Logo
www.art-com.co.kr
Logo
ALTER VIEW
z
z
Company
DROP VIEW
z
www.art-com.co.kr
Company
Logo
zFIN
www.art-com.co.kr