Base de datos Procedimientos Almacenados y Funciones

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Base de datos Procedimientos Almacenados y Funciones"

Transcripción

1 Base de datos Procedimientos Almacenados y Eduardo Saavedra A. Universidad Nacional Andrés Bello 4 de noviembre de 2008

2 Contenidos Ventajas 1 Ventajas Conceptos Ejemplo 6

3 Procedimiento Almacenado (SP) Ventajas Un procedimiento almacenado (SP) es un programa (o procedimiento) el cual es almacenado físicamente en una base de datos. Generalmente son escritos en un lenguaje de bases de datos propietario como PL/SQL para Oracle database o PL/PgSQL para PostgreSQL. La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor. Como tal, posee acceso directo a los datos que necesita manipular y solo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.

4 Contenidos Ventajas 1 Ventajas Conceptos Ejemplo 6

5 Ventajas Ventajas Diseño modular. Aplicaciones que acceden la misma Base de Datos pueden compartir los procedimientos almacenados, eliminando el código doble y reduciendo el tamaño de las aplicaciones. El fácil mantenimiento. Mejoras en tráfico de RED!!! Cuando un procedimiento se actualiza, los cambios se reflejan automáticamente en todas las aplicaciones, sin la necesidad de recompilar y relinkear. Las aplicaciones son compiladas sólo una vez para cada cliente. Los procedimientos almacenados son ejecutados por el servidor, no por el cliente lo que reduce el tráfico en la red y mejora el performance o desempeño, especialmente para el acceso del cliente remoto. Están almacenados en los servidores y asegurados por las medidas tomadas en la instalación, lo que impide que los usuarios normales puedan modificarlos e incluso desconocen su existencia. Este es un elemento de gran valor en lo que a seguridad respecta.

6 Contenidos 1 Ventajas Conceptos Ejemplo 6

7 Contenidos 1 Ventajas Conceptos Ejemplo 6

8 Un procedimiento almacenado Utilizando la base de datos Autos: 1 CREATE PROCEDURE sp_ciudades 2 AS 3 SELECT DISTINCT Ciudad 4 FROM Cliente;

9 Un procedimiento almacenado Utilizando la base de datos Autos: 1 CREATE PROCEDURE sp_ciudades 2 AS 3 SELECT DISTINCT Ciudad 4 FROM Cliente; Qué cree que genera el código anterior?

10 Un procedimiento almacenado Utilizando la base de datos Autos: 1 CREATE PROCEDURE sp_ciudades 2 AS 3 SELECT DISTINCT Ciudad 4 FROM Cliente; Qué cree que genera el código anterior? Lo que ocurrirá será que para la base de datos Autos, se creará un procedimiento almacenado llamado sp_ciudades.

11 Un procedimiento almacenado Utilizando la base de datos Autos: 1 CREATE PROCEDURE sp_ciudades 2 AS 3 SELECT DISTINCT Ciudad 4 FROM Cliente; Qué cree que genera el código anterior? Lo que ocurrirá será que para la base de datos Autos, se creará un procedimiento almacenado llamado sp_ciudades. Este procedimiento podrá ser llamado desde cualquier punto en alguna aplicación externa al SGBD.

12 Un procedimiento almacenado Utilizando la base de datos Autos: 1 CREATE PROCEDURE sp_ciudades 2 AS 3 SELECT DISTINCT Ciudad 4 FROM Cliente; Qué cree que genera el código anterior? Lo que ocurrirá será que para la base de datos Autos, se creará un procedimiento almacenado llamado sp_ciudades. Este procedimiento podrá ser llamado desde cualquier punto en alguna aplicación externa al SGBD. Por supuesto, también puede ser llamado de forma interna

13 Un procedimiento almacenado Utilizando la base de datos Autos: 1 CREATE PROCEDURE sp_ciudades 2 AS 3 SELECT DISTINCT Ciudad 4 FROM Cliente; Qué cree que genera el código anterior? Lo que ocurrirá será que para la base de datos Autos, se creará un procedimiento almacenado llamado sp_ciudades. Este procedimiento podrá ser llamado desde cualquier punto en alguna aplicación externa al SGBD. Por supuesto, también puede ser llamado de forma interna Este procedimiento es de los más básicos, donde simplemente se genera una tabla temporal mostrando las ciudades de la tabla cliente.

14 Un procedimiento almacenado Utilizando la base de datos Autos: 1 CREATE PROCEDURE sp_ciudades 2 AS 3 SELECT DISTINCT Ciudad 4 FROM Cliente; Qué cree que genera el código anterior? Lo que ocurrirá será que para la base de datos Autos, se creará un procedimiento almacenado llamado sp_ciudades. Este procedimiento podrá ser llamado desde cualquier punto en alguna aplicación externa al SGBD. Por supuesto, también puede ser llamado de forma interna Este procedimiento es de los más básicos, donde simplemente se genera una tabla temporal mostrando las ciudades de la tabla cliente.

15 Contenidos 1 Ventajas Conceptos Ejemplo 6

16 Invocación de un procedimiento almacenado

17 Invocación de un procedimiento almacenado El siguiente código invoca un SP. 1 EXEC sp_ciudades;

18 Invocación de un procedimiento almacenado El siguiente código invoca un SP. 1 EXEC sp_ciudades; Como es de esperar el resultado de la ejecución es la siguiente:

19 Invocación de un procedimiento almacenado El siguiente código invoca un SP. 1 EXEC sp_ciudades; Como es de esperar el resultado de la ejecución es la siguiente:

20 Contenidos 1 Ventajas Conceptos Ejemplo 6

