Está en la página 1de 40

MySQL

MySQL es un sistema de administracin de bases de datos (Database Management


System, DBMS) para bases de datos relacionales. As, MySQL no es ms que una
aplicacin que permite gestionar archivos llamados de bases de datos.
Existen muchos tipos de bases de datos, desde un simple archivo hasta sistemas
relacionales orientados a objetos. MySQL, como base de datos relacional, utiliza multiples
tablas para almacenar y organizar la informacin. MySQL fue escrito en C y C++ y
destaca por su gran adaptacin a diferentes entornos de desarrollo, permitiendo su
interactuacin con los lenguajes de programacin ms utilizados como PHP, Perl y Java y
su integracin en distintos sistemas operativos.
Tambin es muy destacable, la condicin de open source de MySQL, que hace que su
utilizacin sea gratuita e incluso se pueda modificar con total libertad, pudiendo descargar
su cdigo fuente. Esto ha favorecido muy positivamente en su desarrollo y continuas
actualizaciones, para hacer de MySQL una de las herramientas ms utilizadas por los
programadores orientados a Internet.
NOTA GENERAL: para realizar la base de datos es necesario tener funcionando la
comunicacin entre Rslogix y Ignition por medio de opc segn tutorial anterior del llenadovaco del tanque.
INSTALACIN DE MYSQL
1. Descargamos Mysql essential del siguiente link.
http://dev.mysql.com/downloads/mysql/5.1.html

2. Descargamos MYsql workbench del siguiente link.


http://www.mysql.com/products/workbench/

3. Instalamos Mysql essential

Nota: Por favor tengan muy presente esta clave la necesitaremos despus.

4. Instalamos MYsql workbench.

5. TENIENDO CONFIGURADO E INSTALAD MYSQL PROCEDEMOS A


CONFIGURAR LA BASE DE DATOS

5.1 Damos doble click sobre el delfn y colocamos la contrasea que colocamos en
el mysqlessential.

5.2 Agregamos una base de datos y le damos el nombre

6. Ahora configuramos el ignition


En la pgina de ignition en la pestaa Configure parte izquierda de la ventana.
Nota: recordemos que ya debe estar comunicado ignition y rslogix mediante la opc.
7. vaya a la base de datos de la seccin y haga clic en Conexiones

8. Crear nueva conexin de base de datos y Haga clic en Crear nueva conexin

9. Elija MySQL ConnectorJ y Haga clic en el siguiente

10. introduzca Nombre y el URL se carga por defecto despus de haber instalado el
MYSQL

Introduce nombre de usuario username y contrasea


Por nombre de usuario y contrasea, el tipo de nombre de usuario = root y el password
= la contrasea que ha introducido durante la instalacin del servidor MySQL
11. Por ultimo Haga clic en el Crear nueva conexin .

Conexin de base de datos en que se agreg y se ha creado la conexin a la base de


datos MySQL y el estado muestra una Vlidacion de la conexin

12 Agregamos un simulador

Nota: Iniciamos el diseador

RECORDANDO:
1. Sellecionamos nuevo proyecto, asignamos un nombre y por ultimo damos click
en crear nuevo proyecto.

Seleccionamos New Main Window para generar nuestra interfaz grfica

En la ventana OPC Browser, se encuentran las variables del programa que esta corriendo
en Softlogix

Para crear Tags arrastramos una a una las variables a la carpeta Tags

Dando doble click en cada tag, podemos configurar el nombre, tipo de dato, etc. Para este
caso
solo le cambiamos el tipo de dato ya que es booleano. Luego damos click en Aplicar y
OK

Chuleando la casilla del tag llenar aparece la opcin de leer/escribir, damos click en
Enable para
poder asignarle valores al tag

Arrastramos el tag llenar, al espacio de diseo , nos aparece si queremos controlarla o


visualizarla.
Para este caso le damos en Control y Toggle Button

La finalizar los pasos anteriores nos queda un botn como se muestra a continuacin.

