Desarrollo y explotación de aplicaciones empresariales con base de datos Oracle: Julio de 2004

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

Download "Desarrollo y explotación de aplicaciones empresariales con base de datos Oracle: 1835.090 Julio de 2004"

Transcripción

1 Desarrollo y explotación de aplicaciones empresariales con base de datos Oracle: Julio de

2 Presentación del curso 2

3 Presentación Director Luis Vinuesa Martínez Profesores Alberto Manuel Fernández Álvarez Ángel Lombas Fernández Luis Vinuesa Martínez 3

4 Presentación Asistencia obligatoria (80%) Evaluación Trabajo individual (propuesto por los profesores o por el alumno, con aprobación por parte de los profesores) Mail del curso curso_oracle90@terra.es 4

5 Presentación Calendario Entrega de prácticas Plazos Elección de práctica Calificaciones Software 5

6 Presentación Directorio de trabajo Cread un directorio en el ordenador SOLO TRABAJAR EN ESTE DIRECTORIO. Página del curso 6

7 Introducción 7

8 Introducción Bases de datos relacionales Conceptos Evolución Utilidad Situación actual SQL 8

9 Arquitectura Oracle 9

10 Arquitectura 10

11 Arquitectura Instancias Schema User/Password SQLNET o NET8 SQLNET LISTENER 11

12 Arquitectura - memoria SGA (Shared Global Area) Database Buffer/caché de buffer de base de datos Redo-log-buffer /caché de rehacer Shared Pool / área de agrupamiento compartido Dictionary cache /caché de diccionario Library cache (caché de SQL) PGA (Program/Process Global Area) 12

13 Arquitectura - procesos DBWR (database writer) LGWR (log writer) SMON (system monitor) PMON (process monitor) ARCH (archiver) CKPT (checkpoint process) 13

14 Arquitectura organización lógica Base de datos Tablespace (Espacio de tablas) Segmentos Extensiones (Extent) 14

15 Arquitectura Ficheros Datafiles/archivos de base de datos Bloques [Rowid] Control Files/archivos de control Redo-log Files/ficheros de rehacer Archive Log PFILE y SPFILE 15

16 Arquitectura - transacciones Commit Rollback DML explícito DDL implícito 16

17 Arquitectura seguridad Usuarios Privilegios De sistema De objetos Roles Perfiles 17

18 Arquitectura - objetos Tablas Vistas Sinónimos Índices Clusters Database links Secuencias (sequence) Pseudocolumnas 18

19 Administración 19

20 Administración Servicios de Oracle Explicación de la arquitectura OEM 20

21 Arquitectura Práctica: Instalación del cliente Instalar: SQL+, oci, jdbc, odbc Configuración del sqlnet para la conexión a la base de datos (ficheros sqlnet.ora y tnsnames.ora) Conexión con el SQL+ Variable de entorno tns_admin (para el sqlnet) Edición del registro de Windows 21

22 Administración Práctica: OEM, creación de usuario Crear usuario de la BBDD con el role DBA (curso90/curso90) Crear usuario de oem con permiso de superadministrador (oem90/oem90) Entrar al oem con el usuario recién creado Crear un nuevo usuario (individual para cada uno, permisos dba) Conectarse con ese nuevo usuario 22

23 Administracion Práctica: OEM, uso (normalmente 3339) Descubrir nodos DBA studio: Creación de tablespaces Creación de datafiles Creación de usuarios 23

24 Administración Práctica: configuración de una instancia Modificación del init%.ora (instance manager) NLS_DATE_FORMAT = DD/MM/YYYY NLS_LANGUAGE = SPANISH NLS_TERRITORY = SPAIN UTL_FILE_DIR = * REMOTE_DEPENDENCIES_MODE = SIGNATURE/TIMESTAMP 24

25 Administración Práctica: Creación de nueva instancia Crear una nueva instancia Contraseñas estándar Comprobar el listener.ora Ver la estructura de directorios creada: oracle\admin y oracle\oradata y \database Configurar los clientes (sqlnet) para que se conecten a ella Configurar el oem para que se conecte a ella (primero rearrancar el Agent) 25

26 Administración Práctica Export Import SQL Loader 26

27 SQL Explotación de la Información 27

28 SQL Manejo del SQL+ Connect Todas las sentencias acaban en ; Ed Ejecución de la ultima sentencia Manejo del ratón Desc Variables y parámetros 28

29 SQL Commit/Rollback Tabla dual Vista tabs Sysdate Valores nulos (null y NVL) Uso de comodines (% y _ ) TO_CHAR / TO_DATE / TO_NUMBER DECODE 29

30 SQL Tablas de ejemplo Tpais Tprovincia Tciudad Tcalle Tdomicilio Tpersona Tpersona_domicilio 30

31 SQL Uso de alias En las columnas En las tablas 31

32 SQL Consultas Order by Operadores Funciones Subconsultas Join Selfjoin Outer Join Group By Connect by Conjuntos 32

33 SQL ORDER BY La ordenación puede ser de distintos tipos, y depende de NLS_SORT ASC, DESC 33

34 SQL Operadores Precedencia Aritméticos (+,-,*,/) Concatenación ( ) Comparación(=,<>,>,<,IN, SOME, LIKE, BETWEEN, IS NULL...) Lógicos (AND, OR, NOT) Conjuntos (UNION [ALL], INTERSECT, MINUS) 34

35 SQL Funciones De un valor Numéricas De caracter De fecha De conversión Otras Agregación 35

36 SQL - subconsultas OPCIÓN A SELECT deptno FROM emp WHERE empno=7369; (resultado 20) SELECT empno FROM emp WHERE deptno=20; OPCIÓN B SELECT empno FROM emp WHERE deptno=(select deptno FROM emp WHERE empno=7369); 36

37 SQL - subconsultas La subconsulta puede aparecer en la cláusula WHERE y en la cláusula FROM Pueden devolver un valor único o una lista de valores. SELECT ename,deptno FROM emp WHERE (sal,deptno) IN (SELECT MAX(sal),deptno FROM emp GROUP BY deptno); 37

