Estructura general de un programa en el servidor de Bases de Datos.

Slides:



Advertisements
Presentaciones similares
Programación de Computadores
Advertisements

VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
Se necesita un PA que muestre la información de todos los clientes registrados de la siguiente forma: Nombre1 Nombre2, Apellido1 Apellido2 bajo el título.
Insercion de datos..
Instrucciones Básicas Entrada de Información
Implementación de funciones definidas por el usuario
Introducción a Transact-SQL
MANUAL EXPRESS DE C J.M.sevilla.
Metodología de la Programación
INTRODUCCION AL SQL PROCEDURAL
Repaso para la construcción del intérprete 2012
Elementos básicos del Lenguaje
UNIVERSIDAD NACIONAL DE LOJA Carrera de Ingeniería en Sistemas
Fundamentos de la Programación Estructurada
Procedimientos y Funciones
Desarrollo de Aplicaciones para Internet
Presentación Asignatura POF030 Semana 1. Contenido En forma general, los conceptos que se estudiarán en la asignatura son: – Procedures – Functions –
Subprogramas: Procedimientos
Variables Prof. Gonzalo Pastor.
FUNCIONES EN C.
FORTRAN 90 Subprogramas.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Características Objeto Relacionales en Oracle
MÓDULO DE PROCEDIMIENTOS Los módulos también pueden contener subrutinas y funciones → MÓDULO DE PROCEDIMIENTOS  PROCEDIMIENTOS → son compilados como parte.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
FUNCIONES Y PROCEDIMIENTOS
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
PL/SQL Francisco Moreno Universidad Nacional.
SQL SERVER APLICADO (SSA010) Ariel Alexis Fierro Sáez DuocUC.
Arboles Binarios de expresiones
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
16/04/ Sesión 11 Funciones y procedimientos Ing. Ricardo Inquilla.
PROCEDIMIENTOS FUNCIONES
Programación III Clase 06 Funciones.
FUNCIONES O PROCEDIMIENTOS
Microsoft© Visual Basic . Net.
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
EXPRESIONES Y SENTENCIAS
Elementos básicos del lenguaje
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
Unidad II Introducción a la programación en C++
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Elementos básicos del lenguaje
Funciones Definidas por el Programador
PROCEDIMIENTOS ALMACENADOS Es una consulta almacenada en la base de datos en un servidor. Los P.A. Mejoran el Rendimiento Disminuyen el tráfico. Los P.A.
Términos algoritmo diseñar algoritmo implementar algoritmo
PEDRO ALBERTO ARIAS QUINTERO. El shell es un intérprete de órdenes, los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como.
Contenido:  ¿Qué son los Punteros?  Los Procedimientos: New y Dispose.
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
INTRODUCCION A LA PROGRAMACION
PRINCIPIOS DE PROGRAMACIÓN
Fundamentos de Programación
Práctica Profesional PHP.
Estructuras de Control
Arreglos: Vectores Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo SQL en PL/SQL Conceptos básicos.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
MULTIPLAN Multiplan es la práctica en grupo que hemos tenido que realizar durante el curso según las especificaciones dadas en la asignatura.
Funciones Copyright © 2005 Unidad 1. Copyright © 2005 Objetivos del Aprendizaje Explicar la naturaleza y usos de las funciones. Describir algunas funciones.
Algorítmica y Programación
5 Paquetes ORACLE Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
DML Transact SQL Sesión IX Introducción a los procedimientos almacenados.
Implementación de funciones definidas por el usuario.
Paso de parámetros Diseño de programas iterativos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 7 Versión.
DAI - Ing. Arturo Rozas Huacho Tablas Cruzadas Sistemas de Base de Datos Para entender el concepto de tablas cruzadas, veamos el siguiente ejemplo:
Administración de Sistemas Gestores de Bases de Datos.
Transcripción de la presentación:

Estructura general de un programa en el servidor de Bases de Datos

Sintaxis general: CREATE PROCEDURE sp_name ([ parameter[,…] ] ) routine_body Donde: parameter: [ IN | OUT | INOUT ] param_name type type: Cualquier tipo de dato válido para mysql. routine_body: comandos SQL válidos

CREATE PROCEDURE sp_name ([ parameter[,…] ] ) routine_body Bloque Cabecera Bloque de Ejecución

Tipos de Programas en el lado del servidor: Procedimientos almacenados Funciones de Usuario. Triggers. (se verá después)

El punto y coma (;) es el delimitador por defecto. Los procedimientos almacenados y funciones pueden contener varias sentencias que terminan con este delimitador. Se debe indicar a MySQL que temporalmente NO lo usaremos como carácter delimitador, eso lo haremos usando la sentencia DELIMITER.

BEGIN - END [etiqueta_inicio:] BEGIN [lista_sentencias] END [etiqueta_fin] La sintaxis BEGIN... END se utiliza para escribir sentencias compuestas que pueden aparecer en el interior de procedimientos almacenados. Una sentencia compuesta puede contener múltiples sentencias, encerradas por las palabras BEGIN y END. lista_sentencias es una lista de una o más sentencias. Cada sentencia dentro de lista_sentencias debe terminar con un punto y como (;) delimitador de sentencias.