21 Declarar variables en un SP

22 Declarar variables en un SP Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y como en un lenguaje de programación de alto nivel.

23 Declarar variables en un SP Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y como en un lenguaje de programación de alto nivel. Todas la variables deben ser antecedidades por la palabra. clave DECLARE y antes de la definición de su nombre

24 Declarar variables en un SP Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y como en un lenguaje de programación de alto nivel. Todas la variables deben ser antecedidades por la palabra. clave DECLARE y antes de la definición de su nombre Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte.

25 Declarar variables en un SP Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y como en un lenguaje de programación de alto nivel. Todas la variables deben ser antecedidades por la palabra. clave DECLARE y antes de la definición de su nombre Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte. Para SQL Server por ejemplo se tendrían:

26 Declarar variables en un SP Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y como en un lenguaje de programación de alto nivel. Todas la variables deben ser antecedidades por la palabra. clave DECLARE y antes de la definición de su nombre Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte. Para SQL Server por ejemplo se tendrían: varchar(n)

27 Declarar variables en un SP Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y como en un lenguaje de programación de alto nivel. Todas la variables deben ser antecedidades por la palabra. clave DECLARE y antes de la definición de su nombre Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte. Para SQL Server por ejemplo se tendrían: varchar(n) int

28 Declarar variables en un SP Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y como en un lenguaje de programación de alto nivel. Todas la variables deben ser antecedidades por la palabra. clave DECLARE y antes de la definición de su nombre Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte. Para SQL Server por ejemplo se tendrían: varchar(n) int bigint

29 Declarar variables en un SP Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y como en un lenguaje de programación de alto nivel. Todas la variables deben ser antecedidades por la palabra. clave DECLARE y antes de la definición de su nombre Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte. Para SQL Server por ejemplo se tendrían: varchar(n) int bigint float

30 Declarar variables en un SP Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y como en un lenguaje de programación de alto nivel. Todas la variables deben ser antecedidades por la palabra. clave DECLARE y antes de la definición de su nombre Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte. Para SQL Server por ejemplo se tendrían: varchar(n) int bigint float date

31 Declarar variables en un SP Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y como en un lenguaje de programación de alto nivel. Todas la variables deben ser antecedidades por la palabra. clave DECLARE y antes de la definición de su nombre Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte. Para SQL Server por ejemplo se tendrían: varchar(n) int bigint float date etc...

32 Declarar variables en un SP Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y como en un lenguaje de programación de alto nivel. Todas la variables deben ser antecedidades por la palabra. clave DECLARE y antes de la definición de su nombre Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte. Para SQL Server por ejemplo se tendrían: varchar(n) int bigint float date etc... Además para asignar un valor a una variable (A 5 ) se debe utilizar la palabra clave SET.

33 Declarar variables en un SP Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y como en un lenguaje de programación de alto nivel. Todas la variables deben ser antecedidades por la palabra. clave DECLARE y antes de la definición de su nombre Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte. Para SQL Server por ejemplo se tendrían: varchar(n) int bigint float date etc... Además para asignar un valor a una variable (A 5 ) se debe utilizar la palabra clave SET. Se pueden Setear a una variable los resultados de un SQL que devuelva UN registro.

34 Declarar variables en un SP Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y como en un lenguaje de programación de alto nivel. Todas la variables deben ser antecedidades por la palabra. clave DECLARE y antes de la definición de su nombre Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte. Para SQL Server por ejemplo se tendrían: varchar(n) int bigint float date etc... Además para asignar un valor a una variable (A 5 ) se debe utilizar la palabra clave SET. Se pueden Setear a una variable los resultados de un SQL que devuelva UN registro. Una variable puede ser declarada como de Salida (output)

35 Declarar variables en un SP

36 Declarar variables en un SP Por lo tanto sería invalido como int y tratar de Setearlo con Hola! (de tipo varchar).

37 Declarar variables en un SP Por lo tanto sería invalido como int y tratar de Setearlo con Hola! (de tipo varchar). Ejemplo de uso de variables ALTER PROCEDURE sp_ciudades AS varchar(80) varchar(80) SELECT TOP 1 Ciudad FROM Cliente as C INNER JOIN AUTOMOVIL AS A ON A.RUT = C.RUT ORDER BY A.PRECIO DESC) = Santiago BEGIN = 1 END ELSE = 0 as Nivel ;

38 Declarar variables en un SP Por lo tanto sería invalido como int y tratar de Setearlo con Hola! (de tipo varchar). Ejemplo de uso de variables ALTER PROCEDURE sp_ciudades AS varchar(80) varchar(80) SELECT TOP 1 Ciudad FROM Cliente as C INNER JOIN AUTOMOVIL AS A ON A.RUT = C.RUT ORDER BY A.PRECIO DESC) = Santiago BEGIN = 1 END ELSE = 0 as Nivel ;

39 Declarar variables en un SP Por lo tanto sería invalido como int y tratar de Setearlo con Hola! (de tipo varchar). Ejemplo de uso de variables ALTER PROCEDURE sp_ciudades AS varchar(80) varchar(80) SELECT TOP 1 Ciudad FROM Cliente as C INNER JOIN AUTOMOVIL AS A ON A.RUT = C.RUT ORDER BY A.PRECIO DESC) = Santiago BEGIN = 1 END ELSE = 0 as Nivel ; Lo marcado en rojo es lo que el SGBD desplegará, esto no siempre es válido ya que un SP debe devolver algún valor.