38 SQL - Joins Join Selfjoin Outer join 38

39 SQL - Joins SELECT e1.empno FROM emp e1 WHERE e1.deptno=(select deptno FROM emp WHERE empno=7369) SELECT e1.empno FROM emp e1, emp e2 WHERE e1.deptno=e2.deptno AND e2.empno=

40 SQL Group by Agrupa filas y devuelve información sumariada de cada grupo de filas. Necesaria cuando se desea recuperar valores de funciones de grupo (MAX; MIN, SUM, etc.) junto a valores no de grupo. 40

41 SQL GROUP BY SELECT deptno, MIN(sal), MAX (sal) FROM emp WHERE job = 'CLERK' GROUP BY deptno; SELECT deptno, MIN(sal), MAX (sal) FROM emp WHERE job = 'CLERK' GROUP BY deptno HAVING MIN(sal) < 1000; 41

42 SQL CONNECT BY Permite realizar consultas jerárquicas (árbol genealógico) SELECT LPAD(' ',6*(LEVEL-1)) ename nombre FROM emp START WITH job='president' CONNECT BY PRIOR empno = mgr; 42

43 SQL - Ejercicios Calles de Oviedo y de Gijón que empiecen por A o por C 43

44 SQL - Ejercicios Calles de Oviedo y de Gijón que empiecen por A o por C SELECT des_calle,des_ciudad FROM tcalle ca, tciudad ci WHERE ca.cod_pais=ci.cod_pais AND ca.cod_provincia=ci.cod_provincia AND ca.cod_ciudad=ci.cod_ciudad AND ca.cod_pais=3 --España AND ca.cod_provincia=2 -- Asturias AND (UPPER(ca.des_calle) LIKE 'A%' OR UPPER(ca.des_calle) LIKE 'C%') AND (UPPER(des_ciudad) LIKE '%OVIEDO' OR UPPER(des_ciudad) LIKE '%GIJON') 44

45 SQL - Ejercicios Personas con más de un domicilio 45

46 SQL - Ejercicios Personas con más de un domicilio SELECT DISTINCT(p.dni) FROM tpersona_domicilio p WHERE 1<(SELECT COUNT(*) FROM tpersona_domicilio p2 WHERE p.dni=p2.dni) SELECT p2.dni FROM tpersona_domicilio p2 GROUP BY p2.dni HAVING COUNT(*)>1 46

47 SQL - Ejercicios Nombre de ciudad, código, código de provincia y % total del calles que tiene esa ciudad sobre el total de calles de ciudades que tengan en su nombre la palabra AVILES, en España (cod_pais=3) 47

48 SQL - Ejercicios SELECT c.des_ciudad, c.cod_ciudad, c.cod_provincia,a.num_calles/b.total_calles "%calles" FROM (SELECT ca.cod_pais,ca.cod_ciudad,ca.cod_provincia, COUNT(*) num_calles FROM tcalle ca, tciudad ci WHERE ca.cod_pais=3 --España AND ca.cod_pais=ci.cod_pais AND ca.cod_provincia=ci.cod_provincia AND ca.cod_ciudad=ci.cod_ciudad AND des_ciudad LIKE '%AVILES' GROUP BY ca.cod_pais,ca.cod_ciudad,ca.cod_provincia) a, (SELECT COUNT(*) total_calles FROM tcalle ca,tciudad ci WHERE ca.cod_pais=3 /*España*/ AND ca.cod_pais=ci.cod_pais AND ca.cod_provincia=ci.cod_provincia AND ca.cod_ciudad=ci.cod_ciudad AND des_ciudad LIKE '%AVILES') b, tciudad c WHERE c.cod_pais=a.cod_pais AND c.cod_provincia=a.cod_provincia AND c.cod_ciudad=a.cod_ciudad 48

49 SQL - Ejercicios Obtener el nombre y código de la calle y la ciudad a la que pertenece que tiene el nombre más largo dentro de cada ciudad 49

50 SQL - Ejercicios SELECT des_calle, cod_calle, ca.cod_pais, ca.cod_provincia, ca.cod_ciudad FROM tcalle ca,( SELECT cod_pais, cod_provincia, cod_ciudad, MAX(LENGTH(des_calle)) longitud FROM tcalle GROUP BY cod_pais, cod_provincia, cod_ciudad) b WHERE b.cod_pais=ca.cod_pais AND b.cod_provincia=ca.cod_provincia AND b.cod_ciudad=ca.cod_ciudad AND LENGTH(des_calle)= longitud ORDER BY cod_pais, cod_provincia, cod_ciudad, des_calle; 50

51 SQL - Ejercicios Departamento con mayor número de empleados y el número de ellos 51

52 SQL - Ejercicios Departamento con mayor número de empleados y el número de ellos 52

53 SQL - Ejercicios SELECT deptno, cuantos FROM (SELECT deptno,count(*) cuantos FROM emp GROUP BY deptno) a WHERE cuantos=(select MAX(cuantos) FROM (SELECT deptno, COUNT(*) cuantos FROM emp GROUP BY deptno) a) SELECT * FROM (SELECT deptno, COUNT(*) cuantos FROM emp GROUP BY deptno ORDER BY cuantos DESC) a WHERE ROWNUM<2 53

54 SQL - Ejercicios Calle con mas domicilios de una ciudad dada (p.ej: cod_pais=1, cod_provincia=1 y cod_ciudad=1) 54