Para el tag vaciar se siguen los mismos pasos desde la figura 36 hasta la 38. La variable
res,
que es la que indica el nivel del tanque no hay necesidad de configurarle nada porque es
de
visualizacin y el tipo de dato es entero, al arrastrarla a la zona de trabajo elegimos
Display y lugo
Tank

Por ultimo nos debe quedar un diseo como el que se muestra a continuacin y le damos
Play
para interactuar con Softlogix.

CONFIGURACIN DEL HISTRICO DE DATOS


1. Seleccionamos en la pestaa charts Easy chart.

1. Arrastramos a la ventana de diseo.

2. Configuramos las variables en el editor de tag que queremos graficar en nuestro


caso:
Res
Llenar
Vaciar

En la pestaa History habilitamos la opcin YES

Observaciones:
En el editor del tag en la pestaa history escogemos en la subpestaa history provider
la variable que se carga por defecto creada anteriormente IGNITION, en la subpestaa
History scanclass escogemos la opcin Default.

2.1 Al realizar estos pasos con cada TAG en parte izquierda del diseador en el SQL
TAGS BROWSER al lado de cada Tag nos aparecer una diseo de una hoja que
nos indica que la variable ser guardada en la base de datos.

3. Arrastramos las variables a graficar

4. En las propiedades del editor en la pestaa Chart Mode escogemos REALTIME

5. Damos Play al diseo y revisamos la grfica en tiempo real generada, en nuestro


caso el tag de nivel del tanque.

5.1 Si damos zoom sobre la grfica podemos observar el activado o desactivado de los
botones de llenado y vaciado del tanque

6. Podemos verificar que la informacin est siendo grabada en nuestra base de


datos Mysql de la siguiente manera.
1. Abrimos el rbol del esquema TEST que fue el archivo que configuramos para
que se grabaran los datos anteriormente.
2. Damos click en el ramal de TABLAS. Aparcera las tablas que fueron creadas
con en la base de datos.

7. Podemos abrir la informacin dando Click Derecho sobre la tabla deseada y


escogemos la opcin Select Rows-limit 1000.

8. Podemos observar la informacin que se est grabado en la base de datos.

9. Tambin podemos guardar esta informacin del cambio de las variables dando
click en SAVE

10. Nos crea un archivo .xls Excel

11. Por ultimo podemos abrir el archivo de Excel y verificamos que la infromacion de
cada variable se ha creado y se pueda verificar.

TRANSACCIONES EN MYSQL

La transaccin en un Sistema de Gestin de Bases de Datos (SGBD), es un conjunto de


rdenes que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o
atmica.
Una transaccin es un conjunto de acciones llevadas a cabo por un usuario o un
programa de aplicacin, que acceden o cambian el contenido de la base de datos.
Las transacciones aportan una fiabilidad superior a las bases de datos. Si disponemos de
una serie de consultas SQL que deben ejecutarse en conjunto, con el uso de
transacciones podemos tener la certeza de que nunca nos quedaremos a medio camino
de su ejecucin. De hecho, podramos decir que las transacciones aportan una
caracterstica de deshacer a las aplicaciones de bases de datos.
Son mucho ms seguras y fciles de recuperar si se produce algn fallo en el servidor, ya
que las consultas se ejecutan o no en su totalidad. Por otra parte, las transacciones
pueden hacer que las consultas tarden ms tiempo en ejecutarse.
Un ejemplo tpico de esto es un transaccin bancaria. Por ejemplo, si una cantidad de
dinero es transferida de la cuenta de una persona a otra, se requieriran por o menos dos
consultas:
1. UPDATE
cuentas
SET
balance=balance-cantidad_transferida
WHERE
cliente=personal;
2. UPDATE cunetas SET balance=balance+cantidad_transferida WHERE cliente=
persona2;
Estas dos consultas deben trabajar bien, pero qu sucede si ocurre algn imprevisto y
se cae el sistema despus de que se ejecuta la primera consulta, pero la segunda an
no se ha completado? La persona tendr una cantidad de dinero removida de sus cuenta,
y creer que ha realizado su pago, sin embargo, la persona2 estar enfadada puesto que
pensara que no se le ha depositado el dinero que le deben. En este ejemplo tan sencillo
se ilustra la necesidad de que las consultas sean ejecutadas de manera conjunta, o en su
caso, que no se ejecute ninguna de ellas. Es aqu donde las transacciones toman un
papel muy importante.
Hay tres tipos de transacciones:
1. En las transacciones de recuperacin se accede a los datos para visualizarlos
en la pantalla a modo de informe.
2. En las transacciones de actualizacin se insertan, borran o actualizan datos de
la base de datos.
3. En las transacciones mixtas se mezclan operaciones de recuperacin de datos
y de actualizacin.
PROPIEDADES DE LAS TRANSACCIONES: Las transacciones deben cumplir
cuatro propiedades ACID:
1.