40 Declarar variables en un SP Por lo tanto sería invalido como int y tratar de Setearlo con Hola! (de tipo varchar). Ejemplo de uso de variables ALTER PROCEDURE sp_ciudades AS varchar(80) varchar(80) SELECT TOP 1 Ciudad FROM Cliente as C INNER JOIN AUTOMOVIL AS A ON A.RUT = C.RUT ORDER BY A.PRECIO DESC) = Santiago BEGIN = 1 END ELSE = 0 as Nivel ; Lo marcado en rojo es lo que el SGBD desplegará, esto no siempre es válido ya que un SP debe devolver algún valor. De todas maneras es útil para ver lo que ocurre en el SP.

41 Contenidos 1 Ventajas Conceptos Ejemplo 6

42 Parámetros de SP

43 Parámetros de SP Como es de esperar, los SP al igual que las funciones en lenguajes de programación, son capaces de aceptar parámetros de entrada y salida.

44 Parámetros de SP Como es de esperar, los SP al igual que las funciones en lenguajes de programación, son capaces de aceptar parámetros de entrada y salida. Esto logra una gran versatilidad del uso de los SP

45 Parámetros de SP Como es de esperar, los SP al igual que las funciones en lenguajes de programación, son capaces de aceptar parámetros de entrada y salida. Esto logra una gran versatilidad del uso de los SP Para definir parámetros, ellos deben estar antes de la palabra clave AS

46 Parámetros de SP Como es de esperar, los SP al igual que las funciones en lenguajes de programación, son capaces de aceptar parámetros de entrada y salida. Esto logra una gran versatilidad del uso de los SP Para definir parámetros, ellos deben estar antes de la palabra clave AS No se requiere declararlos con la palabra DECLARE

47 Parámetros de SP Como es de esperar, los SP al igual que las funciones en lenguajes de programación, son capaces de aceptar parámetros de entrada y salida. Esto logra una gran versatilidad del uso de los SP Para definir parámetros, ellos deben estar antes de la palabra clave AS No se requiere declararlos con la palabra DECLARE Respectivo a los parámetros de entrada Un usuario puede usar un SP con distintos parámetros de entrada y obtendrá siempre resultados distintos.

48 Parámetros de SP Como es de esperar, los SP al igual que las funciones en lenguajes de programación, son capaces de aceptar parámetros de entrada y salida. Esto logra una gran versatilidad del uso de los SP Para definir parámetros, ellos deben estar antes de la palabra clave AS No se requiere declararlos con la palabra DECLARE Respectivo a los parámetros de entrada Un usuario puede usar un SP con distintos parámetros de entrada y obtendrá siempre resultados distintos. Respectivo a los parámetros de salida Los parámetros de salida SIEMPRE deben estar declarados de la siguiente OUTPUT Para adquirir los parámetros de salida, es fundamental haber definido la variable antes de llamar al SP.

49 Parámetros de SP

50 Parámetros de SP Ejemplo de uso de parámetros ALTER PROCEDURE varchar(80) out AS = ( SELECT Semestre_Precio.Semestre FROM ( SELECT YEAR(FECHA) as ANHO, MONTH(FECHA)/7+1 as Semestre, PRECIO FROM AUTOMOVIL WHERE ) as Semestre_Precio GROUP BY Semestre_Precio.Semestre HAVING sum(semestre_precio.precio) = ( SELECT max(maximo.suma_periodo) FROM( SELECT sum(semestre_precio.precio) as Suma_Periodo FROM ( SELECT YEAR(FECHA) as ANHO, MONTH(FECHA)/7+1 as Semestre, PRECIO FROM AUTOMOVIL WHERE ) as Semestre_Precio GROUP BY Semestre_Precio.Semestre ) as maximo ) ) as Semestre ;

51 Parámetros de SP Ejemplo de uso de parámetros ALTER PROCEDURE varchar(80) out AS = ( SELECT Semestre_Precio.Semestre FROM ( SELECT YEAR(FECHA) as ANHO, MONTH(FECHA)/7+1 as Semestre, PRECIO FROM AUTOMOVIL WHERE ) as Semestre_Precio GROUP BY Semestre_Precio.Semestre HAVING sum(semestre_precio.precio) = ( SELECT max(maximo.suma_periodo) FROM( SELECT sum(semestre_precio.precio) as Suma_Periodo FROM ( SELECT YEAR(FECHA) as ANHO, MONTH(FECHA)/7+1 as Semestre, PRECIO FROM AUTOMOVIL WHERE ) as Semestre_Precio GROUP BY Semestre_Precio.Semestre ) as maximo ) ) as Semestre ; Nuevamente se utiliza la sentencia final para mostrar una tabla con el resultado, sin embargo, lo ideal es usar el parámetro de

52 Parámetros de SP Ejemplo de uso de parámetros ALTER PROCEDURE varchar(80) out AS = ( SELECT Semestre_Precio.Semestre FROM ( SELECT YEAR(FECHA) as ANHO, MONTH(FECHA)/7+1 as Semestre, PRECIO FROM AUTOMOVIL WHERE ) as Semestre_Precio GROUP BY Semestre_Precio.Semestre HAVING sum(semestre_precio.precio) = ( SELECT max(maximo.suma_periodo) FROM( SELECT sum(semestre_precio.precio) as Suma_Periodo FROM ( SELECT YEAR(FECHA) as ANHO, MONTH(FECHA)/7+1 as Semestre, PRECIO FROM AUTOMOVIL WHERE ) as Semestre_Precio GROUP BY Semestre_Precio.Semestre ) as maximo ) ) as Semestre ; Nuevamente se utiliza la sentencia final para mostrar una tabla con el resultado, sin embargo, lo ideal es usar el parámetro de Entonces... Como llamarlo?