55 SQL - Ejercicios SELECT ca.cod_calle,des_calle,cuantos FROM tcalle ca, (SELECT cod_pais, cod_provincia, cod_ciudad, cod_calle, COUNT(*) cuantos FROM tdomicilio WHERE cod_pais=1 AND cod_provincia=1 AND cod_ciudad=1 GROUP BY cod_pais, cod_provincia, cod_ciudad, cod_calle) o WHERE ca.cod_pais=o.cod_pais AND ca.cod_provincia=o.cod_provincia AND ca.cod_ciudad=o.cod_ciudad AND ca.cod_calle=o.cod_calle AND o.cuantos=(select MAX(cuantos) FROM (SELECT cod_pais, cod_provincia, cod_ciudad, cod_calle, COUNT(*) cuantos FROM tdomicilio WHERE cod_pais=1 AND cod_provincia=1 AND cod_ciudad=1 GROUP BY cod_pais, cod_provincia, cod_ciudad, cod_calle) h) 55

56 SQL - Ejercicios Obtener la media de domicilios que hay por cada ciudad. 56

57 SQL - Ejercicios SELECT (SELECT COUNT(*) FROM tdomicilio) /(SELECT COUNT(*) FROM (SELECT cod_pais, cod_provincia, cod_ciudad FROM tdomicilio GROUP BY cod_pais, cod_provincia,cod_ciudad)) FROM dual; SELECT COUNT(*)/COUNT( DISTINCT cod_pais* cod_provincia*10000+cod_ciudad) FROM tdomicilio; SELECT AVG(cuantos) FROM (SELECT COUNT(*) cuantos FROM tdomicilio GROUP BY cod_pais,cod_provincia,cod_ciudad) b; 57

58 SQL - Ejercicios Obtener el total de domicilios que hay por país, por provincia, por ciudad y totales. 58

59 SQL - Ejercicios Obtener el total de domicilios que hay por país, por provincia, por ciudad y totales. SELECT DECODE(GROUPING(cod_pais),1,'Todos Paises',cod_pais), DECODE(GROUPING(cod_provincia),1,'Todas las provincias',cod_provincia), DECODE(GROUPING(cod_ciudad),1,'Todas las ciudades',cod_ciudad), COUNT(*) total_domicilios FROM tdomicilio GROUP BY ROLLUP (cod_pais,cod_provincia,cod_ciudad) 59

60 SQL - Ejercicios Obtener un árbol genealógico de los descendientes de la persona con DNI=200 60

61 SQL - Ejercicios Obtener un árbol genealógico de los descendientes de la persona con DNI=200 SELECT LPAD(' ',6*(LEVEL-1)) nombre FROM tpersona START WITH dni=200 CONNECT BY PRIOR dni = padre; 61

62 PL/SQL Explotación avanzada de la información 62

63 PL/SQL Bloque Tipos de datos Estructuras de control Sentencias SQL Transacciones Cursores Excepciones Subprogramas: Procedimientos y Funciones Packages Triggers Packages estándar 63

64 PL/SQL - Bloque DECLARE Declaración de Variables; BEGIN Sentencias Ejecutables; [EXCEPTION Declaración de Excepciones;] END; 64

65 PL/SQL Tipos de Datos Más usados NUMBER [(precisión,escala)] CHAR [(longitud_máxima)] VARCHAR2 [(longitud_máxima)] DATE BOOLEAN RECORD TABLE 65

66 PL/SQL Tipos de Datos Muy importantes: Variables y constantes: %TYPE y %ROWTYPE Sintaxis %TYPE: <nombre variable%type>; <nombre propietario.tabla.columna%type>; Sintaxis %ROWTYPE <nombre propietario.tabla.columna%rowtype>; 66

67 PL/SQL Tipos de Datos Tipo tabla: TYPE nombre IS TABLE OF {variable%type tipo_columna tabla.columna%type} [NOT NULL] INDEX BY BINARY_INTEGER; Tipo record: TYPE nombre IS RECORD (campo1 {tipo_dato variable%type tabla.columna%type tabla%rowtype} [NOT NULL], campo2 {tipo_dato variable%type tabla.columna%type tabla%rowtype} [NOT NULL],......); 67

68 PL/SQL - Declaraciones Sección DECLARE <nombre> [CONSTANT] <tipo de dato> [NOT NULL] [:=<expresión>]; Ejemplo (ver ej1) DECLARE impuestos NUMBER; continua BOOLEAN; multiplicador CONSTANT NUMBER(3,2):=0.10; fecha DATE; sal_max NUMBER(11,2):=500*multiplicador; nombre CHAR(30) BEGIN 68

69 PL/SQL - Declaraciones Ejemplo DECLARE numero_dep dept.deptno%type; nuevo_balance NUMBER(8):=10; referencia nuevo_balance%type; reg_emp emp%rowtype; BEGIN SELECT * INTO reg_emp FROM emp WHERE...; IF reg_emp.deptno=20 THEN... END; 69

70 PL/SQL - Ámbito DECLARE a CHAR; b NUMBER; BEGIN --a CHAR y B DECLARE a NUMBER; c DATE; BEGIN --a NUMBER, b y c END; DECLARE d BOOLEAN; BEGIN --a CHAR, b y d END; END; 70

71 PL/SQL Asignación y Operadores Asignación := Operadores (mayor a menor precedencia) **,NOT +,- *,/ +,-, =,!=,<,>,<=,>= IS NULL, LIKE, IN, BETWEEN AND OR Exponenciación, negación Identidad, negación Multiplicación, división Suma, resta, concatenación Comparación Unión Inclusión 71

72 PL/SQL Estructuras de control Condicional Iterativo Secuencial 72

73 PL/SQL Control condicional IF THEN IF condición THEN conjunto de sentencias; END IF; IF THEN ELSE IF condición THEN conjunto de sentencias1; ELSE conjunto de sentencias2; END IF; IF THEN ELSIF IF condición1 THEN conjunto de sentencias1; ELSIF condición2 THEN conjunto de sentencias2; ELSE conjunto de sentencias3; END IF; 73

74 PL/SQL Control condicional Ejemplos IF x>y THEN alto:=x; END IF; IF cadena= pe THEN UPDATE tabla...; ELSE UPDATE tabla2...; END IF; IF contador<20 THEN cambia:=50; ELSIF contador>50 THEN cambia:=30; ELSE cambia:=20; END IF; 74

