Professional Documents
Culture Documents
Introduccin a SQLITE
Objetivos:
Que el estudiante aprenda los conceptos bsicos del lenguaje SQLite, el uso de TRIGGERS(para
definicin de restricciones de integridad o para modificar valores en otras tablas), creacin de base
de datos y tablas que la conforman, as como las operaciones bsicas de consulta a base de datos
INSERT, DELETE, UPDATE y SELECT.
Descripcin:
En esta prctica se crear una base de datos usando lenguaje SQLite, se definirn las tablas y sus
propiedades, se realizaran operaciones bsicas para insertar, borrar, modificar y actualizar datos
sobre ella utilizando la herramienta SQLite Administrator.
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
ndice
Qu es SQLite? ................................................................................1
Aplicacin .........................................................................................2
CREAR TABLAS ..................................................................................4
INSERTAR REGISTROS .................................................................................................................... 11
MODIFICAR REGISTROS ................................................................................................................. 14
CONSULTAR REGISTROS ................................................................................................................ 15
ELIMINAR REGISTROS .................................................................................................................... 16
TRIGGERS....................................................................................................................................... 17
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Qu es SQLite?
SQLite es una librera escrita en lenguaje C que implementa un manejador de base de datos SQL
embebido.
SQLite es un motor de bases de datos muy popular en la actualidad por ofrecer caractersticas tan
interesantes como su pequeo tamao, no necesitar servidor, precisar poca configuracin, ser
transaccional y adems es de cdigo libre.
SQLite soporta las caractersticas estndar de bases de datos relacionales, como la sintaxis SQL,
transacciones y declaraciones preparadas. Adems, slo requiere un poco de memoria en tiempo
de ejecucin aproximadamente 250 Kb.
A diferencia de los sistemas de gestin de bases de datos cliente-servidor, el motor de SQLite no
es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la
biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo. El programa
utiliza la funcionalidad de SQLite a travs de llamadas simples a subrutinas y funciones. Esto
reduce la latencia en el acceso a la base de datos, debido a que las llamadas a funciones son ms
eficientes que la comunicacin entre procesos. El conjunto de la base de datos (definiciones,
tablas, ndices, y los propios datos), son guardados como un slo archivo estndar en la mquina
host. Este diseo simple se logra bloqueando todo el archivo de base de datos al principio de cada
transaccin.
Los programas que se enlacen con la librera SQLite pueden tener acceso a una base de datos
SQL, sin tener que ejecutar un programa de RDBMS separado.
SQLite soporta el tipo de datos TEXT similar a String en Java, INTEGER similar a long en Java y
REAL similar a doubl en Java. Todos los dems tipos se deben convertir en uno de estos campos
antes de guardarlos en la base de datos. SQLite no valida si los tipos de escritos a las columnas
son en realidad del tipo definido, por ejemplo usted puede escribir un nmero entero en una
columna de cadena y viceversa.
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Aplicacin
Para crear una base de datos a partir del siguiente modelo fsico.
Empezaremos creando una base de datos nueva. A diferencia de Oracle o MySQL, SQLite permite
crear bases de dato de una manera fcil. Para ello presiona el icono de Nuevo
o bien en
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Escribe el nombre Carnet (su carnet)
Nos centraremos en la carpeta Tablas, que es, como su nombre lo indica donde podremos
observar todas las tablas que formen parte de la base de datos.
Los botones de la parte superior nos permiten realizar todas las acciones referentes a la
administracin de la base de datos actual, como ejecutar una consulta SQL, crear, editar o eliminar
una tabla desde un asistente, etc.
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Las tres pestaa ubicadas debajo de los controles mencionados antes, permiten navegar entre las
acciones que podemos realizar, como es realizar una Consulta SQL a la base de datos, ver los
Resultados que devuelve la ltima consulta ejecutada, o bien Editar Datos de las tablas, ya sea
para ingresar, modificar o eliminar un registro directamente mediante la interfaz. Nuevamente las
acciones de insertar, modificar o eliminar las realizaremos a partir de comandos SQL y no desde la
interfaz que nos proporciona SQLite Administrator en la pestaa Editar Datos.
CREAR TABLAS
Para las tablas, usaremos la forma ms simple, sin embargo es posible definir muchas ms
propiedades a la hora de ejecutar el cdigo para crear una tabla (puedes ver ms acerca de esto
en la documentacin oficial de SQLite http://www.sqlite.org) Las llaves forneas son posibles de
ser implementadas en SQLite, pero no las trabaja correctamente, por lo que las definimos a la hora
de crear las tablas, sin embargo debemos respetar siempre el concepto de Llaves primarias y
Llaves forneas.
Para la base de datos Alumno se tiene lo siguiente:
CREATE TABLE alumno (
carnet VARCHAR(7) NOT NULL PRIMARY KEY,
nombre VARCHAR(30),
apellido VARCHAR(30),
sexo VARCHAR(1),
matganadas INTEGER);
CREATE TABLE materia (
codmateria VARCHAR(6) NOT NULL PRIMARY KEY,
nommateria VARCHAR(30),
unidadesval VARCHAR(1));
CREATE TABLE nota (
carnet VARCHAR(7) NOT NULL ,
codmateria VARCHAR(6) NOT NULL ,
ciclo VARCHAR(5) ,
notafinal FLOAT ,
PRIMARY KEY(carnet,codmateria,ciclo)
CONSTRAINT
fk_nota_materia
FOREIGN
KEY
(codmateria)
REFERENCES
materia(codmateria) ON DELETE RESTRICT,
CONSTRAINT fk_nota_alumno FOREIGN KEY (carnet) REFERENCES alumno(carnet) ON
DELETE RESTRICT)
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Observa que hemos de definido para la tabla alumno y materia los campos que sern Llaves
primarias (PRIMARY KEY) inmediatamente despus definir el tipo de dato y si permitir almacenar
datos Nulos o no (agregando la sintaxis NOT NULL o simplemente obvindola para el caso
contrario). Sin embargo, para definir que ms de un campo formara parte de la PRIMARY KEY de
la tabla (como vemos en la tabla nota), agregamos al final de la declaracin de todos los campos la
sintaxis PRIMARY KEY(campo1, campo2,.).
Como tambin se observan las llaves forneas (FOREIGN KEY) de la tabla nota. SQLite soporta la
declaracin de dichas llaves forneas, pero no las toma en cuenta.
Ahora escribe el cdigo anterior dentro del rea de texto en la pestaa Consulta SQL y luego
presiona el botn ejecutar consulta
Ahora presiona F5 para actualizar el contenido de la base de datos ALUMNO, o bien da click
derecho sobre la base de datos ALUMNO y selecciona ACTUALIZAR.
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Podrs explorar las tablas y los campos que estn definidos en ellas, as como los campos que son
PRIMARY KEY de la tabla, mostrados por un icono de llave
Otra manera para crear tablas, es mediante el uso del asistente integrado de SQLite Administrator,
regresando a un estado inicial de la base de datos carnet.s3db, ve al men Tabla -> Nuevo, o bien
puedes hacer click sobre el botn de acceso rpido Crear Tabla
Eliminaremos la tabla alumno, para crearla con el asistente, y observaremos que de igual
manera se crea la tabla tanto con el asistente como con el cdigo sql.
6
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Veras la ventana del asistente Crear Tabla, en el campo Nombre Tabla escribe alumno.
Ahora presiona el botn Agregar Campo.
Agregaremos ahora un nuevo campo a la tabla; en Nombre Campo escribe carnet, en Tipo de
Campo selecciona VARCHAR, marca que este campo es Llave Primaria, y que es No NULL.
Presiona el botn Agregar y veras una nueva ventana que pide el tamao del campo. Ingresa para
para este caso un valor de 7 y luego click en OK.
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Haremos lo mismo para los dems campos de la tabla, de la siguiente manera:
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Con esto la tabla alumno ha sido creada sin utilizar comandos SQLite.
10
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
INSERTAR REGISTROS
Ahora que tenemos nuestra base de datos creada con todas las tablas, empezaremos a llenarlas
con datos, para ello, usaremos la siguiente sintaxis bsica
INSERT INTO nombreTabla(campo1, campo2,...) VALUES (dato_campo1,dato_campo2,)
Donde los valores (VALUES) estn dispuestos en el mismo orden que los campos definidos
despus de INSERT INTO.
Ahora, escribe en Consulta SQL el siguiente cdigo y ejecuta la consulta de la misma manera.
Recuerda que siempre ser necesario que una tabla PADRE contenga datos antes de insertar
datos en una tabla HIJO, para este caso los registros que insertaremos en la tabla nota deben
contener en los campos (que segn el modelo fsico poseen llaves forneas) carnet y codmateria ,
solamente valores de carnet que posea la tabla alumno y valores de codmateria que posee la tabla
materia. Por lo que con esto aclaramos que siempre debes insertar en tablas padre primero por la
integridad referencial. NOTA: Datos alfanumricos deben ingresarse entre comillas simples, datos
numricos no. El campo codmateria ser un campo autoincrementable que explicaremos como
darle esta funcin ms adelante en la creacin de TRIGGERS por lo que en los siguientes Insert
solamente le asignaremos cero.
INSERT INTO alumno(carnet,nombre,apellido,sexo,matganadas) VALUES (PP12001,Juan,Perez,M,0);
Despus de ejecutar este comando, da click en la pestaa Editar Datos, y luego sobre la tabla
alumno, observaras que el dato ha sido ingresado con xito.
11
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Puedes ejecutar ms de un comando INSERT a la vez, solamente debes indicar con un ; donde
es que finaliza cada uno.
nombre
apellido
sexo
matganadas
OO12035
Carlos
Orantes
OF12044
Pedro
Ortiz
GG11098
Sara
Gonzales
CC12021
Gabriela
Coto
Materia
codmateria
nommateria
unidadesval
MAT115
Matematicas
PRN115
Programacion I
12
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
IEC115
Ingenieria Economica
TSI115
Teoria de Sistemas
Nota
carnet
codmateria
ciclo
notafinal
OO12035
MAT115
OF12044
PRN115
GG11098
IEC115
CC12021
TSI115
OO12035
IEC115
GG11098
MAT115
10
OF12044
PRN115
Observe las seis filas resaltadas, si bien sabemos que una llave primaria debe ser nica, lo que
significa que no puede repetirse su valor en otro registro de la misma tabla, en este caso vemos
que carnet se repite en ambas filas, sin embargo, la PRIMARY KEY es el conjunto de los tres
campos (carnet, codmateria y ciclo), por lo que la combinacin de ambas es la que no se puede
repetir. Por ejemplo para el registro resaltado en amarillo, tanto carnet como codmateria se repiten
en ambos, sin embarco ciclo es distinto, por lo que sigue siendo vlido.
13
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
MODIFICAR REGISTROS
Para actualizar/modificar registros de una tabla, usaremos la siguiente sintaxis bsica:
UPDATE nombreTabla SET campo1=valorNuevo, campo2=valorNuevo2, WHERE condicin
Por ejemplo so quisiramos modificar notafinal del registro de la tabla nota:
CC12021
TSI115
TSI115
Por un notafinal = 7
CC12021
14
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Recuerda que debes respetar la integridad PADRE-HIJO por lo que si quisieras modificar un
registro de la tabla PADRE, que hace referencia a registros de la tabla HIJO, debers modificar
ambos. Por ejemplo, si quisieras modificar un carnet de la tabla alumno, y dicho carnet posee nota,
entonces debers modificar el carnet de ambas tablas.
CONSULTAR REGISTROS
Para consultar registros de las tablas usaremos la siguiente sintaxis:
SELECT campo1,campo2,.. FROM tabla1,tabla2, WHERE condicin
Por ejemplo ejecuta el siguiente comando, pero esta vez presiona el botn Ejecutar consulta SQL
con Resultado
15
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
ELIMINAR REGISTROS
Para eliminar registros de la base de datos, usaremos la siguiente sintaxis bsica.
DELETE FROM nombreTabla WHERE condicin
Eliminaremos el primer registro que insertamos (PP12001,Juan,Perez,M), por lo ejecutaremos
el siguiente comando.
DELETE FROM alumno WHERE carnet=PP12001;
Ya que este Alumno no posee notas, no ser necesario eliminar registros de la tabla nota antes de
eliminar registro de la tabla alumno, por lo que lo eliminamos sin ninguna complicacin. Observaras
que efectivamente el registro ha sido eliminado.
Sin embargo si quisiramos eliminar de la tabla alumno el registro con carnet OO12035, debemos
eliminar todos los registros que posean este mismo valor de carnet en la tabla nota, y
posteriormente eliminar de la tabla alumno.
16
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
TRIGGERS
Un trigger (o disparador) en una Base de datos , es un procedimiento que se ejecuta cuando se
cumple una condicin establecida al realizar una operacin. Dependiendo de la base de datos, los
triggers pueden ser de insercin (insert), actualizacin (update) o borrado (delete).
Sus usos y caractersticas son:
Mejoran la administracin de la Base de datos, sin necesidad de contar con que el usuario
ejecute la sentencia de SQL.
Pueden generar valores de columnas
Previene errores de datos
Sincroniza tablas
Modifica valores de una vista
No aceptan parmetros o argumentos (pero podran almacenar los datos afectados en
tablas temporales)
No pueden ejecutar las operaciones COMMIT o ROLLBACK por que estas son parte de la
sentencia SQL del disparador (nicamente a travs de transacciones autnomas)
Componentes principales
Trigger en SQLite
Consideraciones al momento de realizar u operar un trigger:
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
18
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
CREATE TRIGGER update_matganadas
AFTER INSERT ON nota
WHEN new.notafinal>=6
BEGIN
END
Puedes ver ms acerca de la sintaxis de creacin de un trigger en la pag.
http://www.sqlite.org/lang_createtrigger.html
CREATE TRIGGER nombre_del_trigger: con esto indicamos la creacin de un trigger que tendr
como nombre nombre_del_trigger.
AFTER. Para indicar que el trigger se activara despus de un evento indicado.
INSERT Evento que causar la activacin del trigger (siempre que se cumpla la condicin si es que
se define una).
ON nombre_tabla. Adems de haber definido el evento que activara el trigger, debemos indicar la
tabla, de tal manera que en este caso, estamos definiendo que el trigger se activara cada vez que
exista un INSERT dentro de la tabla nombre_tabla.
WHEN condicin. La condicin para que la accin definida dentro de BEGIN.END del trigger se
ejecute. Para este caso usamos la referencia NEW, con lo que decimos que si el valor NUEVO (el
que se est insertando) del campo notafinal es mayor o igual a 6 entonces ejecutar la accin
BEGIN o empezar en espaol, indica donde definiremos los comandos SQL que queremos que se
ejecuten como respuesta de la activacin del trigger ya que se ha cumplido la condicin dada.
Para este caso vemos que realizamos un UPDATE de la tabla alumno, en el que le asignamos un
nuevo valor al campo matganadas, que es igual a incrementar en 1 el valor anterior, solo para el
carnet del alumno que sea igual al carnet del registro NUEVO que se est insertando.
END, fin de los comandos que se ejecutarn.
Ahora ejecuta el cdigo anterior dentro de la pestaa Consulta SQL de SQLite Administrator. Vers
que como resultado se creara un nuevo elemento dentro de la carpeta TRIGGER de esta manera:
19
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
20
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Sin embargo, en caso de que la notafinal se guard con un valor incorrecto y posteriormente deba
modificarse, debemos tener el control de esto usando otro trigger que permita decrementar el valor
de matganadas si notafinal se modificara a un valor menor de 6, o que se incremente en caso
contrario.
Para ello crearemos otros 2 triggers que tendrn el control del evento UPDATE solamente cuando
se modifique el valor del campo notafinal sobre la tabla nota.
Ejecuta primero este cdigo.
CREATE TRIGGER corregir_notafinal_aprobada
AFTER UPDATE OF notafinal ON nota
FOR EACH ROW WHEN new.notafinal>=6 AND old.notafinal<6
BEGIN
UPDATE alumno SET matganadas=matganadas+1 WHERE alumno.carnet=new.carnet;
END
Ahora ejecuta este otro.
CREATE TRIGGER corregir_notafinal_noaprobada
21
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
AFTER UPDATE OF notafinal ON nota
FOR EACH ROW WHEN new.notafinal<6 AND old.notafinal>=6
BEGIN
UPDATE alumno SET matganadas=matganadas-1 WHERE alumno.carnet=new.carnet;
END
Ahora actualizemos el registro de la materia reprobada con 5.5 por un valor de 6.0.
UPDATE nota SET notafinal=6 WHERE carnet= NN00001 AND codmateria=IEC115 AND ciclo=1;
22
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
23
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Creado el trigger anterior, intentamos insertar una nota de un alumno que no existe en la base de
datos, ingresemos la sentencia que se presenta a continuacin.
INSERT INTO nota VALUES(ZZ01007,PRN115,1,8);
Observamos que se presenta un error SQL, se puede observar en la parte inferior de la pantalla,
con el texto que se ha ingresado en el trigger, en este caso No existe alumno, y correctamente se
evita la insercion de este registro.
De igual manera para realizar el trigger de la llave fornea de nota y materia, ejecutar el siguiente
cdigo:
CREATE TRIGGER fk_nota_materia
BEFORE INSERT ON nota
FOR EACH ROW
BEGIN
SELECT CASE
WHEN ((SELECT codmateria FROM materia WHERE codmateria = NEW.codmateria) IS NULL)
THEN RAISE(ABORT, 'No existe materia')
24
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
END;
END;
Creado el trigger anterior, intentamos insertar una nota de una materia que no existe en la base de
datos, ingresemos la sentencia que se presenta a continuacin.
INSERT INTO nota VALUES(PP12001,PDM115,1,8);
Observamos que se presenta un error igual en SQL, se puede observar en la parte inferior de la
pantalla, con el texto que se ha ingresado en el trigger, en este caso No existe materia, y
correctamente se evita la insercion de este registro.
25
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
Anexo
Modelo Conceptual de esquema Carnet.
26