DECLARE El comando DECLARE se usa para definir variables locales que se utilizarán dentro de los PA. DECLARE puede usarse sólo dentro de comandos compuestos BEGIN... END y deben ser su inicio, antes de cualquier otro comando.

CREATE PROCEDURE sp_name ([ parameter[,…] ] ) Begin Declare… … End Bloque Cabecera Bloque de Ejecución Bloque de Declaracion

Como se invocan??? PROCEDURE: sentencia call mysql> call nombre_del_procedimiento(); FUNCTION: select mysql> select nombre_funcion(); TRIGGER: no se invoca

Recordando… Funciones SQL estándar. Clasificación: –Funciones Numéricas. –Agregación. –Fecha y Hora. –Cadena de caracteres. –Otras. Investigar sobre fns. SQL estándar.

Funciones definidas por el usuario

Sintaxis: CREATE FUNCTION sp_name ([parameter[,...]]) RETURNS type routine_body Una funcion (FUNCTION) es un procedimiento almacenado (PROCEDURE). Difieren de los procedimientos en: La lista de parámetros solo puede contener parámetros de entrada. IN, OUT o INOUT es solo válido para PA. Una funcion siempre debe retornar un valor del tipo definido en la declaracion de la funcion. Las fns. pueden ser llamadas dentro de sentencias sql Una funcion no puede devolver un registro de datos.

delimiter // CREATE FUNCTION Cubo(Numero float) RETURNS float BEGIN declare cubo1 float; set cubo1=(Numero * Numero * Numero); return cubo1; END; // Si requiero utilizar esta fn… Select cubo(4),…. Select cubo(numero) from tabla

Crear una tabla con Nombre, Nota 1, Nota 2, Nota 3. Crear una función que calcule el promedio de estas 3 notas. Notas sin decima.

DELIMITER // CREATE FUNCTION promedio_normal (numero1 int, numero2 int, numero3 int) RETURNS float BEGIN declare prom float; set prom=((numero1+numero2+numero3)/3); return prom; END; // select nota1, nota2, nota3, promedio_normal(nota1, nota2, nota3) from alumno;

DELIMITER // CREATE FUNCTION promedio_normal_otro (numero1 int, numero2 int, numero3 int) RETURNS float BEGIN declare sum int; declare prom float; set sum=numero1+numero2+numero3; set prom=(sum/3); return prom; END; //

Notas con una decima. Promedio de notas con una decima.

DELIMITER // CREATE FUNCTION promedio_decimas (numero1 float, numero2 float, numero3 float) RETURNS float BEGIN declare prom float; set prom=round(((numero1+numero2+numero3)/3), 1); return prom; END; //

Crear una función que calcule el promedio ponderado de estas 3 notas (decimal). Ponderacion: 20%, 30%, 50%

DELIMITER // CREATE FUNCTION promedio_ponderado (numero1 float, numero2 float, numero3 float) RETURNS float BEGIN declare prom float; set prom=round((numero1*0.2+numero2*0.3+numero3*0.5), 1); return prom; END; //

Usando una ponderación cualquiera que se de en el momento.

DELIMITER // CREATE FUNCTION promedio_ponderado_cual (numero1 float, numero2 float, numero3 float, p1 int, p2 int, p3 int) RETURNS float BEGIN declare prom float; set prom=round((numero1*p1/100+numero2*p2/100+numer o3*p3/100),1); return prom; END; //

Ponderaciones suman 1… Qué pasa si la suma de ponderaciones no suman 1??? Qué se puede hacer?

Algunas estructuras de control.

BLOQUE IF IF expresión THEN … ELSE … … END IF;

WHILE WHILE expresión DO -- contenido del bucle END WHILE;

REPEAT – UNTIL REPEAT -- CODE DEL BUCLE UNTIL variable >= 1 END REPEAT;

CASE (similar al SWITCH o SELEC CASE de algunos lenguajes de programación) CASE variable WHEN 1 THEN -- que hacer en caso de que variable = 1 WHEN 2 THEN -- que hacer en caso de que variable = 2 WHEN x THEN -- que hacer en caso de que variable = x ELSE -- que hacer en caso de que no se presente alguno de los casos anteriores END CASE;

Ponderaciones suman 1…sino promedio=1

DELIMITER // CREATE FUNCTION promedio_ponderado_if (numero1 float, numero2 float, numero3 float, p1 int, p2 int, p3 int) RETURNS float BEGIN declare prom float; if (p1+p2+p3)=100 then set prom=round((numero1*p1/100+numero2*p2/100+numero3*p3/100), 1); return prom; else set prom=1; return prom; end if; END; //

Tarea: Para la BD Universidad crear una función que calcule la cantidad de horas semanales de una asignatura en función de sus creditos: Cantidad de horas asignatura=creditos*3

Tarea: Para la BD universidad cree una función que calcule la edad a partir de la fecha de nacimiento. Probar con resultados decimales. Probar con resultados enteros.

Recursividad…una función puede llamarse a si misma… Sin embargo Mysql no permite llamadas recursivas. Tarea: Crear una función que calcule el factorial de un numero: 5! = 5*4*3*2*1