75 PL/SQL Control iterativo LOOP LOOP conjunto de sentencias; EXIT WHEN condición de salida conjunto de sentencias; END LOOP; 75

76 PL/SQL Control iterativo WHILE WHILE condición de permanencia LOOP conjunto de sentencias; END LOOP; 76

77 PL/SQL Control iterativo Bucle FOR numérico FOR variable IN [REVERSE] rango_mínimo..rango_máximo LOOP conjunto de sentencias; END LOOP 77

78 PL/SQL Control iterativo DECLARE i NUMBER(3):=1; BEGIN WHILE i<10 LOOP INSERT INTO tab VALUES(i); i:=i+1; END LOOP; LOOP INSERT INTO tab VALUES(i); i:=i+1; EXIT WHEN i>9; END LOOP; FOR i IN 1..9 LOOP INSERT INTO tab VALUES(i); END LOOP; END; 78

79 PL/SQL Control secuencial GOTO (no usar) NULL indica de forma explícita inacción. IF ratio>90 THEN calcula(dni); ELSE NULL; END IF; 79

80 PL/SQL - Transacciones COMMIT ROLLBACK SAVEPOINT punto de salvaguarda 80

81 PL/SQL - Transacciones Ejemplo BEGIN INSERT INTO tabla VALUES ( uno ); SAVEPOINT A; INSERT INTO tabla VALUES ( dos ); SAVEPOINT B; INSERT INTO tabla VALUES ( tres ); SAVEPOINT C;... IF x THEN ROLLBACK TO B; ELSIF y THEN ROLLBACK; ELSE ROLLBACK TO A; END IF; COMMIT; END; 81

82 PL/SQL - Cursores Declaración CURSOR nombre IS sentencia SELECT [cláusula FOR UPDATE OF ] ; Forma de uso (el más sencillo) FOR variable IN nombre_cursor LOOP conjunto de sentencias END LOOP; 82

83 PL/SQL - Cursores Ejemplo (ver ej2) DECLARE CURSOR c1 IS SELECT * FROM tpersona; BEGIN FOR i IN c1 LOOP IF i.dni= ffff THEN...; END LOOP; END; 83

84 PL/SQL - Excepciones Tipos Predefinidas Definidas por el usuario 84

85 PL/SQL - Excepciones Control de excepciones... EXCEPTION WHEN nombre_de_excepción THEN conjunto de sentencias; WHEN nombre_de_excepción THEN conjunto de sentencias;... WHEN OTHERS THEN conjunto de sentencias; END; 85

86 PL/SQL - Excepciones Excepciones predefinidas: DUP_VAL_ON_INDEX INVALID_CURSOR INVALID_NUMBER LOGON_DENIED NO_DATA_FOUND NOT_LOGGED_ON PROGRAM_ERROR STORAGE_ERROR TIMEOUT_ON_RESOURCE TOO_MANY_ROWS VALUE_ERROR ZERO_DIVIDE TRANSACTION_BACKED_OUT ROWTYPE_MISMATCH CURSOR_ALREADY_OPEN ACCES_INTO_NULL COLLECTION_IS_NULL SUBSCRIPT_OUTSIDE_LIMIT SUBSCRIPT_BEYOND_COUNT 86

87 PL/SQL - Excepciones Definidas por el usuario Sintaxis Nombre EXCEPTION; [PRAGMA EXCEPTION_INIT(nombre,-número);] Ejemplo DECLARE mi_error EXCEPTION; PRAGMA EXCEPTION_INIT(mi_error,-1999);... Invocación mediante RAISE RAISE mi_error; 87

88 PL/SQL - Excepciones Funciones usadas con excepciones: SQLCODE devuelve el código de error que ha ocurrido SQLERRM devuelve la cadena de texto correspondiente al error ocurrido 88

89 PL/SQL - Excepciones Ejemplo (ver ej3) DECLARE fatal EXCEPTION;... BEGIN... IF campo IS NULL THEN RAISE fatal;... EXCEPCTION WHEN fatal THEN... WHEN OTHERS THEN cod:=sqlcode; mensaje:=sqlerrm; INSERT INTO errores VALUES (cod,mensaje); COMMIT; END; 89

90 PL/SQL - Subprogramas Tipos Procedimientos (PROCEDURE) Funciones (FUNCTION) Invocación Desde otro subprograma Desde aplicaciones Desde SQL+ (EXECUTE) 90

91 PL/SQL - Procedimientos Sintaxis CREATE [OR REPLACE] PROCEDURE [esquema.]nombre [(argumento1 [{IN OUT IN OUT}] tipo_dato [{:= DEFAULT} valor],... argumenton [{IN OUT IN OUT}] tipo_dato [{:= DEFAULT} valor])] {IS AS} cuerpo de procedimiento 91

92 PL/SQL - Procedimientos Estructura CREATE OR REPLACE PROCEDURE nombre IS /*sección declarativa*/ BEGIN /*sección ejecutable*/ EXCEPTION /*sección de excepciones*/ END [nombre]; 92

93 PL/SQL - Procedimientos Ejemplo CREATE OR REPLACE PROCEDURE ejemplo (p_departamento NUMBER, p_emp temp.empno%type, p_accion NUMBER(1) DEFAULT 1) IS v_aux NUMBER; v_nuevo_dep tdept.deptno%type; BEGIN... EXCEPTION WHEN... END ejemplo; 93

94 PL/SQL - Funciones Sintaxis CREATE [OR REPLACE] FUNCTION [esquema.]nombre [(argumento1 [{IN OUT IN OUT}] tipo_dato [{:= DEFAULT} valor],... argumenton [{IN OUT IN OUT}] tipo_dato [{:= DEFAULT} valor])] RETURN tipo_dato_retorno {IS AS} cuerpo de función 94

95 PL/SQL - Funciones En el cuerpo de la función es necesario que se use la orden RETURN para devolver el valor de retorno de la función (También se puede usar en procedures sin ningún parámetro y sirve para provocar la salida inmediata del mismo) 95

