Práctica 3: El lenguaje SQL (2ª parte). (7ª sesión).

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Práctica 3: El lenguaje SQL (2ª parte). (7ª sesión)."

Transcripción

1 Práctica 3: El lenguaje SQL (2ª parte). (7ª sesión).

2 Programa de prácticas: Práctica 1. Introducción al uso de una BD relacional (ACCESS). Práctica 2. Representación de la realidad en el modelo relacional de datos. Práctica 3. El lenguaje SQL. (ORACLE) Práctica 4. Estudio del SGBD ORACLE.

3 El lenguaje SQL. Objetivos (2ª parte): estudio del lenguaje de definición de datos del SQL. definir una base de datos relacional en el sistema ORACLE. estudio del mecanismo de disparadores (triggers) en el sistema ORACLE.

4 El lenguaje SQL. Clave primaria Profesor cod_pro nombre teléfono cod_dep Departamento cod_dep nombre director teléfono Docencia cod_pro cod_asg gteo gprac Clave Ajena Asignatura cod_asg nombre semestre teo prac cod_dep

5 disparador regla de actividad Los disparadores permiten modelar un comportamiento activo (autónomo) del sistema como respuesta a la ocurrencia de sucesos. evento - condición - acción evento: especifica el suceso a cuya ocurrencia debe responder el sistema. condición: especifica el contexto en el cual la regla cuyo evento se ha producido debe ser ejecutada. acción: especifica las acciones que deben ser ejecutadas por el sistema como respuesta a la ocurrencia del evento cuando la condición es cierta.

6 Ejemplo1: cuando un profesor se da de baja (es borrado) sus datos deben registrarse en un histórico de profesores. Profesor cod_pro nombre teléfono cod_dep Histórico- Profesores cod_pro nombre teléfono cod_dep fecha Borrado Inserción SGBD

7 cod _p ro nom bre telé f on o cod _d e p JC C Ju a n C. C asam a y or R ód en as DS IC RF C R obert Fuster i C apilla M A T JBD Jos é V. Ben lloch D u a ld e D I SCA M AF M ar ía Alpu e nte F ra s n ed o DS IC CPG C rist ina Pé re z Gui llo t ID M JT M Jos é M. Torra lba M art íne z O EM IG P I g n ac i o Gil P ech u án O EM D G T D a n i e l G il T o m ás D I SCA M CG M at i lde C elm a Giméne z DS IC Mecanismo de disparadores en ORACLE Profesor DELETE FROM Profesor WHERE cod_pro= RFC SGBD INSERT INTO Histórico-Profesores VALUES ( RFC, Robert Fuster Capilla, 6789, MAT, SYSDATE) Histórico- Profesor PPP Pedro Pérez Puerta 7795 DISCA 12/12/97 RFC Robert Fuster Capilla 6789 MAT 12/12/99

8 CREATE OR REPLACE TRIGGER borrado_profesor AFTER DELETE ON Profesor evento FOR EACH ROW BEGIN INSERT INTO Histórico-Profesores VALUES (:OLD.cod_pro, :OLD.nombre, :OLD.teléfono, :OLD.cod_dep, SYSDATE); END; acción Después (AFTER) de un borrado en Profesor (evento) por cada tupla borrada (FOR EACH ROW) se insertará una tupla en Histórico-Profesores (acción) construida con los valores viejos (OLD) de la tupla borrada.

9 cod_pro nombre teléfono cod_dep JCC Juan C. Casamay or Ródenas 7796 DSIC RFC Ro bert Fuster i Capilla 6789 MAT JBD José V. BenllochDua lde 5760 DISCA MAF Mar ía Alpuente Frasnedo 3560 DSIC CPG Cristina Pérez Guillot 7439 IDM JTM José M. Torralba Martínez 4590 OEM IGP Ign acio Gil Pechuán 3423 OEM DGT Dan iel Gil To más 5679 DISCA MCG Matilde Celma Giménez 7756 DSIC Mecanismo de disparadores en ORACLE Profesor DELETE FROM Profesor WHERE cod_pro= RFC evento OLD.cod_pro OLD.nombre OLD.teléfono OLD.cod_dep

10 Parámetros del evento: campos de la tupla actualizada. OLD.nombre_campo: valor antes de la actualización NEW.nombre_campo: valor después de la actualización INSERT: NEW.nombre_campo DELETE: OLD.nombre_campo UPDATE: OLD.nombre_campo, NEW.nombre_campo Dependiendo del tipo de evento sólo tienen sentido un tipo de parámetros (NEW o OLD)

11 cod _p ro nom bre telé f on o cod _d e p JC C Ju a n C. C asam a y or R ód en as DS IC RF C R obert Fuster i C apilla M A T JBD Jos é V. Ben lloch D u a ld e D I SCA M AF M ar ía Alpu e nte F ra s n ed o DS IC CPG C rist ina Pé re z Gui llo t ID M JT M Jos é M. Torra lba M art íne z O EM IG P I g n ac i o Gil P ech u án O EM D G T D a n i e l G il T o m ás D I SCA M CG M at i lde C elm a Giméne z DS IC Mecanismo de disparadores en ORACLE Profesor DELETE FROM Profesor WHERE cod_dep= DSIC SGBD INSERT INTO Histórico-Profesores VALUES ( ) Histórico- Profesor JCC Juan C. Casamayor Ródenas 7796 DSIC 12/12/99 MAF María Alpuente Frasnedo 3560 DSIC 12/12/99 MCG Matilde Celma Giménez 7756 DSIC 12/12/99

12 Ejemplo2: cuando se realiza una actualización en Profesor se debe hacer un registro de seguridad en la tabla Accesos. Profesor cod_pro nombre teléfono cod_dep Accesos nro usuario fecha DELETE-UPDATE-INSERT INSERT SGBD

13 CREATE OR REPLACE TRIGGER borrado_profesor AFTER INSERT OR UPDATE OR DELETE ON Profesor evento FOR EACH ROW BEGIN INSERT INTO Accesos VALUES (nro, USER, SYSDATE); END; acción Después (AFTER) de una operación (inserción, borrado o actualización) en Profesor (evento) se insertará una tupla en Accesos (acción) independientemente del numero de tuplas actualizadas. Nota: USER y SYSDATE son funciones predefinidas que devuelven el identificador del usuario conectado y la fecha del sistema.

14 Ejemplo 3: Restricción de integridad: Los profesores que imparten la asignatura EST1 deben ser del departamento de Estadística (EST).