53 Llamadas de un SP con parámetros de salida

54 Llamadas de un SP con parámetros de salida Como se podría pensar, la llamada debería ser:

55 Llamadas de un SP con parámetros de salida Como se podría pensar, la llamada debería ser: EXEC sp_semestremax 2008

56 Llamadas de un SP con parámetros de salida Como se podría pensar, la llamada debería ser: EXEC sp_semestremax 2008 Sin embargo, como se definió una variable de salida, es necesario declarar esa variable antes de llamar al SP. Luego de esto se utiliza como parámetro para quedar cargada con el valor de salida.

57 Llamadas de un SP con parámetros de salida Como se podría pensar, la llamada debería ser: EXEC sp_semestremax 2008 Sin embargo, como se definió una variable de salida, es necesario declarar esa variable antes de llamar al SP. Luego de esto se utiliza como parámetro para quedar cargada con el valor de salida. Luego de terminar el SP es posible utilizar esa variable declarada:

58 Llamadas de un SP con parámetros de salida Como se podría pensar, la llamada debería ser: EXEC sp_semestremax 2008 Sin embargo, como se definió una variable de salida, es necesario declarar esa variable antes de llamar al SP. Luego de esto se utiliza como parámetro para quedar cargada con el valor de salida. Luego de terminar el SP es posible utilizar esa variable declarada: Ejemplo de uso de parámetros varchar(80) EXEC sp_semestremax OUTPUT

59 Llamadas de un SP con parámetros de salida Como se podría pensar, la llamada debería ser: EXEC sp_semestremax 2008 Sin embargo, como se definió una variable de salida, es necesario declarar esa variable antes de llamar al SP. Luego de esto se utiliza como parámetro para quedar cargada con el valor de salida. Luego de terminar el SP es posible utilizar esa variable declarada: Ejemplo de uso de parámetros varchar(80) EXEC sp_semestremax OUTPUT Las llamadas a SP con parámetros deben realizarce utilizando la palabra clave EXEC seguidas de el nombre del procedimiento, luego todos los parámetros requeridos deben ir separados por, (coma).

60 Contenidos 1 Ventajas Conceptos Ejemplo 6

61 SPs Anidados

62 SPs Anidados Como bien se menciono anteriormente, un SP puede ser utilizado dentro de otro

63 SPs Anidados Como bien se menciono anteriormente, un SP puede ser utilizado dentro de otro Por ejemplo, si agregamos esto en el primer procedimiento visto:

64 SPs Anidados Como bien se menciono anteriormente, un SP puede ser utilizado dentro de otro Por ejemplo, si agregamos esto en el primer procedimiento visto: ALTER PROCEDURE sp_ciudades AS varchar(80) varchar(80) varchar(80) EXEC sp_semestremax output SELECT TOP 1 Ciudad FROM Cliente as C INNER JOIN AUTOMOVIL AS A ON A.RUT = C.RUT ORDER BY A.PRECIO DESC) = Santiago BEGIN = 1 END ELSE = 0 as Nivel ;

65 SPs Anidados Como bien se menciono anteriormente, un SP puede ser utilizado dentro de otro Por ejemplo, si agregamos esto en el primer procedimiento visto: ALTER PROCEDURE sp_ciudades AS varchar(80) varchar(80) varchar(80) EXEC sp_semestremax output SELECT TOP 1 Ciudad FROM Cliente as C INNER JOIN AUTOMOVIL AS A ON A.RUT = C.RUT ORDER BY A.PRECIO DESC) = Santiago BEGIN = 1 END ELSE = 0 as Nivel ; Y por supuesto, la podría ser utilizada en cualquier lugar del procedimiento Padre ;)

66 Contenidos 1 Ventajas Conceptos Ejemplo 6

67 La estructura de un SP

68 La estructura de un SP Si llegamos a un concenso, podríamos decir que la estructura de un SP típico es la siguiente:

69 La estructura de un SP Si llegamos a un concenso, podríamos decir que la estructura de un SP típico es la siguiente: CREATE PROCEDURE tipo OUT tipo OUT tipo OUT IN AS --Cuerpo SP tipo tipo... tipo Sentencias de control & SQLs & Llamadas a otros SP & Etc. --Fin Cuerpo SP ;

70 La estructura de un SP Si llegamos a un concenso, podríamos decir que la estructura de un SP típico es la siguiente: CREATE PROCEDURE tipo OUT tipo OUT tipo OUT IN AS --Cuerpo SP tipo tipo... tipo Sentencias de control & SQLs & Llamadas a otros SP & Etc. --Fin Cuerpo SP ; Ahora si se quiere actualizar el código del SP, en vez de usar la palabra CREATE inicialmente se utiliza ALTER.

71 La estructura de un SP Si llegamos a un concenso, podríamos decir que la estructura de un SP típico es la siguiente: CREATE PROCEDURE tipo OUT tipo OUT tipo OUT IN AS --Cuerpo SP tipo tipo... tipo Sentencias de control & SQLs & Llamadas a otros SP & Etc. --Fin Cuerpo SP ; Ahora si se quiere actualizar el código del SP, en vez de usar la palabra CREATE inicialmente se utiliza ALTER. Asimismo para borrar un SP, basta con:

72 La estructura de un SP Si llegamos a un concenso, podríamos decir que la estructura de un SP típico es la siguiente: CREATE PROCEDURE tipo OUT tipo OUT tipo OUT IN AS --Cuerpo SP tipo tipo... tipo Sentencias de control & SQLs & Llamadas a otros SP & Etc. --Fin Cuerpo SP ; Ahora si se quiere actualizar el código del SP, en vez de usar la palabra CREATE inicialmente se utiliza ALTER. Asimismo para borrar un SP, basta con: DROP PROCEDURE nombre_sp ;