96 PL/SQL - Funciones Ejemplo CREATE OR REPLACE FUNCTION calcula (p_dni tpersona%type, p_sal OUT NUMBER) RETURN NUMBER IS v_porcen NUMBER(3,2); BEGIN... IF v_porcen>0.25 THEN RETURN 1; ELSE RETURN 2; END calcula; 96

97 PL/SQL - Subprogramas Manejo de excepciones RAISE (para excepciones predefinidas o definidas por el usuario) RAISE_APPLICATION_ERROR (para crear excepciones con sus propios mensajes de error) RAISE_APPLICATION_ERROR(número,mensaje) El número debe estar entre y El mensaje puede ser de hasta 512 caracteres 97

98 PL/SQL - Subprogramas Privilegio EXECUTE Parámetro REMOTE_DEPENDENCIES_MODE SIGNATURE TIMESTAMP 98

99 PL/SQL - Paquetes Pueden incluir: Procedimientos Funciones Cursores Tipos Variables (permiten variables privadas y globales ) Excepciones 99

100 PL/SQL - Paquetes Constan de Especificación Cuerpo 100

101 PL/SQL - Paquetes Especificación CREATE [OR REPLACE] PACKAGE nombre {IS AS} especificación_procedimientos especificación_funciones declaración_variables definición_tipo declaración_excepciones declaración_cursores END [nombre]; 101

102 PL/SQL - Paquetes Cuerpo CREATE [OR REPLACE] PACKAGE BODY nombre {IS AS} código_procedimientos código_funciones [BEGIN código_inicialización_paquete] END [nombre]; 102

103 PL/SQL - Paquetes Permiten la sobrecarga de procedimientos y funciones Para referirnos a ellos: Esquema.paquete.objeto 103

104 PL/SQL - Disparadores Subprogramas que se ejecutan cuando ocurre un suceso de disparo (orden DML, INSERT, UPDATE o DELETE) sobre una tabla de la base de datos 104

105 PL/SQL Disparadores Un disparador puede ejecutarse BEFORE AFTER De una operación INSERT UPDATE DELETE 105

106 PL/SQL - Disparadores Sintaxis CREATE [OR REPLACE] TRIGGER esquema.nombre {BEFORE AFTER} {[OR]DELETE [OR] INSERT [OR] UPDATE [OF columna]} ON esquema.tabla [REFERENCING OLD [AS] antiguo NEW[AS] nuevo] NO SE USA [FOR EACH ROW] [WHEN condición] Bloque PL/SQL 106

107 PL/SQL - Disparadores :NEW :OLD UPDATING INSERTING DELETING 107

108 PL/SQL - Disparadores Orden de ejecución 1. BEFORE 2. BEFORE ROW 3. AFTER ROW BEFORE ROW 6. AFTER ROW 7. AFTER 108

109 PL/SQL Disparadores Si hay dos disparadores con el mismo evento orden de ejecución aleatorio No se puede acceder a una tabla mutante (aquella que está siendo modificada, directamente o a través de ON DELETE CASCADE) No se puede modificar una tabla referenciada en las columnas implicadas en restricciones de integridad referencial que tiene que comprobar la sentencia que dispara el trigger. 109

110 PL/SQL Paquetes estándar DBMS_JOB DBMS_OUTPUT UTL_FILE 110

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

Base de datos Oracle: Arquitectura Oracle. Arquitectura. Marzo Luis Vinuesa Martínez

Base de datos Oracle: Arquitectura Oracle. Arquitectura. Marzo Luis Vinuesa Martínez Base de datos Oracle: Marzo 2003 1 Arquitectura Oracle 2 Arquitectura 3 Arquitectura Instancias Schema User/Password SQLNET o NET8 SQLNET LISTENER 4 Arquitectura - memoria SGA (Shared Global Area) Database

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

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su: CURSO DE ORACLE DESCRIPCIÓN Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation.

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

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

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas)

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Lo que aprenderá Esta clase es aplicable para los usuarios de Oracle8i, Oracle9i y Oracle Database 10g. En este

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

DIPLOMADO EN BASE DE DATOS ORACLE

DIPLOMADO EN BASE DE DATOS ORACLE DIPLOMADO EN BASE DE DATOS ORACLE Release 10.2.0.2 MODULO 1 - DISEÑO DE BASES DE DATOS RELACIONALES (20 Horas) OBJETIVO Introducir al alumno a los conceptos necesarios para construir sistemas de información

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

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos: CONTENIDO. 1. INTRODUCCIÓN 2. TIPOS DE SENTENCIAS SQL 3. TIPOS DE DATOS 4. SQL PLUS 5. CONSULTAS DE DATOS 6. RESTRICCIÓN Y CLASIFICACIÓN DE LOS DATOS 7. FUNCIONES A NIVEL DE FILA 8. VISUALIZACIÓN DE DATOS

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

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

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional PROGRAMAS DE ESTUDIO FORMATO 7 NOMBRE DE LA ASIGNATURA INTRODUCCIÓN A SQL CICLO, AREA O MODULO Área de Formación Profesional CLAVE DE LA ASIGNATURA IT222 OBJETIVOS GENERALES DE LA ASIGNATURA Al final del

Más detalles

SQL Los fundamentos del lenguaje

SQL Los fundamentos del lenguaje Introducción 1. Un poco de historia 11 2. Las normas SQL 12 3. Descripción rápida del modelo relacional 14 3.1 Principales conceptos del modelo relacional 15 3.2 Principales reglas 16 4. Los operadores

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

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM

Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM Estructura de una BD Oracle. Una BD Oracle tiene una estructura física y una estructura lógica que se mantienen separadamente. La estructura física se corresponde a los ficheros del sistema operativo:

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

E16 - Diseño de Sistemas de Bases de Datos Boletín 3

E16 - Diseño de Sistemas de Bases de Datos Boletín 3 E16 - Diseño de Sistemas de Bases de Datos Boletín 3 Nombre: 1. Esta práctica está dedicada a la creación de disparadores sobre sentencias DDL (lenguaje de definición de datos) y sobre eventos de la Base