15 Restricción de integridad: Los profesores que imparten la asignatura EST1 deben ser del departamento de Estadística (EST). CREATE ASSERTION CHECK ( NOT EXISTS (SELECT * FROM Docencia NATURAL JOIN Profesor WHERE Docencia.cod_asg = EST1 AND Profesor.cod_dep <> EST ) SQL

16 El lenguaje de definición de datos de ORACLE: Las principales diferencias respecto al estándar SQL son: no contempla el concepto de esquema de base de datos no permite la definición de dominios sólo contempla el tipo de integridad referencial débil sólo admite directrices de restauración de la integridad referencial frente a la operación de borrado (ON DELETE) las restricciones de integridad generales que se pueden definir con la cláusula CHECK son muy limitadas (no se pueden usar subconsultas, ni funciones agregadas,...) no admite la sentencia CREATE ASSERTION.

17 Restricción de integridad: Los profesores que imparten la asignatura EST1 deben ser del departamento de Estadística (EST). CREATE ASSERTION CHECK ( NOT EXISTS (SELECT * FROM Docencia NATURAL JOIN Profesor WHERE Docencia.cod_asg = EST1 AND Profesor.cod_dep <> EST ) ORACLE La restricción de integridad que no se puede definir en ORACLE puede ser comprobada por medio de disparadores.

18 Restricción de integridad: Los profesores que imparten la asignatura EST1 deben ser del departamento de Estadística (EST). Se deben analizar los eventos relevantes para la restricción, es decir que pueden violarla, y definir los disparadores necesarios. Operaciones sobre la relación Docencia Operaciones sobre la relación Profesor

19 Disparadores sobre Docencia: INSERT UPDATE (cod_asg) UPDATE (cod_pro) Docencia NEW.cod_asg=EST1 si cod_dep de NEW.cod_pro <> EST entonces RECHAZAR Evento Condición Acción REGLA DE ACTIVIDAD

20 CREATE OR REPLACE TRIGGER control_docencia1 AFTER INSERT OR UPDATE OF cod_asg, cod_pro ON Docencia FOR EACH ROW WHEN NEW.cod_asg = EST1 DECLARE X CHAR(4); BEGIN SELECT P.cod_dep INTO X FROM Profesor P WHERE P.cod-prof = :NEW.cod-prof; IF X <> EST THEN RAISE-APPLICATION-ERROR (---, actualización no válida ) END IF; END condición evento acción ORACLE

21 Disparadores sobre Profesor: UPDATE (cod_dep) Profesor OLD.cod_dep=EST AND NEW.cod_dep<>EST si NEW.cod_prof imparte EST1 entonces RECHAZAR Evento Condición Acción REGLA DE ACTIVIDAD

22 CREATE OR REPLACE TRIGGER control_docencia2 AFTER UPDATE OF cod_dep ON Profesor FOR EACH ROW WHEN OLD.cod_dep = EST AND NEW.cod_dep<> EST DECLARE X INTEGER; BEGIN condición SELECT COUNT(*) INTO X FROM Docencia D WHERE D.cod-prof = :NEW.cod-prof AND D.cod_asg= EST1 evento acción IF X <> 0 THEN RAISE-APPLICATION-ERROR (---, actualización no válida ) END IF; END ORACLE

23 Ejemplo4: en la relación Profesor existe un atributo derivado créditos que debe ser mantenido automáticamente por el sistema. Ley de derivación del atributo créditos: el valor del atributo créditos de Profesor es la suma de todos los créditos que en la relación Docencia aparecen impartidos por el profesor

24 Clave primaria Profesor cod_pro nombre teléfono cod_dep créditos* * atributo derivado Departamento cod_dep nombre director teléfono Docencia cod_pro cod_asg créditos Clave Ajena Asignatura cod_asg nombre semestre teo prac cod_dep

25 CREATE TABLE Profesor (cod_pro CHAR(5), nombre VARCHAR(50) NOT NULL, teléfono CHAR(11), cod_dep CHAR(5), créditos NUMBER (4,1) DEFAULT 0, CONSTRAINT CP_prof PRIMARY KEY (cod_pro), CONSTRAINT CAj_prof_dpto FOREIGN KEY (cod_dep) REFERENCES Departamento(cod_dep)) El atributo derivado créditos debe ser mantenido automáticamente por el sistema.

26 INSERT Docencia aplicar la ley de derivación del atributo créditos en Profesor y actualizar dicho atributo: UPDATE (creditos) DELETE UPDATE (cod_pro) UPDATE (creditos) Profesor Evento Condición Acción REGLA DE ACTIVIDAD

27 evento CREATE TRIGGER total_creditos AFTER INSERT OR DELETE OR UPDATE OF creditos, cod_pro ON Docencia FOR EACH ROW BEGIN IF INSERTING THEN UPDATE Profesor SET créditos=créditos+:new.creditos acción WHERE cod_pro=:new.cod_pro; ELSEIF UPDATING THEN IF :NEW.cod_pro!= :OLD.cod_prof THEN UPDATE Profesor SET créditos=créditos+:new.creditos WHERE cod_pro=:new.cod_pro; UPDATE Profesor SET créditos=créditos -:OLD.creditos WHERE cod_pro=:old.cod_pro; ELSE UPDATE Profesor SET créditos + :NEW.creditos - :OLD.creditos; WHERE cod_pro=:new.cod_pro; END IF; ELSE UPDATE Profesor SET creditos=creditos - :OLD.creditos WHERE cod_pro=:old.cod_pro; END IF; END;

28 definición_regla := CREATE [OR REPLACE ] TRIGGER nombre_regla {BEFORE AFTER INSTEAD OF} evento [OR evento [OR evento [...] ]] ON {nombre_tabla nombre_vista} [[REFERENCING OLD AS nombre_ref [NEW AS nombre_ref] ] [FOR EACH ROW [WHEN ( condición ) ] ] bloque PL/SQL evento := {INSERT DELETE UPDATE [OF nom_atributo1, nom_atributo2...]} Sólo los disparadores de tipo FOR EACH ROW pueden llevar condición. Los disparadores de tipo INSTEAD OF sólo actúan sobre vistas.

29 Creación: CREATE TRIGGER nombre_regla.. Borrado: DROP TRIGGER nombre_regla Modificación: REPLACE TRIGGER nombre_regla Recompilación: ALTER TRIGGER nombre_regla COMPILE Consulta: consultas a las tablas del diccionario del sistema: USER_TRIGGERS, ALL_TRIGGERS, DBA_TRIGGERS Prioridad entre reglas: no existe Habilitar y deshabilitar reglas: ALTER TRIGGER nombre_regla [ENABLE DISABLE] ALTER TABLE nombre_relación [{ENABLE DISABLE} ALL TRIGGERS]

30 Tipos de reglas: 4 tipos de reglas [FOR EACH STATEMENT] FOR EACH ROW BEFORE se ejecuta la regla una vez antes de la ejecución del evento se ejecuta la regla una vez antes de la actualización de cada tupla afectada por el evento AFTER se ejecuta la regla una vez después de la ejecución del evento se ejecuta la regla una vez después de la actualización de cada tupla afectada por el evento

31 Anexo: Lenguaje PL/SQL de ORACLE Estructura de un bloque PL/SQL: DECLARE Sección de declaración de variables BEGIN Sentencias del bloque END

32 Sección de declaración de variables: - Variables locales al bloque: nombre_variable tipo_dato tipo_dato::= {NUMBER CHAR( ) DATE } (las declaraciones de esta sección deben ir separadas por punto y coma)

33 Sentencias del cuerpo del bloque PL/SQL: - Secuencia_de_sentencias::= sentencia; [sentencia;]... - Sentencia de selección: IF condición THEN secuencia_de_sentencias [ELSE secuencia_de_sentencias] END IF; - Sentencias de repetición: WHILE condición LOOP secuencia_de sentencias ; END LOOP; FOR contador IN mínimo.. máximo LOOP secuencia_de_sentencias ; END LOOP;

34 Sentencias del cuerpo del bloque PL/SQL: - Sentencia de asignación : -Sentencias SQL: nombre_variable := expresión INSERT, DELETE, UPDATE, SELECT... INTO... - Sentencias de entrada-salida: dbms_output.put_line ('mensaje'). Para usar esta función el paquete dbms_output debe estar activado, esto se hace con la sentencia SQL SET SERVEROUTPUT ON.

35 Manejo de errores: Si durante la ejecución de una regla (trigger) se produce un error predefinido en el sistema o definido por el usuario, entonces se anulan todas las actualizaciones realizadas por la acción de la regla así como el evento que la activó. La sentencia RAISE_APPLICATION_ERROR (nro_error, ' mensaje' ) provoca la ocurrencia del error de número interno nro_error y envía al usuario el mensaje 'mensaje'. (nro_error debe ser un número negativo entre y ).

36 Ejercicio de prácticas. Se desea diseñar una base de datos para la gestión de una pequeña biblioteca de un departamento. Después de realizar el análisis del sistema, se han identificado los requerimientos que van a realizarse con más frecuencia; éstos son: -consultar los datos de un libro: código del libro, título, autor(es), temática y en caso de estar prestado, el socio que lo tiene actualmente en préstamo. -consultar la información sobre un socio: código del socio, nombre, dirección, teléfono y libros que actualmente tiene en préstamo así como la fecha del préstamo. -consultar los préstamos históricos de un socio: código del libro, fecha del préstamo y fecha de la devolución. -dar de alta, dar de baja y modificar los datos de un socio. -gestionar los préstamos: prestar un libro a un socio y registrar la devolución de un libro.

37 Ejercicio de prácticas. Algunas restricciones de integridad que se han detectado son: -el código del libro identifica unívocamente al libro. -el código del socio identifica unívocamente al socio. -el conjunto de temas utilizados para clasificar un libro son: física, electricidad, mecánica y óptica. -la fecha de devolución de un libro debe ser posterior a la fecha de préstamo. -el número total de libros que tiene prestados un socio es un dato derivado que será mantenido automáticamente por el sistema. Realizar las siguientes tareas: definir el esquema relacional de la base datos anterior (usando los conceptos del modelo relacional). definir la base de datos en el sistema ORACLE8. realizar actualizaciones y consultas sobre la base de datos creada.

38 Ejercicio de prácticas. Libro lcod título temática scod fecha_pre Autores lcod autor scod lcod fecha_pre fecha_dev Préstamo Socio scod nombre dirección tel libros* libros: atributo derivado

39 Ejercicio de prácticas. CREATE TABLE Socio (scod char(5) CONSTRAINT cp_socio PRIMARY KEY DEFERRABLE, nombre varchar2 (60), direccion varchar2 (50), tel varchar2 (20), libros number(3) DEFAULT 0); CREATE TABLE Libro (lcod char(5) CONSTRAINT cp_libro PRIMARY KEY DEFERRABLE, titulo varchar2 (100), tematica varchar2 (15) CONSTRAINT tematica_nulo NOT NULL DEFERRABLE, scod char(5) CONSTRAINT ca_libro_socio REFERENCES socio DEFERRABLE, fecha_pre date, CONSTRAINT c_tematica CHECK (tematica in ('física','electricidad','mecánica','óptica')) DEFERRABLE, CONSTRAINT c_prestamo CHECK((scod IS NULL and fecha_pre IS NULL) OR (scod IS NOT NULL and fecha_pre IS NOT NULL)) DEFERRABLE);

40 Ejercicio de prácticas. CREATE TABLE Autores (lcod char(5) CONSTRAINT ca_autor_libro REFERENCES libro(lcod) DEFERRABLE, autor varchar2(40), CONSTRAINT cp_autores PRIMARY KEY (lcod, autor) DEFERRABLE); CREATE TABLE Prestamo (scod char(5) CONSTRAINT ca_pre_socio REFERENCES socio(scod) DEFERRABLE CONSTRAINT scod_nulo NOT NULL DEFERRABLE, lcod char(5) CONSTRAINT ca_pre_libro REFERENCES libro(lcod) DEFERRABLE, fecha_pre date, fecha_dev date CONSTRAINT fecha_dev_nulo NOT NULL DEFERRABLE, CONSTRAINT cp_prestamo PRIMARY KEY (lcod,fecha_pre) DEFERRABLE, CONSTRAINT fechas CHECK (fecha_dev>fecha_pre) DEFERRABLE);

41 Ejercicio de prácticas. Actualizaciones sobre la BD: Dar de alta un socio: INSERT INTO Socio (scod, nombre, dirección, tel) VALUES ('s1', 'Juan Ruiz', 'Jesús 92', '123456') Dar de alta un libro: INSERT INTO Libro (lcod, título, tematica) VALUES ('l1', 'Dinámica', 'física') INSERT INTO Autores (lcod, autor) VALUES ('l1',, J. Holiday')

42 Ejercicio de prácticas. Actualizaciones sobre la BD: Prestar un libro: prestar el libro l1 al socio s1 UPDATE Libro SET scod= 's1', fecha_pre=sysdate WHERE lcod='l1'

43 Ejercicio de prácticas. Actualizaciones sobre la BD: Devolver un libro: devolver el libro l1 Inicio T UPDATE Libro SET scod= NULL, fecha_pre=null WHERE lcod='l1 INSERT INTO Prestamo (lcod, scod, fecha_pre, fecha_dev) VALUES (l1,...,..., SYSDATE) Fin T

44 Ejercicio de prácticas. Actualizaciones sobre la BD: Devolver un libro: devolver el libro l1 Inicio T UPDATE Libro SET scod= NULL, fecha_pre=null WHERE lcod='l1 INSERT INTO Prestamo (lcod, scod, fecha_pre, fecha_dev) VALUES (l1,...,..., SYSDATE) Fin T La inserción en Prestamo (para registrar el préstamo histórico) puede hacerse automáticamente con un disparador.

45 Ejercicio de prácticas. Diseño de los disparadores: INSERT Libro aplicar la ley de derivación del atributo libros en Socio y actualizar dicho atributo: UPDATE (scod) DELETE UPDATE (libros) Socio Evento Condición Acción REGLA DE ACTIVIDAD

46 Ejercicio de prácticas. Soluciones: - Solución 1: un disparador por cada eventocondición sobre Libro que signifique la ejecución de una acción distinta. - Solución 2: un único disparador que contemple todos los eventos relevantes sobre Libro.

47 Ejercicio de prácticas. CREATE OR REPLACE TRIGGER total_libros1 AFTER INSERT ON Libro FOR EACH ROW WHEN ( NOT (NEW.scod IS NULL) ) BEGIN UPDATE Socio SET libros=libros+1 WHERE scod= :NEW.scod; END; Solución 1: con varios disparadores

48 Ejercicio de prácticas. CREATE OR REPLACE TRIGGER total_libros2 AFTER DELETE ON Libro FOR EACH ROW WHEN ( NOT(OLD.scod IS NULL) ) BEGIN UPDATE Socio SET libros=libros-1 WHERE scod= :OLD.scod; END; Solución 1: con varios disparadores

49 Ejercicio de prácticas. CREATE OR REPLACE TRIGGER total_libros3 AFTER UPDATE OF scod ON Libro FOR EACH ROW WHEN ( (OLD.scod IS NULL) AND NOT(NEW.scod IS NULL) ) BEGIN END; -- préstamo de un libro UPDATE Socio SET libros=libros+1 WHERE scod= :NEW.scod; Solución 1: con varios disparadores

50 Ejercicio de prácticas. CREATE OR REPLACE TRIGGER total_libros4 AFTER UPDATE OF scod ON Libro FOR EACH ROW WHEN ( NOT(OLD.scod IS NULL) AND (NEW.scod IS NULL) ) BEGIN -- devolución de libro UPDATE Socio SET libros=libros-1 WHERE scod= :OLD.scod; END; Solución 1: con varios disparadores

51 Ejercicio de prácticas. CREATE OR REPLACE TRIGGER total_libros5 AFTER UPDATE OF scod ON Libro FOR EACH ROW WHEN ( (OLD.scod <> NEW.scod) AND NOT(OLD.scod IS NULL) BEGIN END; AND NOT(NEW.scod IS NULL) ) -- cambio de libro prestado UPDATE Socio SET libros=libros+1 WHERE scod= :NEW.scod; UPDATE Socio SET libros=libros-1 WHERE scod= :OLD.scod; Solución 1: con varios disparadores

52 Ejercicio de prácticas. CREATE OR REPLACE TRIGGER total_libros AFTER INSERT OR DELETE OR UPDATE OF scod ON Libro FOR EACH ROW BEGIN IF INSERTING AND NOT (:NEW.scod IS NULL) THEN --INSERT UPDATE socio SET libros=libros+1 WHERE scod= :NEW.scod; ELSE IF DELETING AND NOT(:OLD.scod IS NULL) THEN --DELETE UPDATE socio SET libros=libros-1 WHERE scod= :OLD.scod; ELSE Bloque del evento UPDATE END IF; END IF; END; Solución 2: con un único disparador

53 IF (:OLD.scod IS NULL) AND NOT(:NEW.scod IS NULL) Bloque del evento UPDATE THEN ELSE END IF; -- préstamo de un libro UPDATE Socio SET libros=libros+1 WHERE scod= :NEW.scod; IF NOT(:OLD.scod IS NULL) AND :NEW.scod IS NULL THEN -- devolución de libro UPDATE Socio SET libros=libros-1 WHERE scod= :OLD.scod; ELSE IF (:OLD.scod <> :NEW.scod) AND NOT(:OLD.scod IS NULL) AND NOT(:NEW.scod IS NULL) THEN -- cambio de libro prestado UPDATE Socio SET libros=libros+1 WHERE scod= :NEW.scod; UPDATE Socio SET libros=libros-1 WHERE scod= :OLD.scod; END IF; END IF;

Lenguaje SQL (2ª Parte) Definición de datos

Lenguaje SQL (2ª Parte) Definición de datos Lenguaje SQL (2ª Parte) Definición de datos Bases de Datos Práctica 3 DSIC - UPV Facultad de Informática Escuela Técnica Superior de Informática Aplicada Objetivos Sintaxis del Lenguaje de Definición de

Más detalles

BASES DE DATOS 2º CURSO E.U.I. / F.I. Práctica 4: Estudio del SGBD ORACLE8 1 Gestión de transacciones 22 DE MAYO DE 2000

BASES DE DATOS 2º CURSO E.U.I. / F.I. Práctica 4: Estudio del SGBD ORACLE8 1 Gestión de transacciones 22 DE MAYO DE 2000 BASES DE DATOS 2º CURSO E.U.I. / F.I. Práctica 4: Estudio del SGBD ORACLE8 1 Gestión de transacciones 22 DE MAYO DE 2000 1 Se recomienda que para la realización de esta práctica se revisen los conceptos

Más detalles

Práctica 3: El lenguaje SQL (1ª parte). (4ª sesión)

Práctica 3: El lenguaje SQL (1ª parte). (4ª sesión) Práctica 3: El lenguaje SQL (1ª parte). (4ª sesión) Programa de prácticas: Práctica 1. Introducción al uso de una BD relacional (ACCESS). Práctica 2. Representación de la realidad en el modelo relacional

Más detalles

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

Solución Ejercicio Prac. 3b (Esquema).

Solución Ejercicio Prac. 3b (Esquema). Solución Ejercicio Prac. 3b (Esquema). LIBRO(codlib, título, autores, temática, totalpres) CP= {codlib} VNN= {título} PRÉSTAMO(codlib, codsoc, fechapres, fechadev) CP= {codlib, fechapres} VNN= {codsoc}

Más detalles

Práctica 3: El lenguaje SQL (1ª parte). Programa de prácticas: (5ª sesión). Lenguaje SQL: manipulación de datos (consulta y actualización):

Práctica 3: El lenguaje SQL (1ª parte). Programa de prácticas: (5ª sesión). Lenguaje SQL: manipulación de datos (consulta y actualización): Programa de prácticas: Práctica 1. Introducción al uso de una BD relacional (ACCESS). Práctica 3: El lenguaje SQL (1ª parte). Práctica 2. Representación de la realidad en el modelo relacional de datos.

Más detalles

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 DISPARADORES EN SQL:1999 DISPARADORES EN SQL Modelos Avanzados de Bases de Datos Un (trigger) es un procedimiento especial que se ejecuta en respuesta a un evento específico. Ej. Al aumentar el sueldo

Más detalles

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers Triggers Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla octubre 2011 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir Consultar

Más detalles

Solució Exercici Prac. 3b (Esquema).

Solució Exercici Prac. 3b (Esquema). Solució Exercici Prac. 3b (Esquema). LIBRO(codlib, título, autores, temática, totalpres) CP= {codlib} VNN= {título} PRÉSTAMO(codlib, codsoc, fechapres, fechadev) CP= {codlib, fechapres} VNN= {codsoc} CAj=

Más detalles

Diseño de bases de datos

Diseño de bases de datos Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes sn. 41012 Sevilla TlfFax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es Diseño

Más detalles

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL. 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

Tema II: El modelo relacional de datos. (2.2)

Tema II: El modelo relacional de datos. (2.2) Tema II: El modelo relacional de datos. (2.2) El modelo relacional de datos. Objetivos: conocer las estructuras de datos del modelo: la tupla y la relación. conocer básicamente la forma de modelar la realidad

Más detalles

Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle Triggers en Oracle Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla noviembre 2012 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir

Más detalles

SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC

SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC INTRODUCCIÓN Los subprogramas son otro tipo de bloques PL/SQL Se diferencian de los bloques anónimos porque

Más detalles

Disparadores en ORACLE

Disparadores en ORACLE Diseño de Bases de Datos y Seguridad de la Información PL/SQL-1 PL/SQL: lenguaje de programación estructurado en bloques Bloques: unidad mínima en PL/SQL Soportan DML y DDL Anónimos / Con nombre Disparadores

Más detalles

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008 Base de Datos I SQL PROCEDURAL Triggers y Stored Procedures Ing. Gustavo A. Correa Reina UNCPBA 2008 SQL Procedural Posibilita el uso de código procedural conjuntamente con sentencias SQL que son almacenadas

Más detalles

Tema 1. Bases de datos activas

Tema 1. Bases de datos activas Tema 1. Bases de datos activas Diseño de Sistemas de Bases de Datos Merche Marqués 18 de marzo de 2002 Índice 1. Introducción 1 2. El modelo evento condición acción 1 2.1. Definición y uso de disparadores

Más detalles

Bibliografía Oracle Database Concepts - 10g Release 2 (10.2) (Octubre 2005)

Bibliografía Oracle Database Concepts - 10g Release 2 (10.2) (Octubre 2005) Disparadores en ORACLE Bibliografía Oracle Database Concepts - 10g Release 2 (10.2) (Octubre 2005) Oracle Database Application Developer's Guide Fundamentals 10g Release 2 (10.2) (Noviembre 2005) Óscar

Más detalles

PRÁCTICA III. DISPARADORES EN SQL (II)

PRÁCTICA III. DISPARADORES EN SQL (II) PRÁCTICA III. DISPARADORES EN SQL (II) MODELOS AVANZADOS DE BASES DE DATOS CURSO 2000/2001 Objetivo Conocer mejor los disparadores en SQL. Se verá uno de los principales inconvenientes que se presentan

Más detalles

DISPARADORES EN SQL SINTAXIS GENERAL DE UN DISPARADOR EN SQL:2003

DISPARADORES EN SQL SINTAXIS GENERAL DE UN DISPARADOR EN SQL:2003 DISPARADORES EN SQL Modelos Avanzados de Bases de Datos Curso 2004/2005 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:2003 CREATE [OR REPLACE] TRIGGER nombre [temporalidad del evento] [granularidad del evento]

Más detalles

Tema 1. Bases de datos activas

Tema 1. Bases de datos activas 18 de marzo de 2002 1 1. Introducción 2. El modelo evento-condición-acción Definición y uso de disparadores en Oracle Características de las reglas activas 3. Propiedades de las reglas activas 4. Aplicaciones

Más detalles

Tema II: El modelo relacional de datos Objetivos:

Tema II: El modelo relacional de datos Objetivos: Tema II: El Lenguaje Estándar SQL (2.5) El modelo relacional de datos Objetivos: conocer las estructuras de datos del modelo: la tupla y la relación conocer básicamente la forma de modelar la realidad

Más detalles

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo: TEMA 7.- EL ESTANDAR SQL. El Sublenguaje de Manipulación. El Sublenguaje de Definición. El Sublenguaje de Control. El Sublenguaje Huésped. 1. El Sublenguaje de Manipulación. (Se verá en la clase de problemas)

Más detalles

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones Práctica 4: Estudio del SGBD Oracle 10 El SGBD Oracle 10 Objetivos estudio de la gestión de transacciones. estudio de las estrategias para la comprobación de la integridad. estudio de las estrategias para

Más detalles

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid Índice V.1 Introducción V.1 SQL como Lenguaje de V.1.1 Definición del esquema V.1.2 Evolución del esquema V.2 SQL como Lenguaje de Manipulación

Más detalles

Un ejemplo teórico de trigger podría ser éste:

Un ejemplo teórico de trigger podría ser éste: 9. TRIGGERS EN LA BASE DE DATOS Un trigger (disparador sería la traducción técnica) es un bloque PLSQL que se ejecuta implícitamente cuando ocurre un evento y pueden ser de base de datos o de aplicación.

Más detalles

Integridad en sistemas de bases de datos relacionales

Integridad en sistemas de bases de datos relacionales Integridad en sistemas de bases de datos relacionales Competencias específicas a adquirir Asegurar la integridad de los datos mediante la aplicación de los mecanismos soportados por los SGBDs. Identificar

Más detalles

Triggers en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia

Triggers en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia Triggers en PL/SQL Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia Triggers (Disparadores) Los triggers son bloques PL/SQL que se ejecutan de manera implícita cuando se están manipulando

Más detalles

Haga clic para PostgreS cambiar el estilo

Haga clic para PostgreS cambiar el estilo Taller # 1 Uso y Manejo l Sistema Gestor Bases Datos PostgreSQL Luis García Computación ldgarc@gmail.com Contenido - Creación Tablas (Create Table...) ( Check Foreign Keys ) - Inserción Datos (Insert Into...)

Más detalles

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui PL/SQL - Oracle PL/SQL (Procedural Language/SQL) es una extensión de SQL, que agrega ciertas construcciones propias de lenguajes procedimentales, obteniendose como resultado un lenguaje estructural mas

Más detalles

Los disparadores pueden ser utilizados para cumplir con alguna de las siguientes tareas:

Los disparadores pueden ser utilizados para cumplir con alguna de las siguientes tareas: Guía de Disparadores Un disparador (o trigger) es un procedimiento almacenado asociado a una tabla que se ejecuta al realizar una operación básica (INSERT, un DELETE o un UPDATE) sobre ésta. La operación

Más detalles

RESTRICCIONES DE DOMINIOS

RESTRICCIONES DE DOMINIOS RESTRICCIONES DE DOMINIOS - Cargo del personal de la inmobiliaria: create domain cargo_personal as character20 check value in Venta, Alquiler, Gerencial - Categoría del barrio: create domain categoría

Más detalles

Restricciones de Integridad

Restricciones de Integridad Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.

Más detalles

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD Ligaduras de Integridad y Restricciones sobre la BD Outline 1 Introducción 2 Ligaduras de Dominio 3 Llaves Primarias 4 Llaves de Unicidad 5 Integridad Referencial Introducción y Motivación Por qué se deben

Más detalles

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1 UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEM LABORATORIO DE BES DE DATOS 1 Prof. Marco Aedo Práctica de Laboratorio Nº 6 I. OBJETIVOS

Más detalles

Oracle PL/SQL. Programa de Estudio.

Oracle PL/SQL. Programa de Estudio. Oracle PL/SQL Programa de Estudio Oracle PL/SQL El alumno egresara del mismo con los conocimientos y destrezas necesarias para desempeñarse como desarrollador Oracle PL/SQL además de contar con los conocimientos

Más detalles

Laboratorio Informix. Stored Procedures Triggers

Laboratorio Informix. Stored Procedures Triggers Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

Lenguaje para descripción de datos

Lenguaje para descripción de datos Amparo López Gaona tación Fac. Ciencias, UNAM Mayo 2012 Definición de Datos El lenguaje para definición de datos permite especificar: Esquema de cada relación. El dominio de cada atributo. Restricciones

Más detalles

LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO

LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO EXAMEN FINAL DE PRÁCTICAS DE BASES DE DATOS 18 de junio de 2003 Nombre: LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO

Más detalles

Laboratorios de BASES DE DATOS. (I.T. Informática)

Laboratorios de BASES DE DATOS. (I.T. Informática) Laboratorios de BASES DE DATOS. (I.T. Informática) Gestor de bases de datos ORACLE M. Martínez, C. Hernández, C. Cuesta Dpto. de Informática (U. Valladolid) Base de datos de ejemplo EMPLEADOS (NOMBRE,

Más detalles

Examen de Bases de datos Grado de Ingeniería en Informática 3 de septiembre, 2015

Examen de Bases de datos Grado de Ingeniería en Informática 3 de septiembre, 2015 Nombre: Examen de Bases de datos Grado de Ingeniería en Informática 3 de septiembre, 2015 1 (3 puntos Un parque de atracciones desea implementar una base de datos relacional que cumpla los siguientes requisitos:

Más detalles

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

Uso de Disparadores. Miguel Angel Garduño Cordova Isaac Méndez Hernández

Uso de Disparadores. Miguel Angel Garduño Cordova Isaac Méndez Hernández Reporte Uso de Disparadores Catedrático: Alumnos: Ing. María Elena Reyes Castellanos Miguel Angel Garduño Cordova Isaac Méndez Hernández Índice General Índice de tablas 2 Introducción 4 Objetivo 4 Desarrollo

Más detalles

Lenguaje SQL 1ª Parte: Manipulación de Bases de Datos

Lenguaje SQL 1ª Parte: Manipulación de Bases de Datos 1 Práctica 3: Lenguaje SQL 1ª Parte: Manipulación de Bases de Datos Silvia Abrahão - DSIC curso 2010/2011 Objetivos Presentar la sintaxis del lenguaje SQL (sólo del Lenguaje de Manipulación). Ver algunos

Más detalles

Procedimientos, Funciones, Trigger y Cursores en ORACLE

Procedimientos, Funciones, Trigger y Cursores en ORACLE Procedimientos, Funciones, Trigger y Cursores en ORACLE PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que pueden ser llamados usando el nombre que se

Más detalles

Procedimientos almacenados en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia

Procedimientos almacenados en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia Procedimientos almacenados en PL/SQL Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia Ventajas... Los bloques se pueden almacenar en forma permanente mediante subprogramas (funciones

Más detalles

Programación SQL. Lucio Salgado Diciembre 2008

Programación SQL. Lucio Salgado Diciembre 2008 Programación SQL Lucio Salgado Diciembre 2008 1 Gestionadores de Bases de Datos (DBMS) Es el software que permite administrar bases de datos, a través de ella el usuario puede usar los datos con mucha

Más detalles

PL/PGSQL. Extensión "procedural" de SQL

PL/PGSQL. Extensión procedural de SQL PL/PGSQL Extensión "procedural" de SQL Pero primero triggers DROP TABLE producto cascade; CREATE TABLE producto( id int PRIMARY KEY, vendido timestamp); DROP FUNCTION modificacion() cascade; CREATE FUNCTION

Más detalles

GBD Diseño físico de DDBB

GBD Diseño físico de DDBB GBD Diseño físico de DDBB Mª Carmen Gabarrón Manual SQL de Oracle 10g http://download.oracle.com/docs/cd/b19306_01/server.102/b14200/index.htm SQL SQL es el lenguaje de consulta universal para bases de

Más detalles

Examen de Bases de datos Grado de Ingeniería en Informática, Febrero, 2015

Examen de Bases de datos Grado de Ingeniería en Informática, Febrero, 2015 Examen de Bases de datos Grado de Ingeniería en Informática, Febrero, 2015 1) (3 puntos) El museo de la ciudad necesita gestionar las visitas guiadas de grupos y para ello se debe implementar una base

Más detalles

Gestión de nóminas diciembre 2011

Gestión de nóminas diciembre 2011 Contexto del problema Una empresa ha decidido desarrollar un sistema de información cuyo objetivo principal es la gestión de las nóminas de sus empleados. Iniciado el estudio del dominio del problema,

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

Grupo Kybele, http://www.kybele.es/ Pág. 1

Grupo Kybele, http://www.kybele.es/ Pág. 1 Bases de Datos APUNTES PARA EL MANEJO DE SQL*Plus Para cualquier consulta a la sintaxis de las órdenes SQL o SQL*PLUS puede consultarse cualquier libro de ORACLE, o los manuales gratuitos en pdf o en línea

Más detalles

Otros objetos de Base de Datos

Otros objetos de Base de Datos Maestría en Bioinformática Bases de Datos y Sistemas de Información Otros objetos de Base de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Secuencias Triggers Vistas Código almacenado

Más detalles

Checks, Triggers y Excepciones en InterBase: validando desde la base de datos

Checks, Triggers y Excepciones en InterBase: validando desde la base de datos Checks, Triggers y Excepciones en InterBase: validando desde la base de datos Por Alfonso Ricaño Bringas InterBase nos permite validar los valores que ingresan a los campos, mediante las restricciones

Más detalles

SQLModificaciones a la BD

SQLModificaciones a la BD SQL Modificaciones a la BD Amparo López Gaona tación Mayo 2012 Modificación de Datos Las instrucciones de SQL para modificación de los datos en una BD se clasifican en tres tipos: Insertar tuplas en una

Más detalles

Conceptos básicos de programación con PL/SQL

Conceptos básicos de programación con PL/SQL Conceptos básicos de programación con PL/SQL 1. Bloques PL/SQL 2. Tipos de Datos Estructurados 3. Funciones y Procedimientos 4. Paquetes 5. Disparadores de Base de Datos 1. Bloques PL/SQL 1.1 Introducción

Más detalles

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa) GUIA DE LABORATORIO N 9 B (000Webhost Php- Para desarrollar en casa) Objetivo: Crear servicios web utilizando la arquitectura REST, para obtener información desde un servidor web gratuito que se conecta

Más detalles

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ] SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje

Más detalles

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios Protección Integridad y Seguridad Las Restricciones de Integridad aseguran que las modificaciones realizadas por usuarios autorizados no provocan perdidas de Consistencia Semántica El Control de Acceso

Más detalles

Bases de Datos I. Cursada 2008. Clase 3: Restricciones de Integridad (de tablas y generales)

Bases de Datos I. Cursada 2008. Clase 3: Restricciones de Integridad (de tablas y generales) Bases de Datos I Cursada 2008 Clase 3: Restricciones de Integridad (de tablas y generales) Facultad de Ciencias Exactas Universidad Nac. Centro de la Pcia. de Bs. As. RESTRICCIONES DE INTEGRIDAD (RI) Una

Más detalles

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 SQL + Procedural La mayoría de los DBMS actuales permiten extensiones de SQL para la creación de bloques

Más detalles

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127 I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Tercero Requisitos Duración Horas Semana : 06 horas Versión : v.0110 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería

Más detalles

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL.

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL Estructura del código PL/SQL. Bloques: El Lenguaje PL/SQL sentencias PL/SQL Los ficheros terminan con el caracter

Más detalles

Oracle Básico PL/SQL

Oracle Básico PL/SQL Oracle Básico PL/SQL Creación de un Esquema de Base de Datos El objetivo de este ejercicio es la ejecución de sentencia SQL de tipo DDL. Contenido Caso a Desarrollar...2 Modelo Lógico... 2 Modelo Físico...

Más detalles

Tema II: El modelo relacional de datos (2.1) El modelo relacional de datos.

Tema II: El modelo relacional de datos (2.1) El modelo relacional de datos. Tema II: El modelo relacional de datos (2.1) El modelo relacional de datos. Objetivos: conocer las estructuras de datos del modelo: la tupla y la relación. conocer básicamente la forma de modelar la realidad

Más detalles

Temario. Índices simples Árboles B Hashing

Temario. Índices simples Árboles B Hashing Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases

Más detalles

EXAMEN: BASES DE DATOS 4º Ingeniería Informática (29 de enero de 2009)

EXAMEN: BASES DE DATOS 4º Ingeniería Informática (29 de enero de 2009) APELLIDOS: NOMBRE: DNI: EXAMEN: BASES DE DATOS 4º Ingeniería Informática (29 de enero de 2009) MAÑANA TARDE Autorizo la publicación de la nota del examen junto a mi número de matrícula, tanto en la Web

Más detalles

PL/SQL. - La unidad de programación utilizada por PL/SQL es el bloque. - Todos los programas de PL/SQL están conformados por bloques.

PL/SQL. - La unidad de programación utilizada por PL/SQL es el bloque. - Todos los programas de PL/SQL están conformados por bloques. PL/SQL - Disponible en http://www.lsi.us.es/docencia/get.php?id=5784 - Bibliografía:.Principios de Bases de Datos. Serrano, Sara Lana, Madrid E.U.I.T de Telecomunicación..Gestión de Bases de Datos. Framiñan

Más detalles

Disparadores en Oracle (Ejemplos Prácticos)

Disparadores en Oracle (Ejemplos Prácticos) Asignatura: Base de Datos Titulación: Ingeniería Informática Curso: 4º Disparadores en Oracle (Ejemplos Prácticos) Nota: Recuerde guardar los scripts, utilice para ello un editor de texto. Triggers DML

Más detalles

Acceso a bases de datos MySQL con PHP

Acceso a bases de datos MySQL con PHP GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre

Más detalles

Bases de datos relacionales y el modelo entidad-relación

Bases de datos relacionales y el modelo entidad-relación Bases de datos relacionales y el modelo entidad-relación Qué es una base de datos relacional? El sistema gestor de bases de datos El modelo entidad-relación entidad, atributos y elementos (tablas, columnas

Más detalles

Bases de Datos Curso Grado en Ingeniería del Software Examen Junio. Nombre:

Bases de Datos Curso Grado en Ingeniería del Software Examen Junio. Nombre: Bases de Datos Curso 2015-2016 Grado en Ingeniería del Software Examen Junio Nombre: Se debe entregar esta hoja 1) (4 puntos) A partir de la información sobre la BD que se describe más abajo, se pide:

Más detalles

Fundamentos de Oracle

Fundamentos de Oracle Fundamentos de Oracle Introducción Este curso de 40 horas de duración ofrece a los asistentes los conocimientos necesarios para trabajar con el servidor de bases de datos empresarial Oracle 10g, centrándose

Más detalles

SQL. Orígenes y Evolución

SQL. Orígenes y Evolución SQL 1 SQL. Orígenes y Evolución 2 SQL: Estándar oficial 3 Funciones de SQL DDL Data Definition Language Creación n de estructuras de la base de datos Integridad de los datos DML Data Manipulation Language

Más detalles

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado

Más detalles

Oracle 12c DISEÑO Y PROGRAMACIÓN

Oracle 12c DISEÑO Y PROGRAMACIÓN Oracle 12c Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo

Más detalles

Bases de Datos / Elementos de Bases de Datos 2011. Que es un Stored Procedure? Stored Procedures: Ventajas

Bases de Datos / Elementos de Bases de Datos 2011. Que es un Stored Procedure? Stored Procedures: Ventajas Bases de Datos / Elementos de Bases de Datos 2011 Stored Procedures, Triggers y Transacciones en MySQL Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1 Que es un Stored

Más detalles

Unidad. Lenguaje SQL. (Structured Query Language)

Unidad. Lenguaje SQL. (Structured Query Language) Unidad Lenguaje SQL (Structured Query Language) 1 SQL Definición DDL Consulta y Actualización DML Create Alter Drop Select Insert Update Delete 2 SQL DDL CREATE TABLE nombre_tabla (nombre_columna tipo_dato/dominio

Más detalles

6. Integridad en Sistemas de Bases de Datos Relacionales

6. Integridad en Sistemas de Bases de Datos Relacionales 6. Integridad en Sistemas de Bases de Datos Relacionales Objetivos Apreciar la necesidad de garantizar la integridad o corrección de la información almacenada en una base de datos Distinguir e identificar

Más detalles

LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2)

LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2) LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2) N O T A S D E L A M A T E R I A B A S E S D E D A T O S I L I C E N C I A T U R A E N C I E N C I A S D E L A C O M P U T A C I Ó N U N I V E R S I D A D D E

Más detalles

Tema II: El modelo relacional de datos. (2.4)

Tema II: El modelo relacional de datos. (2.4) Tema II: El modelo relacional de datos. (2.4) El modelo relacional de datos. Objetivos: conocer las estructuras de datos del modelo: la tupla y la relación. conocer básicamente la forma de modelar la realidad

Más detalles

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DML. Ing. Alfonso Vicente, PMP

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DML. Ing. Alfonso Vicente, PMP Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: DML Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda DML Sentencias Modificando la instancia Agenda DML Sentencias

Más detalles

INST Estándar Codificación SQL y PL-SQL

INST Estándar Codificación SQL y PL-SQL INST Estándar Codificación SQL y PL-SQL Convenciones de nombres y estándares de codificación para SQL y PL/SQL Objetivo: Establecer pautas para estandarizar los nombres de objetos Oracle y la confección

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

FIREBIRD: SQL PROCEDIMENTAL (PSQL)

FIREBIRD: SQL PROCEDIMENTAL (PSQL) FIREBIRD: SQL PROCEDIMENTAL (PSQL) Vicente Tejero Trueba Pag 1 IES Pedro Espinosa FIREBIRD: SQL PROCEDIMENTAL (PSQL) 1.- INTRODUCCION...1 2.- EXTENSIONES DEL LENGUAJE...2 2.1.- Terminadores...2 2.2.- Variables...3

Más detalles

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1 SQL (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1 Crear una Tabla (Esquema de Relación) (1) (Cascadas) postgres=# CREATE TABLE departamento ( codigo

Más detalles

2.5.- El lenguaje estándar SQL

2.5.- El lenguaje estándar SQL 25- El lenguaje estándar SQL El SQL es un lenguaje estándar de definición y manipulación (y consulta) de bases de datos relacionales El SQL estándar incluye: Características del Álgebra Relacional Características

Más detalles

abacformacio@abacformacio.com 1

abacformacio@abacformacio.com 1 Cu Oracle 10gg Estudia el servidor de bases de datos Oracle 10g desde el punto de vista de un diseñador y programador de bases de datos, prestando atención a los objetos que puede crear, como tablas, consultas

Más detalles

Conceptos básicos de programación con PL/SQL

Conceptos básicos de programación con PL/SQL Conceptos básicos de programación con PL/SQL 1. Bloques PL/SQL 2. Tipos de Datos Estructurados 3. Funciones y Procedimientos 4. Paquetes 5. Métodos asociados a tipos de objetos 6. Disparadores de Base

Más detalles

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos. SGBD y SQL Access SQL: DDL y DML Ejercicio Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos. Necesita almacenar información acerca de sus empleados y los proyectos en

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE IGNATURA NOMBRE DE LA IGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 5 LABORATORIO DE NOMBRE DE LA PRÁCTICA

Más detalles

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc). LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion

Más detalles

Práctica Consultas SQL DML

Práctica Consultas SQL DML Práctica Consultas SQL DML Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2012 Objetivos Objetivos de la práctica Crear

Más detalles

LENGUAJE SQL. Bárbula, Febrero de 2007. Historia y Definición

LENGUAJE SQL. Bárbula, Febrero de 2007. Historia y Definición LENGUAJE Integrantes: Ceci Vanessa Paredes Oswaldo Rodríguez Aury Bárbula, Febrero de 2007 : Es una herramienta para organizar, gestionar y recuperar datos almacenados en una base de datos. funciona con

Más detalles

Bases de Datos / Elementos de Bases de Datos 2015

Bases de Datos / Elementos de Bases de Datos 2015 Bases de Datos / Elementos de Bases de Datos 2015 Stored Procedures, Triggers y Transacciones en MySQL Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1 Stored Procedures

Más detalles

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 Creación de la base de Datos Pulsamos F5 para Actualizar, y una vez posicionados en nuestra base de datos,se crean los scripts que seran soportados por el

Más detalles

ÍNDICE INTRODUCCIÓN...13

ÍNDICE INTRODUCCIÓN...13 ÍNDICE INTRODUCCIÓN...13 CAPÍTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL...17 1.1 INTRODUCCIÓN AL MODELO RELACIONAL...17 1.2 RELACIONES...19 1.2.1 Definición formal de relación...21 1.2.2 Propiedades y

Más detalles

Bases de Datos: Structured Query Language (SQL)

Bases de Datos: Structured Query Language (SQL) Structured Query Language (SQL): Introducción Bases de Datos: Structured Query Language (SQL) Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Más detalles

Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012

Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012 Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012 Problema Enunciado: Sean las siguientes tablas de una base de datos Empleado (ndiemp, nomemp, sexemp, fecnac,

Más detalles