73 Contenidos Conceptos Ejemplo 1 Ventajas Conceptos Ejemplo 6

74 Contenidos Conceptos Ejemplo 1 Ventajas Conceptos Ejemplo 6

75 Declarar funciones Conceptos Ejemplo La estructura es casi idéntica a un SP

76 Declarar funciones Conceptos Ejemplo La estructura es casi idéntica a un SP Existen para SQL server 3 tipos:

77 Declarar funciones Conceptos Ejemplo La estructura es casi idéntica a un SP Existen para SQL server 3 tipos: Escalares: Retorna valores Constantes

78 Declarar funciones Conceptos Ejemplo La estructura es casi idéntica a un SP Existen para SQL server 3 tipos: Escalares: Retorna valores Constantes De tablas: Maneja tablas de tal forma de retornar un set de tuplas.

79 Declarar funciones Conceptos Ejemplo La estructura es casi idéntica a un SP Existen para SQL server 3 tipos: Escalares: Retorna valores Constantes De tablas: Maneja tablas de tal forma de retornar un set de tuplas. De multiples declaraciones: Maneja tablas incluyendo su estructura base.

80 Declarar funciones Conceptos Ejemplo La estructura es casi idéntica a un SP Existen para SQL server 3 tipos: Escalares: Retorna valores Constantes De tablas: Maneja tablas de tal forma de retornar un set de tuplas. De multiples declaraciones: Maneja tablas incluyendo su estructura base. Sin duda los mas utilizados son los escalares, ya que los demás pueden ser suplidos por vistas (a excepción del de multiples declaraciones que puede ser una herramienta sumamente potente)

81 Contenidos Conceptos Ejemplo 1 Ventajas Conceptos Ejemplo 6

82 Declarar funciones Conceptos Ejemplo

83 Declarar funciones Conceptos Ejemplo Las funciones son muy similares a las utilizadas en cualquier lenguaje de programación, se usan paréntesis para los parámetros y se utiliza la palabra clave return para devolver valores.

84 Declarar funciones Conceptos Ejemplo Las funciones son muy similares a las utilizadas en cualquier lenguaje de programación, se usan paréntesis para los parámetros y se utiliza la palabra clave return para devolver valores. Ejemplo:

85 Declarar funciones Conceptos Ejemplo Las funciones son muy similares a las utilizadas en cualquier lenguaje de programación, se usan paréntesis para los parámetros y se utiliza la palabra clave return para devolver valores. Ejemplo: CREATE FUNCTION dbo.metros_a_pulgadas INT) RETURNS DECIMAL(10,3) AS BEGIN DECIMAL(10,3) = * ) * 12 END ;

86 Declarar funciones Conceptos Ejemplo Las funciones son muy similares a las utilizadas en cualquier lenguaje de programación, se usan paréntesis para los parámetros y se utiliza la palabra clave return para devolver valores. Ejemplo: CREATE FUNCTION dbo.metros_a_pulgadas INT) RETURNS DECIMAL(10,3) AS BEGIN DECIMAL(10,3) = * ) * 12 END ; Las palabras marcadas son las mas importantes.

87 Declarar funciones Conceptos Ejemplo Las funciones son muy similares a las utilizadas en cualquier lenguaje de programación, se usan paréntesis para los parámetros y se utiliza la palabra clave return para devolver valores. Ejemplo: CREATE FUNCTION dbo.metros_a_pulgadas INT) RETURNS DECIMAL(10,3) AS BEGIN DECIMAL(10,3) = * ) * 12 END ; Las palabras marcadas son las mas importantes. se debe declarar el tipo de retorno de la función

88 Declarar funciones Conceptos Ejemplo Las funciones son muy similares a las utilizadas en cualquier lenguaje de programación, se usan paréntesis para los parámetros y se utiliza la palabra clave return para devolver valores. Ejemplo: CREATE FUNCTION dbo.metros_a_pulgadas INT) RETURNS DECIMAL(10,3) AS BEGIN DECIMAL(10,3) = * ) * 12 END ; Las palabras marcadas son las mas importantes. se debe declarar el tipo de retorno de la función Al final de la instrucciones debe ir un RETURN, con la variable a retornar, seguido de un END.

89 Contenidos 1 Ventajas Conceptos Ejemplo 6

90 Bibliografía [Funcionalidades SQL Server, 2005] Microsoft Team. MSDN [SQL Server 2005 for dummies, 2003] Microsoft Team. Capitulos 14 y 15 [Manual SP y, 2002] Mitchell Harper.

91 Bibliografía [Funcionalidades SQL Server, 2005] Microsoft Team. MSDN [SQL Server 2005 for dummies, 2003] Microsoft Team. Capitulos 14 y 15 [Manual SP y, 2002] Mitchell Harper.

92 Bibliografía [Funcionalidades SQL Server, 2005] Microsoft Team. MSDN [SQL Server 2005 for dummies, 2003] Microsoft Team. Capitulos 14 y 15 [Manual SP y, 2002] Mitchell Harper. Dudas, Consultas? 4 de noviembre de 2008

MANUALITO MS-SQL SERVER

MANUALITO MS-SQL SERVER MANUALITO MS-SQL SERVER Contenido 1. Crear Store Procedures en MS SQL Server... 1 2. Crear Triggers en MS SQL Server... 5 3. Crear Vistas en MS SQL Server... 9 1. Crear Store Procedures en MS SQL Server