Más detalles

Oracle básico (IV): Programación en PL/SQL

Oracle básico (IV): Programación en PL/SQL Oracle básico (IV): Programación en PL/SQL El lenguaje de programación de Oracle, llamado PL/SQL, es un lenguaje portable, procedural y de transacción muy potente y de fácil manejo, con las siguientes

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

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

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 201-II SÍLABO 1. DATOS GENERALES UNIDAD DIDÁCTICA : DESARROLLO DE APLICACIONES CON BASE DE DATOS MÓDULO : DESARROLLO DE SOFTWARE

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

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 4. Manipulación de datos con SQL

Tema 4. Manipulación de datos con SQL Tema 4 Manipulación de datos con SQL Índice Tema 4 1. Inserción de registros. Consultas de datos anexados. 2. Modificación de registros. Consultas de actualización. 3. Borrado de registros. Consultas de

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

Desarrollo de Aplicaciones Informáticas

Desarrollo de Aplicaciones Informáticas Desarrollo de Aplicaciones Informáticas CICLO FORMATIVO DE GRADO SUPERIOR FORMACIÓN PROFESIONAL A DISTANCIA Unidad 6 PL/SQL Programación avanzada MÓDULO Desarrollo de Aplicaciones en Entornos de Cuarta

Más detalles

Índice. iii. Objetivos... 24

Índice. iii. Objetivos... 24 Índice Objetivos... 2 1: Modelación de base de datos... 2 2: Ejemplo de un caso de negocios... 3 2.1: Requerimientos de la aplicación... 4 2.2: Características de flujo de información... 4 2.3: Diagrama

Más detalles

ÍNDICE PRIMERA PARTE... 17

ÍNDICE PRIMERA PARTE... 17 ÍNDICE PREFACIO... xv PRIMERA PARTE... 17 CAPÍTULO 1. BASES DE DATOS... 19 BASE DE DATOS RELACIONAL... 20 ESTRUCTURA MÍNIMA DE ALMACENAMIENTO... 21 EJEMPLO DE TABLA... 22 RESUMEN... 23 CAPÍTULO 2. CONSULTAS

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

Dirigido a Profesionales y técnicos de informática que se inicien en el manejo de la base de datos Oracle 11g

Dirigido a Profesionales y técnicos de informática que se inicien en el manejo de la base de datos Oracle 11g El temario se divide en tres partes: Parte I. Lenguaje SQL Lenguaje SQL Objetivos Conocer los componentes de las bases de datos relacionales Obtener los conocimientos del lenguaje SQL para el manejo de

Más detalles

Introducción a Oracle PL / SQL 12c

Introducción a Oracle PL / SQL 12c ORACLE PL / SQL 12C a Oracle PL / SQL 12c 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

Tutorial de SQL - El comando SELECT

Tutorial de SQL - El comando SELECT Tutorial de SQL - El comando SELECT El objetivo de este documento es guiar su aprendizaje del comando SELECT de SQL. La idea es que, estando conectado a sql*plus, lea este material mientras ejercita simultáneamente

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

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

: 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

ÍNDICE CAPÍTULO 1. TIPOS DE ALMACENAMIENTO DE LA INFORMACIÓN... 13

ÍNDICE CAPÍTULO 1. TIPOS DE ALMACENAMIENTO DE LA INFORMACIÓN... 13 ÍNDICE CAPÍTULO 1. TIPOS DE ALMACENAMIENTO DE LA INFORMACIÓN... 13 1.1 SISTEMAS LÓGICOS DE ALMACENAMIENTO DE LA INFORMACIÓN...13 1.2 ALMACENAMIENTO EN FICHEROS...13 1.2.1 Registros físicos y registros

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

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

Entrarás a formar parte de nuestra bolsa de empleo a la que acuden las empresas en busca de nuestros alumnos.

Entrarás a formar parte de nuestra bolsa de empleo a la que acuden las empresas en busca de nuestros alumnos. CURSO PROFESIONAL DE TRANSACT-SQL MÁSTER EN DESARROLLO DE APLICACIONES WEB CON JAVA ENTERPRISE EDITION Precio: 450 Euros y Matrícula Gratis. Modalidad: Presencial en nuestras aulas. Valores añadidos: Nuestro

Más detalles

MySQL 5 (versiones 5.1 a 5.6) Guía de referencia del desarrollador

MySQL 5 (versiones 5.1 a 5.6) Guía de referencia del desarrollador Prefacio 1. Objetivos de este libro 13 2. Principales temas tratados en este libro 13 3. A quién va dirigido este libro? 14 4. Requisitos 14 Introducción a MySQL 1. Introducción a las bases de datos relacionales

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

Componentes de una BD

Componentes de una BD Componentes de una BD Cada BD Oracle en ejecución está asociada a una instancia Oracle. Cuando se arranca el servidor, el software de Oracle reserva una zona de memoria compartida denominada System Global

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

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

Decimocuartas Jornadas en Estadística e Informática. Ricardo Vergara Argudo email: ricardo.vergara@sasf.net

Decimocuartas Jornadas en Estadística e Informática. Ricardo Vergara Argudo email: ricardo.vergara@sasf.net Decimocuartas Jornadas en Estadística e Informática Ricardo Vergara Argudo email: ricardo.vergara@sasf.net GUIA DE AYUDA http://www.oracle.com/ec/ http://www.oracle.com/cluboracle/ http://otn.oracle.com/

Más detalles

Estructura general. Fundamentos. Comentarios. Tipos de datos. Funciones de conversión

Estructura general. Fundamentos. Comentarios. Tipos de datos. Funciones de conversión Estructura general PL/SQL es un lenguaje estructurado. Su unidad básica es el bloque. Un bloque PL/SQL tiene 3 partes: zona de declaraciones, zona ejecutable y zona de tratamiento de excepciones. La sintaxis

Más detalles