Atomicidad (Atomicity): es la propiedad que asegura que la operacin se ha


realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a
medias.

2.

(Consistency): es la propiedad que asegura que slo se empieza aquello que


se puede acabar. Por lo tanto, se ejecutan aquellas operaciones que no van a
romper la reglas y directrices de integridad de la base de datos.

3. Aislamiento (Isolation): es la propiedad que asegura que una operacin no


puede afectar a otras. Esto asegura que la realizacin de dos transacciones
sobre la misma informacin nunca generar ningn tipo de error.
4. Permanencia (Durability): es la propiedad que asegura que una vez realizada
la operacin, sta persistir y no se podr deshacer aunque falle el sistema.
Nota: Si la transaccin no se puede finalizar por cualquier motivo, el SGBD
garantiza que los cambios realizados por esta transaccin son deshechos
ESTADOS DE UNA TRANSACCIN
En cualquier momento una transaccin slo puede estar en uno de los siguientes
estados.
1. Activa (Active): el estado inicial; la transaccin permanece en este estado durante
su ejecucin.
2. Parcialmente comprometida (Uncommited): Despus de ejecutarse la ultima
transaccin.
3. Fallida (Failed): tras descubrir que no se puede continuar la ejecucin normal.
4. Abortada (Rolled Back): despus de haber retrocedido la transaccin y
restablecido la base de datos a su estado anterior al comienzo de la transaccin.
5. Comprometida (Commited): tras completarse con xito.
GRADOS DE CONSISTENCIA
Consistencia es un trmino ms amplio que el de integridad. Podra definirse como la
coherencia entre todos los datos de la base de datos. Cuando se pierde la integridad
tambin se pierde la consistencia. Pero la consistencia tambin puede perderse por
razones de funcionamiento.
Una transaccin mantendr la consistencia de la base de datos. Esto es, si la
base de datos se encuentra en un estado consistente antes de ejecutar la
transaccin, una vez que sta termine la consistencia de la base de datos deber
conservarse. Por consistente se debe entender, internamente consistente.
Consistencia de datos: Eliminando o controlando las redundancias de datos se
reduce en gran medida el riesgo de que haya inconsistencias. Si un dato est
almacenado una sola vez, cualquier actualizacin se debe realizar slo una vez, y
est disponible para todos los usuarios inmediatamente. Si un dato est duplicado
y el sistema conoce esta redundancia, el propio sistema puede encargarse de
garantizar que todas las copias se mantienen consistentes.

En trminos de base de datos esto significa que se satisfacen todas las