Más detalles

ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación

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

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación De Índices (L32) UNA TABLA PUEDE CONTENER VARIOS ÍNDICES SQL SERVER CREA AUTOMATICÁMENTE ÍNDICES ÚNICOS PARA ASEGURAR LOS CONSTRAINTS DE PRIMARY KEY Y UNIQUE EL ÍNDICE POR DEFECTO PARA LA CLAVE

Más detalles

Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV

Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV En esta guía: Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV Procedimientos Almacenados... 1 Procedimientos Almacenados (Stored Procedures)... 1 Sintaxis de Procedimientos Almacenados...

Más detalles

Procedimientos almacenados con parametros de salida

Procedimientos almacenados con parametros de salida Procedimientos almacenados con parametros de salida CREATE PROC[EDURE] [ {@parámetro tipodatos} [= predeterminado] [OUTPUT] ] [,...n] [WITH { RECOMPILE ENCRYPTION } ] AS Sentencias

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

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. 6 LABORATORIO DE NOMBRE DE LA PRÁCTICA

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

9- Procedimientos almacenados.

9- Procedimientos almacenados. Objetivos: 9- Procedimientos almacenados. Crear procedimientos almacenados para ser usados en el desarrollo de software. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Base de datos

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

Bases de Datos Relacionales

Bases de Datos Relacionales Bases de Datos Relacionales PROCEDIMIENTOS ALMACENADOS Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase Manuales SQL Server Manuales Oracle Procedimientos almacenados Un procedimiento almacenado

Más detalles

SQL Server 2000. FEMEPA SQL Server 2000

SQL Server 2000. FEMEPA SQL Server 2000 FEMEPA Partes del SQL El lenguaje SQL está compuesto de varios sub-lenguajes, entre los cuales destacan los tres siguientes: DML. Lenguaje de definición de datos. Todas las sentencias de manipulación de

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

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

CURSO TRANSACT SQL MANUAL TÉCNICO CURSO TRANSACT SQL MANUAL TÉCNICO 1

CURSO TRANSACT SQL MANUAL TÉCNICO CURSO TRANSACT SQL MANUAL TÉCNICO 1 CURSO TRANSACT SQL MANUAL TÉCNICO CURSO TRANSACT SQL MANUAL TÉCNICO 1 Introducción... 3 Consultas Básicas... 3 Consultas de Selección... 3 Consultas de Modificación... 7 Consultas de Combinación... 9 Consultas

Más detalles

MS_20461 Querying Microsoft SQL Server

MS_20461 Querying Microsoft SQL Server Gold Learning Gold Business Intelligence Silver Data Plataform www.ked.com.mx Por favor no imprimas este documento si no es necesario. Introducción. Este curso proporciona a los estudiantes las habilidades

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

Administradores de Bases de Datos Studio.NET 2005 Y SQL Server 2005. Barrios

Administradores de Bases de Datos Studio.NET 2005 Y SQL Server 2005. Barrios Curso de SQL Server 2005 Developer e Introducción a VB.net Práctica No.1. Escribiendo y ejecutando código transact sql desde el Query Analyzer EELLAA BBO RRAADDO PPO RR: FFEECCHHAA DDEE EELLAABB OO RR

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

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

ST31_Querying Microsoft SQL Server

ST31_Querying Microsoft SQL Server ST31_Querying Microsoft SQL Server Presentación Este curso de 5 días proporciona a los estudiantes las habilidades técnicas necesarias para escribir consultas de Transact-SQL básicas para Microsoft SQL

Más detalles

Objetos de la Base de Datos

Objetos de la Base de Datos Objetos de la Base de Datos Todos los datos de una base de datos de Microsoft SQL Server 2005/8 están contenidos en objetos llamados tablas. Cada tabla representa algún tipo de objeto con significado para

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

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

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

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

PROCEDIMIENTOS ALMACENADOS. CREATE PROCEDURE nombreprocedimiento [@parametro1 tipodato [=valordefecto]][,...]

PROCEDIMIENTOS ALMACENADOS. CREATE PROCEDURE nombreprocedimiento [@parametro1 tipodato [=valordefecto]][,...] PROCEDIMIENTOS ALMACENADOS CREATE PROCEDURE nombreprocedimiento [@parametro1 tipodato [=valordefecto]][,...] SENTENCI.. forma de llamarlo [exec] nombreprocedimiento [valorparametro1][,valor paremtro2...]

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

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION CICLO 1-2015 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO Nº10 Nombre de la practica: Creación de Vistas y Procedimientos Almacenados Lugar de ejecución:

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

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h L1. ANSI SQL SQL, STANDS STRUCTURED QUERY LANGUAGE ANSI SQL 9 2 ESTANDARD SQL LENGUAJE DBMS RELACIONALES SQL SERVER 2005/2008, DBMS MICROSOFT TRANSACT SQL (T-SQL) LENGUAJE SQL SERVER 2005/2008 T-SQL SE

Más detalles

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL. GUIA DE LABORATORIO # 5 Nombre de la Practica: Manipulación de datos Lugar de ejecución: Centro de Computo MATERIA: Base de Datos II CICLO: 02-2012 I. OBJETIVOS ESPECIFICOS Qué el estudiante: Manipule

Más detalles

Tema: Disparadores Parte I.

Tema: Disparadores Parte I. Base de datos I. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Disparadores Parte I. Objetivo Utilizar la sintaxis de un disparador en SQL Server Implementar transacciones

Más detalles

GALA MODELO CLIENTE SERVIDOR SQL SERVER MANAGEMENT STUDIO SERVIDOR SQL BASES DE DATOS. Introducción. Describir SQL Server (L1)