Procesamiento Condicional con Sentencias IF Procesamiento Condicional con Sentencias CASE Sentencia Loop Simple Sentencia WhileLoop Sentencia ForLoop

Procesamiento Condicional con Sentencias IF Procesamiento Condicional con Sentencias CASE Sentencia Loop Simple Sentencia WhileLoop Sentencia ForLoop 1 Introducción Objetivos del Curso Agenda Descripción del Esquema Human Resources (HR) Entornos de Desarrollo PL/SQL Disponibles en este Curso Introducción a SQL Developer Introducción a PL/SQL Visión

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

III. ADMINISTRACIÓN DE ORACLE.

III. ADMINISTRACIÓN DE ORACLE. III. ADMINISTRACIÓN DE ORACLE. 1.- Qué es Oracle? Qué hace un Administrador? 2.- Herramientas de ORACLE. 3.- Características. 4.- Arquitectura. 4.1.- Componentes de la BD. 4.2.- Estructura de la memoria.

Más detalles

Para ver una copia completa de la licencia, acudir a la dirección http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.

Para ver una copia completa de la licencia, acudir a la dirección http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode. Para ver una copia completa de la licencia, acudir a la dirección http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.es (3) (unidad 5) PL/SQL esquema de la unidad (5.1) introducción 6 (5.1.2)

Más detalles

Para abordar el presente tutorial con mínimo de garantías es necesario conocer previamente SQL.

Para abordar el presente tutorial con mínimo de garantías es necesario conocer previamente SQL. 1. Tutorial PL/SQL. 1.1. Introducción. SQL es un lenguaje de consulta para los sistemas de bases de datos relacionales, pero que no posee la potencia de los lenguajes de programación. No permite el uso

Más detalles

Administración Básica de Oracle9i.

Administración Básica de Oracle9i. PRACTICAS. TRABAJOS (JOBS). 1. Identificar los procesos de sistema operativo que corresponden al proceso gestor de colas corriendo en la instancia. u01apporacleadmincurso01pfile (CURSO01)> ps -ef grep

Más detalles

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Práctica preliminar Crear la siguiente base de datos de prácticas

Más detalles

ADMINISTRACION DE BASES DE DATOS EN ORACLE

ADMINISTRACION DE BASES DE DATOS EN ORACLE SQL LENGUAJE ESTRUCTURADO DE CONSULTA El nacimiento del lenguaje SQL data de 1970 cuando E. F. Codd publica su libro: "Un modelo de datos relacional para grandes bancos de datos compartidos". Ese libro

Más detalles

8283: Administración y programación en Microsoft SQL Server 2012

8283: Administración y programación en Microsoft SQL Server 2012 8283: Administración y programación en Microsoft SQL Server 2012 Este curso es orientado a los profesionales en desarrollo que desean maximizar la participación de SQL Server 2012 en beneficio del desempeño

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

PL/SQL. DECLARE /* Parte Declarativa */ BEGIN /* Parte de Ejecución */ EXCEPTION /* Parte de Excepciones */ END;

PL/SQL. DECLARE /* Parte Declarativa */ BEGIN /* Parte de Ejecución */ EXCEPTION /* Parte de Excepciones */ END; 18 de marzo de 2002 1 1. Declaraciones Variables y constantes Cursores Excepciones 2. Instrucciones Asignación Control de flujo Bucles 3. Manejadores de excepciones 4. Anidamiento de bloques 5. Tipos de

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

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

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: Bases de Datos Introducción a ORACLE Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: o Tradicionales como INTEGER, VARCHAR2, DATE,..., etc. o Nuevos y complejos:

Más detalles

PRÓLOGO... XI CAPÍTULO 1. FUNDAMENTOS DEL LENGUAJE PL/SQL.

PRÓLOGO... XI CAPÍTULO 1. FUNDAMENTOS DEL LENGUAJE PL/SQL. ÍNDICE PRÓLOGO... XI CAPÍTULO 1. FUNDAMENTOS DEL LENGUAJE PL/SQL. 1 Introducción... 1 Unidades léxicas... 7 Tipos de datos... 11 Declaración de variables... 15 CAPÍTULO 2. ESTRUCTURAS DE CONTROL 21 Introducción...

Más detalles

Programando con PL/SQL en una Base de Datos Oracle

Programando con PL/SQL en una Base de Datos Oracle Programando con PLSQL en una Base de Datos Oracle Instructor: Ing. Francisco Riccio. OCA Oracle Database Administrator 10g OCP Oracle Database Administrator 10g OCP Oracle Database Administrator 11g OCA

Más detalles

Bases de Datos Relacionales

Bases de Datos Relacionales 2da. Parte Bases de Datos Relacionales Objetivos de la Clase SQL. Tipos de sentencias SQL Describir los tipos de dato que se pueden utilizar al especificar la definición de columnas. Sentencias SQL Select.

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

Curso Online de Oracle 10g

Curso Online de Oracle 10g Curso Online de Oracle 10g Presentación Oracle es una de los principales sistemas de bases de datos usado a nivel empresarial. Esta base de datos es desarrollada por la empresa del mismo nombre Oracle

Más detalles

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT Introducción Objetivos I-2 Objetivos del Curso I-3 Oracle11g - 12cI-5 Oracle Database 11g - 12cI-6 Oracle Application Server 11g - 12cI-7 Oracle Enterprise Manager 11g - 12cGrid Control I-8 Sistema de

Más detalles

Oracle Database 12c SQL and PLSQL Fundamentals

Oracle Database 12c SQL and PLSQL Fundamentals Oracle Database 12c SQL and PLSQL Fundamentals DESCRIPCION MODULOS DE CAPACITACION Introducción Información general sobre 12c de base de datos Oracle y productos afines Descripción de los conceptos y la

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

Administración de Bases de Datos

Administración de Bases de Datos Administración de Bases de Datos Teoría adaptada al SGBD Oracle 10G 4.1.- Diseño Físico 4.2.- Fundamentos/Introducción 4.3.- Seguridad y Confidencialidad 4.4.- Recuperación ante fallos 4.5.- Optimización