restricciones en cuanto a su integridad que incluyen:
Todos los valores de la llave primaria son nicos.
La base de datos mantiene integridad referencial lo que significa que los registros
solo referencian informacin que existe.
Ciertos predicados se mantienen. Por ejemplo, la suma de los gastos es menor
o igual al presupuesto.
A diferencia de la atomicidad, el aislamiento y la durabilidad, la consistencia es
una prctica de programacin. La atomicidad, el aislamiento y la durabilidad estn
aseguradas estn o no programadas para preservar la consistencia. Es
responsabilidad del desarrollador de la aplicacin asegurar que su programa
preserva la consistencia.
Una transaccin finalizada (confirmada parcialmente) puede no confirmarse
definitivamente (consistencia).
Si se confirma definitivamente el sistema asegura la persistencia de los cambios
que ha efectuado en la base de datos.
Si se anula los cambios que ha efectuado son deshechos. La ejecucin de una
transaccin debe conducir a un estado de la base de datos consistente (que
cumple todas las restricciones de integridad definidas).
Si se confirma definitivamente el sistema asegura la persistencia de los cambios
que ha efectuado en la base de datos.
Si se anula los cambios que ha efectuado son deshechos.
Una transaccin que termina con xito se dice que est comprometida (commited),
una transaccin que haya sido comprometida llevar a la base de datos a un
nuevo estado consistente que debe permanecer incluso si hay un fallo en el
sistema
QU ES AISLAMIENTO?
En bases de datos, el aislamiento es una propiedad que define cmo y cundo
los cambios producidos por una operacin se hacen visibles para las dems
operaciones concurrentes. Aislamiento es una de las 4 propiedades ACID
(Atomicidad, Consistencia, Aislamiento, Durabilidad) aplicables a una base de
datos transaccional.
NIVELES DE AISLAMIENTO
De las cuatro propiedades ACID de un Sistema de gestin de bases de datos
relacionales (SGBDR) la de aislamiento es la que ms frecuentemente se relaja.
Para obtener el mayor nivel de aislamiento, un SGBDR generalmente hace un
bloqueo de los datos o implementa un Control de concurrencia mediante versiones

mltiples (MVCC), lo que puede resultar en una prdida de concurrencia. Por ello
se necesita aadir lgica adicional al programa que accede a los datos para su
funcionamiento correcto
SERIALIZABLE
Este es el nivel de aislamiento ms alto. Especifica que todas las transacciones
ocurran de modo aislado, o dicho de otro modo, como si todas las transacciones
se ejecutaran de modo serie (una tras otra). La sensacin de ejecucin simultnea
de dos o ms transacciones que perciben los usuarios sera una ilusin producida
por el SGBD.
LECTURAS COMPROMETIDAS (READ COMMITTED)
En este nivel de aislamiento, un SGBDR que implemente el control de
concurrencia basado en bloqueos mantiene los bloqueos de escritura -de los datos
seleccionados hasta el final de la transaccin, mientras que los bloqueos de
lectura se cancelan tan pronto como acaba la operacin de SELECT (por lo que el
efecto de las lecturas no repetibles puede ocurrir, como se explica ms abajo). Al
igual ocurra en el nivel anterior, no se gestionan los bloqueos de rango.
LECTURAS NO COMPROMETIDAS (READ UNCOMMITTED)
Este es el menor nivel de aislamiento. En l se permiten las lecturas sucias(ver
ms abajo), por lo que una transaccin pude ver cambios no cometidos an por
otra transaccin.
NIVEL DE AISLAMIENTO POR DEFECTO
El nivel de aislamiento por defecto de distintos SGBDR vara ampliamente. La
mayora de bases de datos que gestionan transacciones permiten al usuario
establecer cualquier nivel de aislamiento. Algunos SGBDR requieren sintaxis
especial cuando se realiza una operacin SELECT que efecta bloqueos
(e.g.SELECT ... FOR UPDATE para bloquear para escritura aqullas filas
accedidas)
QU ES COMMIT?
En el contexto de la Ciencia de la computacin y la gestin de datos,
commit(accin de comprometer) se refiere a la idea de consignar un conjunto de
cambios "tentativos, o no permanentes". Un uso popular es al final de una
transaccin de base de datos.
Una sentencia COMMIT
En SQL finaliza una transaccin de base de datos dentro de un sistema gestor
de base de datos relacional (RDBMS) y pone visibles todos los cambios a otros
usuarios. El formato general es emitir una sentencia BEGIN WORK, una o ms
sentencias SQL, y entonces la sentencia COMMIT. Alternativamente, una
sentencia ROLLBACK se puede emitir, la cual deshace todo el trabajo realizado