GALA MODELO CLIENTE SERVIDOR SQL SERVER MANAGEMENT STUDIO SERVIDOR SQL BASES DE DATOS. Introducción. Describir SQL Server (L1) Describir SQL Server (L1) MODELO CLIENTE SERVIDOR SQL SERVER MANAGEMENT STUDIO SERVIDOR SQL BASES DE DATOS Sistema de Operación SQL Server (L1) WINDOWS 2000/2003 ADVANCED SERVER WINDOWS 2000/2003 SERVER

Más detalles

MS_10774 Querying Microsoft SQL Server 2012

MS_10774 Querying Microsoft SQL Server 2012 Querying Microsoft SQL Server 2012 www.ked.com.mx Av. Revolución No. 374 Col. San Pedro de los Pinos, C.P. 03800, México, D.F. Tel/Fax: 52785560 Introducción Este curso de cinco días impartido por instructor,

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

GUÍA DE TRABAJO GRADO 11. Articulación SENA Programación de Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

GUÍA DE TRABAJO GRADO 11. Articulación SENA Programación de Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6 Página 1 de 6 Tema: PROCEDIMIENTOS ALMACENADOS SQL SERVER Objetivo: Adquirir los conocimientos necesarios para desarrollar e implementar procedimientos almacenados utilizando SQL Server y lenguaje C# I.

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

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA SQL Y MODELAMIENTO DE DATOS SQL SERVER 2012 I.- PRESENTACIÓN: El Curso está dirigido a estudiantes de la carrera profesional de Ingeniería de

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

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1 Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER GUÍA 2 Pág. 1 I. OBJETIVOS Utilizar procedimientos almacenados Conocer el uso de los cursores

Más detalles

SQL EMBEBIDO FELIPE GARCÍA GÓMEZ

SQL EMBEBIDO FELIPE GARCÍA GÓMEZ UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA SQL EMBEBIDO FELIPE GARCÍA GÓMEZ Profesor: Asignatura: Titulación: Fecha: D. Francisco Ruiz González Bases de Datos Ing. Sup. Informática

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

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 ESTRUCTURA DEL SEMINARIO Modulo 1: Crear y administrar una base de datos SQL Server Métodos para crear una base de datos SQLServer.

Más detalles

6. PROGRAMACIÓN CON TRANSACT-SQL

6. PROGRAMACIÓN CON TRANSACT-SQL 6. PROGRAMACIÓN CON TRANSACT-SQL 6.1. Introducción. " # 6.2. Declaración y asignación de variables. $ " % & ' # ( % ) # (( ) *$+,$ " $ # &-' $ $. $" / # 0 1$,$2 DECLARE @limite money SET @limite = 10 SELECT

Más detalles

SERVICIO NACIONAL DE APRENDIZAJE SENA

SERVICIO NACIONAL DE APRENDIZAJE SENA SERVICIO NACIONAL DE APRENDIZAJE SENA GUÍA DE APRENDIZAJE SISTEMA INTEGRADO DE GESTIÓN Proceso Gestión de la Formación Profesional Integral Procedimiento Ejecución de la Formación Profesional Integral

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

Álvaro Herrera alvherre@dcc.uchile.cl Modelamiento Avanzado de Datos con PostgreSQL

Álvaro Herrera alvherre@dcc.uchile.cl Modelamiento Avanzado de Datos con PostgreSQL Modelamiento Avanzado de Datos con PostgreSQL Álvaro Herrera alvherre@dcc.uchile.cl Quinto Encuentro Nacional de Linux, Chile Contenidos Restricciones Check OUTER JOIN Operaciones de Conjuntos Agrupamiento

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

- 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

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

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas LENGUAJE SQL Que es SQL? SQL es un estándar un lenguaje estructurado para consultas SQL te permite acceder y manejar bases de datos SQL es un Estándar (ANSI American National Standards Institute) Que puede

Más detalles

Tema: PROCEDIMIENTOS ALMACENADOS.

Tema: PROCEDIMIENTOS ALMACENADOS. Base de datos I. Guía 9 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: PROCEDIMIENTOS ALMACENADOS. Objetivo Específico Conocer la sintaxis de un procedimiento almacenado

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

SQL dinámico en Transact SQL

SQL dinámico en Transact SQL SQL dinámico en Transact SQL Transact SQL permite dos formas de ejecutar SQL dinamico(construir sentencias SQL dinamicamente para ejecutarlas en la base de datos): La instrucción EXECUTE - o simplemente

Más detalles

Implementación de funciones definidas por el usuario