Más detalles

PRÁCTICA T2. El lenguaje procedural PL/SQL de Oracle

PRÁCTICA T2. El lenguaje procedural PL/SQL de Oracle 3º Ingeniero Técnico en Informática de Sistemas Asignatura: Fundamentos de Bases de Datos Curso: 2007/8 PRÁCTICA T2. El lenguaje procedural PL/SQL de Oracle Objetivos Conocer los conceptos y estructuras

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

ACERCA DE LOS AUTO RES... III AGRADECIMIENTOS... xi INTRODUCCION... Xl

ACERCA DE LOS AUTO RES... III AGRADECIMIENTOS... xi INTRODUCCION... Xl Contenido ACERCA DE LOS AUTO RES..................................... III AGRADECIMIENTOS........................................... xi INTRODUCCION............................................... Xl Introduccion

Más detalles

Triggers. Carmen Hernández Triggers y PL/SQL 2

Triggers. Carmen Hernández Triggers y PL/SQL 2 Triggers y PL/SQL Triggers Un trigger (disparador) define una acción que la base de datos siempre debería realizar cuando ocurre algún tipo de acontecimiento que la afecta. Se utilizan para mantener la

Más detalles

Clase 1: Estructuras, Procesos y Diccionario de Datos

Clase 1: Estructuras, Procesos y Diccionario de Datos Clase 1: Estructuras, Procesos y Diccionario de Datos Estructura de la memoria System Global Area Buffer Cache Redo Log Buffer Share Pool Dictionary Cache Large Pool Process Global Area Private SQL Area

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

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

UNIDAD DE TRABAJO 3: PROGRAMACIÓN DE BASES DE DATOS TEMA 8: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN

UNIDAD DE TRABAJO 3: PROGRAMACIÓN DE BASES DE DATOS TEMA 8: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN UNIDAD DE TRABAJO 3: PROGRAMACIÓN DE BASES DE DATOS TEMA 8: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN 8.1. INTRODUCCIÓN AL SQL PROCEDIMENTAL Casi todos los grandes Sistemas Gestores de Datos incorporan

Más detalles

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 1. Cuáles de los siguientes enunciados son declaraciones válidas? 2. Cuál de

Más detalles

Creación y Gestión de Tablas. Copyright Oracle Corporation, 1998. All rights reserved.

Creación y Gestión de Tablas. Copyright Oracle Corporation, 1998. All rights reserved. 10 Creación y Gestión de Tablas Copyright Oracle Corporation, 1998. All rights reserved. Objetivos Al completar esta lección, debería a ser capaz de hacer lo siguiente: Describir los principales objetos

Más detalles

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN 1. En el SGBD Oracle. Cuál de las siguientes afirmaciones es correcta? a) Los usuarios con el rol de administrador de la base de datos son SYS,

Más detalles

1. Introducción al PL/SQL 2. Conceptos Básicos de PL/SQL Estructura de Bloques Reglas y Convenciones del Lenguaje

1. Introducción al PL/SQL 2. Conceptos Básicos de PL/SQL Estructura de Bloques Reglas y Convenciones del Lenguaje Índice 1. Introducción al PL/SQL 2. Conceptos Básicos de PL/SQL Estructura de Bloques Reglas y Convenciones del Lenguaje Entrada y Salida de Datos 3. Variables de PL/SQL 4. Estructuras de Control 5. Cursores

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

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

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

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4

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

Funciones y TriggersIntroducción, Ejemplos

Funciones y TriggersIntroducción, Ejemplos Funciones y Triggers Introducción, Ejemplos 13 de noviembre de 2004 Contenidos Funciones: para qué? Lenguajes Tipos de funciones Creación de funciones tradicionales SRFs Funciones para triggers Indices

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

Enlaces relacionados: http://otn.oracle.com/tech/pl_sql/index.html

Enlaces relacionados: http://otn.oracle.com/tech/pl_sql/index.html 1.INTRODUCCION PL/SQL (Procedural Language ó Programming Language, según distintas fuentes, aunque la oficial es la primera) es el lenguaje utilizado por Oracle como extensión al SQL, y que nos va a permitir

Más detalles

Lic. Vladimir Cotaquispe Gutierrez PROGRAMACIÓN PL/SQL I - 1. Copyright 2008, Oracle. All rights reserved.

Lic. Vladimir Cotaquispe Gutierrez PROGRAMACIÓN PL/SQL I - 1. Copyright 2008, Oracle. All rights reserved. Lic. Vladimir Cotaquispe Gutierrez PROGRAMACIÓN PL/SQL I - 1 INTRODUCCIÓN PL/SQL: Lenguaje de programación procedimental estructurado en bloques que amplía el lenguaje estándar SQL. Permite: Manipular

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

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en

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

Los paquetes tienen dos partes: una especificación y un cuerpo que están almacenados por separado en la base de datos.

Los paquetes tienen dos partes: una especificación y un cuerpo que están almacenados por separado en la base de datos. 8. PAQUETES DE BASE DE DATOS Los paquetes nos van a permitir agrupar conceptos PL/SQL como pueden ser tipos, procedimientos y funciones. Por ejemplo: una paquete de Contabilidad podrá contener procedimientos

Más detalles

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers Subconsultas Stored Procedures - Triggers Subconsultas Concepto Ubicación En el SELECT En el FROM En el WHERE Operadores IN ANY-ALL EXISTS Concepto Son sentencias SELECT que aparecen dentro de otra consulta

Más detalles

SQL Server 2012 - SQL, Transact SQL Diseño y creación de una base de datos

SQL Server 2012 - SQL, Transact SQL Diseño y creación de una base de datos El modelo relacional 1. Introducción 9 2. Recordatorio sobre el almacenamiento de datos 9 2.1 Las diferentes categorías de datos 10 2.1.1 Los datos básicos 10 2.1.2 Los datos cambiantes 10 2.1.3 Los datos

Más detalles