desde que se emiti BEGIN WORK. Una sentencia COMMIT publicar cualquiera
de los savepoints (puntos de recuperacin) existentes que puedan estar en uso.
Nota: En trminos de transacciones, lo opuesto de commit para descartar los
cambios "en tentativa" de una transaccin, es un rollback.
QU ES ROLLBACK?
En tecnologas de base de datos, un rollback es una operacin que devuelve a la
base de datos a algn estado previo. Los Rollbacks son importantes para la
integridad de la base de datos, a causa de que significan que la base de datos
puede ser restaurada a una copia limpia incluso despus de que se han realizado
operaciones errneas.
Son cruciales para la recuperacin de crashes de un servidor de base de datos;
realizando rollback(devuelto) cualquier transaccin que estuviera activa en el
tiempo del crash, la base de datos es restaurada a un estado consistente.
En SQL, ROLLBACK es un comando que causa que todos los cambios de datos
desde la ltima sentencia BEGIN WORK, o START TRANSACTION sean
descartados por el sistema de gestin de base de datos relacional (RDBMS), para
que el estado de los datos sea "rolled back"(devuelto) a la forma en que estaba
antes de que aquellos cambios tuvieran lugar.

EJEMPLO: continuamos con el llenado del tanque.


1. Para iniciar las transacciones en mysql debemos primero crear y habilitar esta
misma en el diseador del ignition.

2. Vamos al Project browser y damos click derecho sobre Transaction Groups,


escogemos new transaction group y acontiniacion damos click en New
standard group

3. Se nos abre una nueva ventana donde aparece el grupo creado y en la parte
derecha cuadro morado damos click derecho y escogemos las opcin New
Item seguido de New OPC tem
Nota: es aqu donde configuramos el tipo de comunicacin que tenemos con
nuestra base de datos, y la direccin en la cual se guardara la informacin que
se quiere guardar.

4. En este paso se nos despliega una nueva pantalla donde le damos el nombre a
la variable que vamos a guardar, seleccionamos el tipo de variable, en el
OPC SERVER seleccionamos en que tabla vamos a guardar la informacin,
en la cruz
buscamos la opc y seleccionamos la variable deseada en
modo ONLINE y por ultimo OK.

5. En la parte derecha encontramos la pestaa Action en esta configuramos:


1. El tipo de comunicacin que tendremos entre el ignition y la base de datos
en nuestro caso escogemos DB to OPC (De la Opc a las base de datos).
2. En el campo DATA SOURCE por defecto se nos carga la fuente de datos,
esta misma fue creada con anterioridad en el mysql.
3.

En TABLE NAME colocamos el nombre de la tabla el cual ser creada en


el mysql

4. En los campos Store dejamos los que se cargan por defecto.

5. Realizamos los anteriores pasos con las variables o informacin que


queremos guardar en nuestra BD, debe aparecer las variables creadas, el
valor y el tipo de dato de la variable.

NOTA: En el caso que en la casilla de VALUE aparezca NA no olvide


guardar y salvar la informacin, y habilitar el grabado de la informacin
ENABLED.
Si es necesario repita los pasos hasta que el value concuerde con la
informacin y el proceso que tenemos en el diseo de pantalla Main
window.

6. Para verificar que la transaccin fue creada correctamente vamos a la


pestaa de estado del ignition y en la parte derecha observamos que la
transaccin y el grupo esta corriendo.

7. Por ultimo dirjase al Mysql y verifique que la tabla fue creada y que posea
toda la informacin de las variables creadas dentro de la tabla creada.
Nota: No olvide que los pasos necesarios para publicar la informacin estn
descriptos anteriormente.