Implementación de funciones definidas por el usuario Implementación de funciones definidas por el usuario Contenido Introducción 1 Qué es una función definida por el usuario? 2 Definición de funciones definidas por el usuario 3 Ejemplos de funciones definidas

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

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having

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

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 ) Definiciones Transacciones ( L33 ) CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) Transacciones En Microsoft ( L33 ) MANUAL (REQUIERE PROGRAMACION) AUTOMATICO (COM+ O DTM) DTM (DISTRIBUTED TRANSACTION

Más detalles

Procedimientos Almacenados con InterBase

Procedimientos Almacenados con InterBase Procedimientos Almacenados con InterBase Por Alfonso Ricaño Bringas Los Procedimientos Almacenados son otra característica interesante con la que cuenta InterBase. En este artículo muestro una introducción

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

Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV

Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV Actividades: Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV Creación del CRUD mediante Procedimientos Almacenados.... 1 Creación del CRUD de Empresas en la Base de Datos:... 1 Creación...

Más detalles

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

: 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 usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas. Vistas. El resultado de una consulta en el caso de SQL siempre es una tabla, ésta se puede hacer permanente dentro de la base de datos. En este caso se dice que esta tabla resultado es una vista o una

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

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

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

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

Vistas en postgresql

Vistas en postgresql Vistas en postgresql Conceptos y definición de Vista Los usuarios que acceden a una base de datos relacional, lo hacen típicamente a través de vistas, de modo que diferentes usuarios tienen diferentes

Más detalles

Base de datos Lenguaje SQL

Base de datos Lenguaje SQL Base de datos Lenguaje SQL Universidad Nacional Andrés Bello Contenidos 1 2 Ejemplo Ejemplo Distinct Ejemplo - I Ejemplo - II Ejemplo Ejemplo Top - I Ejemplo Top - II Contenidos 1 2 Ejemplo Ejemplo Distinct

Más detalles

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL MENDOZA DEPARTAMENTO DE INGENIERÍA EN SISTEMAS DE INFORMACIÓN CÁTEDRA DE GESTIÓN DE DATOS 3º AÑO TRABAJO ESPECIAL Secuencia Didáctica de Comandos del

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

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

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig Motores de Bases de Datos MySQL (Oracle) SQL Server (Microsoft) PostgreSQL Oracle (Oracle) DB2 (IBM) Informix (IBM) Instalación

Más detalles

Curso SQL Nivel Avanzado 1. Miguel Jurado García

Curso SQL Nivel Avanzado 1. Miguel Jurado García Curso SQL Nivel Avanzado 1 Miguel Jurado García Temario Sesión 1: 1- Elementos de Sintaxis Uso de Variables Collation y las Fechas Construcción de Sentencias Dinámicas 2- SQL Server Management Studio Filtrado

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

Tema 33. El lenguaje SQL

Tema 33. El lenguaje SQL Tema 33. El lenguaje SQL Introducción... 1 Modos de uso... 2 Ejecución de las sentencias SQL... 2 Instrucciones DDL Data Definition Language-... 3 Instrucciones DML Data Manipulation Language-... 4 Instrucciones

Más detalles

Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en

Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en 15/05/2012 1 Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en aplicaciones informáticas en 1975. 2 Como

Más detalles

Construcción de la base de datos en Oracle

Construcción de la base de datos en Oracle Estructura de contenidos. INTRODUCCIÓN...2 1. CREACIÓN DE UN USUARIO...3 2. CONSTRUCCIÓN DE LA ESTRUCTURA DE ALMACENAMIENTO...6 2.1 Crear Tabla Pacientes...7 2.2 Crear Tabla Médicos...11 2.3 Crear Tabla

Más detalles

TUTORIAL DATA WAREHOUSE SQL Server: ETL Parte II

TUTORIAL DATA WAREHOUSE SQL Server: ETL Parte II TUTORIAL DATA WAREHOUSE SQL Server: ETL Parte II Este documento consta de: Pasos generales a seguir Pasos específicos a seguir 2 Pasos generales a seguir Parte I 1. Crear la Base de Datos de la Staging

Más detalles

3 Consultas y subconsultas

3 Consultas y subconsultas 3 Consultas y subconsultas En SQL, la sentencia SELECT permite escribir una consulta o requerimiento de acceso a datos almacenados en una base de datos relacional. Dichas consultas SQL van desde una operación

Más detalles

T12 Vistas y tablas temporales

T12 Vistas y tablas temporales 1 de 9 17/05/2013 14:01 Lecciones SQL > T12 Vistas y tablas temporales En esta sesión vamos a mostrar dos tipos de objetos de uso habitual en cualquier SGBD: las vistas y las tablas temporales. Mientras

Más detalles

Microsoft SQL Server 2005

Microsoft SQL Server 2005 Microsoft SQL Server 2005 Módulo 1: Diseño y programación Estudia el servidor de bases de datos SQL Server 2005 desde el punto de vista de un diseñador y programador de bases de datos, prestando atención

Más detalles

Uso de las herramientas de consulta de Transact-SQL

Uso de las herramientas de consulta de Transact-SQL Uso de las herramientas de consulta de Transact-SQL Contenido Introducción 1 Analizador de consultas SQL 2 Uso de la herramienta Examinador de objetos en el Analizador de consultas SQL 3 Uso de plantillas

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

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

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

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

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 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina

Más detalles

Bases de datos: Sistemas de bases de datos:

Bases de datos: Sistemas de bases de datos: Bases de datos: Sistemas de bases de datos: Un sistema de bases de datos es básicamente un sistema para archivar en computador, es decir, es un sistema computarizado cuyo propósito general es mantener

Más detalles

Descriptor del curso. Nombre del curso: Haciendo consultas en SQL Server 2014. Descripción:

Descriptor del curso. Nombre del curso: Haciendo consultas en SQL Server 2014. Descripción: Descriptor del curso Nombre del curso: Haciendo consultas en SQL Server 2014 Descripción: Los estudiantes aprenden las habilidades técnicas para escribir consultas básicas de Transact SQL para Microsoft

Más detalles

DESCRIPCIÓN ESPECÍFICA

DESCRIPCIÓN ESPECÍFICA DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios. SUBSECTOR: Informática. Nombre del Módulo: Programación de Base de Datos Código: CSTI0077 Duración total: 54 horas Objetivo General: Participar

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER. Duración : 35 Hrs.

Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER. Duración : 35 Hrs. Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER Duración : 35 Hrs. Sobre este curso Este curso de 5 días impartido por un instructor proporciona a estudiantes con las habilidades técnicas necesarias

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

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