Formacion critica

9
BASE DE DATOS DEDUCTIVAS MYSQL MBDD

Transcript of Formacion critica

Page 1: Formacion critica

BASE DE DATOS DEDUCTIVASMYSQL

MBDD

Page 2: Formacion critica

MYSQL• Es un sistema gestor de bases de datos. Pero la

virtud fundamental y la clave de su éxito es que se trata de un sistema de libre distribución y de código abierto.

• Lo primero significa que se puede descargar libremente de Internet (por ejemplo de la dirección (www.mysql.com); lo segundo (código abierto) significa que cualquier programador puede remodelar el código de la aplicación para mejorarlo.

Page 3: Formacion critica

MYSQL - DEDUCTIVAS

• Podemos crear hechos o reglas del lenguaje Datalog con el fin de añadir registros a tablas, crear tablas, o añadir reglas que permitan una consulta más profunda de la base de datos

Page 4: Formacion critica

DISPARADORES

• Es un objeto de base de datos con nombre que se asocia a una tabla, y se activa cuando ocurre un evento en particular para la tabla. Algunos usos para los disparadores es verificar valores a ser insertados o llevar a cabo cálculos sobre valores involucrados en una actualización.

Page 5: Formacion critica

DISPARADORES

• Un disparador se asocia con una tabla y se define para que se active al ocurrir una sentencia INSERT, DELETE, o UPDATE sobre dicha tabla. Puede también establecerse que se active antes o después de la sentencia en cuestión. Por ejemplo, se puede tener un disparador que se active antes de que un registro sea borrado, o después de que sea actualizado.

Page 6: Formacion critica

DISPARADORES

• Un ejemplo sencillo que asocia un disparador con una tabla para cuando reciba sentencias INSERT. Actúa como un acumulador que suma los valores insertados en una de las columnas de la tabla.

• La siguiente sentencia crea la tabla y un disparador asociado a ella:

mysql> CREATE TABLE account (acct_num INT, amount DECIMAL(10,2));

mysql> CREATE TRIGGER ins_sum BEFORE INSERT ON account -> FOR EACH ROW SET @sum = @sum + NEW.amount;

Page 7: Formacion critica

MYSQL> CREATE TABLE ACCOUNT (ACCT_NUM INT, AMOUNT DECIMAL(10,2));

MYSQL> CREATE TRIGGER INS_SUM BEFORE INSERT ON ACCOUNT -> FOR EACH ROW SET @SUM = @SUM + NEW.AMOUNT;

• CREATE TRIGGER crea un disparador llamado ins_sum que se asocia con la tabla account.

• La palabra clave BEFORE indica el momento de acción del disparador.

• La otra palabra clave posible aqui es AFTER. • La plabra clave INSERT indica el evento que activará al

disparador. En el ejemplo, la sentencia INSERT causará la activación. También pueden crearse disparadores para sentencias DELETE y UPDATE.

• Las sentencia siguiente, 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. En el ejemplo, la sentencia activada es un sencillo SET que acumula los valores insertados en la columna amount. La sentencia se refiere a la columna como NEW.amount, lo que significa “el valor de la columna amount que será insertado en el nuevo registro.”

Page 8: Formacion critica

DISPARADORES

• Para eliminar el disparador, se emplea una sentencia DROP TRIGGER. El nombre del disparador debe incluir el nombre de la tabla:

• mysql> DROP TRIGGER account.ins_sum;

Page 9: Formacion critica

BAJAR DE INTERNET

• http://dev.mysql.com/doc/refman/5.0/es/using-triggers.html

• TC2005-6.PDF

• REFMAN-5.0-ES.A4.PDF

• MANUAL DE MYSQL.PDF