UNIVERSIDAD DE OVIEDO ESCUELA POLITÉCNICA SUPERIOR DE INGENIERÍA DE

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

Download "UNIVERSIDAD DE OVIEDO ESCUELA POLITÉCNICA SUPERIOR DE INGENIERÍA DE"

Transcripción

1 UNIVERSIDAD DE OVIEDO ESCUELA POLITÉCNICA SUPERIOR DE INGENIERÍA DE GIJÓN LENGUAJES Y SISTEMAS INFORMÁTICOS PROYECTO FIN DE CARRERA Nº ÁNALISIS TEORICO/PRÁCTICO DE LA TRADUCCIÓN DE UN LENGUAJE DE CUARTA GENERACIÓN A JAVA DOCUMENTO Nº 1 MEMORIA ÁNGEL SUÁREZ GARCÍA JULIO DE 2008 TUTOR: RAÚL IZQUIERDO CASTANEDO

2 2 ÍNDICE: PREAMBULO...6 PLANTEAMIENTO 4GL...8 INTRODUCCION 4GL...8 ESTUDIO DEL LENGUAJE INFORMIX-4GL...9 INTERFACES DE UNA APLICACIÓN EN INFORMIX 9 PARTES DE UNA APLICACIÓN 10 CARACTERÍSTICAS BÁSICAS DEL LENGUAJE 12 TIPOS DE DATOS 17 EXPRESIONES 4GL 19 TRADUCTOR DEL LENGUAJE PRERREQUISITOS 24 ALCANCE Y LIMITACIONES 24 ANALIZADOR LEXICO 25 ANALISIS DE LA SINTAXIS 27 SEMANTICA, TABLA DE SIMBOLOS, Y MANEJO DE ERRORES 53 GENERACIÓN DE CÓDIGO 55 TRATAMIENTO DE SENTENCIAS DE INFORMIX-4GL SENTENCIAS DE DEFINICIÓN DEL MÓDULO PRINCIPAL DE PROGRAMA 57 SENTENCIAS DE MANEJO DE FUNCIONES 70 SENTENCIAS DE CONTROL DEL FLUJO 74 SENTENCIA DE DEFINICIÓN DE MENÚS 79 SENTENCIAS DE DECLARACIÓN Y UTILIZACIÓN DE VARIABLES 83 ÁMBITO DE VARIABLES PLANTEAMIENTO SQL ENFOQUE PRERREQUISITOS ESTANDARES SQL CONVENCIONES DE SINTAXIS CLASIFICACIÓN DE LAS SENTENCIAS SQL SENTENCIAS SQL DE DEFINICIÓN DE DATOS 93 SENTENCIAS SQL DE MANIPULACIÓN DE DATOS 93 SENTENCIAS SQL DE MANIPULACIÓN DE CURSORES 93 SENTENCIAS SQL DE OPTIMIZACIÓN-INFORMACIÓN 93 SENTENCIAS SQL DE CONTROL DE ACCESO A LOS DATOS 93 SENTENCIAS SQL QUE GARANTIZAN LA INTEGRIDAD DE LOS DATOS 94 SENTENCIAS SQL DE MANIPULACIÓN DINÁMICA DE DATOS 94 ESTUDIO DE LAS SENTENCIAS SQL SENTENCIA ALTER INDEX 94 SENTENCIA ALTER TABLE 95 SENTENCIA BEGIN WORK 102 SENTENCIA CLOSE 104 SENTENCIA CLOSE DATABASE 105 SENTENCIA COMMIT WORK 106 SENTENCIA CREATE AUDIT 106 SENTENCIA CREATE DATABASE 107 SENTENCIA CREATE INDEX 109 SENTENCIA CREATE SYNONYM 110 SENTENCIA CREATE TABLE 111 SENTENCIA CREATE VIEW 117

3 3 SENTENCIA DATABASE 118 SENTENCIA DECLARE CURSOR 119 SENTENCIA DELETE FROM 120 SENTENCIA DROP AUDIT FOR 121 SENTENCIA DROP DATABASE 122 SENTENCIA DROP INDEX 122 SENTENCIA DROP SYNONYM 123 SENTENCIA DROP TABLE 124 SENTENCIA DROP VIEW 125 SENTENCIA EXECUTE 125 SENTENCIA FETCH 126 SETENCIA FLUSH 127 SENTENCIA FREE 128 SENTENCIA GRANT 128 SENTENCIA INSERT INTO 134 SENTENCIA LOAD FROM 135 SENTENCIA LOCK TABLE 136 SENTENCIA OPEN 138 SENTENCIA PREPAPRE 139 SENTENCIA PUT 140 SENTENCIA RENAME COLUMN 140 SENTENCIA RENAME TABLE 141 SENTENCIA REVOKE 141 SENTENCIA ROLLBACK WORK 143 SENTENCIA SELECT 143 SENTENCIA START 147 SENTENCIA UNLOAD 147 UNLOCK TABLE 148 SENTENCIA UPDATE 148 UPDATE STATISTICS 150 SENTENCIAS DE MANIPULACIÓN DINÁMICA DE DATOS Y CURSORES SENTENCIAS DE CONTROL DE FLUJO ESTUDIO DE TIPOS DE DATOS TIPOS DATOS BASICOS 154 TIPOS DE DATOS JDBC 156 TIPOS DE DATOS INFORMIX-SQL 157 TIPO DE DATOS SQLSERVER 161 TIPOS DE DATOS DE ORACLE 164 TIPOS DE DATOS DE DB2 167 TABLA DE MAPEOS 169 MAPEO DE TIPOS DE DATOS ENTRE JDBC Y JAVA FUNCIONES DE RECUPERACION DE DATOS SQL CONVERSIONES DE TIPOS DE DATOS TRATAMIENTO DE LAS CONVERSIONES NO IMPLICITAS 178 EXPRESIONES SQL EXPRESIONES DE MANEJO DE COLUMNAS 184 EXPRESIONES DE CONSTANTES 188 FUNCIONES SQL 191 EXPRESIONES AGREGADAS 195 NOMBRES DE VARIABLES 196

4 4 NOMBRES DE ELEMENTOS DE LA BASE DE DATOS OPERACIONES SOBRE EXPRESIONES SQL TRATAMIENTO POR SQLSERVER 199 TRATAMIENTO PO ORACLE 203 TRATAMIENTO POR DB2 206 TRADUCCIÓN DE OPERADORES SOBRE EXPRESIONES 208 CONFIGURACIÓN LOCAL ELEMENTOS DE INFORMIX 210 ELEMENTOS DE SQLSERVER 211 ELEMENTOS DE ORACLE 212 ELEMENTOS DE DB2 213 ELEMENTOS DE JAVA 213 CONCLUSIONES Y EJEMPLO DE CONFIGURACIÓN 214 TRATAMIENTO DE LAS FECHAS RECONOCIMIENTO DE LAS FECHAS 217 MOSTRAR VALORES 217 INTERCAMBIO DE DATOS ENTRE JAVA Y EL GESTOR 218 CREACIÓN DE OBJETOS: PROPIETARIO Y ACCESO OBJETOS CREADOS EN INFORMIX 222 OBJETOS CREADOS EN SQLSERVER 222 OBJETOS CREADOS EN DB2 223 OBJETOS CREADOS EN ORACLE 223 CONCLUSIONES 224 CONFIGURACIÓN DE LA CONEXIÓN PLANIFICACIÓN Y PRESUPUESTO MANUAL DE USUARIO REQUISITOS HARDWARE 229 REQUISITOS SOFTWARE 229 CONFIGURACIÓN 230 EJECUCIÓN DEL TRADUCTOR 233 VERIFICACIÓN DE FUNCIONAMIENTO 234 ANEXO I: FUENTES EJEMPLO SENTENCIA ALTER TABLE 235 EJEMPLO SENTENCIAS CONEXIÓN/DESCONEXIÓN 237 EJEMPLO SENTENCIAS DE TRATAMIENTO DE TRANSACCIONES 237 EJEMPLO SENTENCIA CREACION INDICE 238 EJEMPLO SENTENCIA CREACION DE SINONIMOS 239 EJEMPLO SENTENCIA CREACION DE TABLA 242 EJEMPLO SENTENCIAS CREACION TABLA TEMPORAL 243 EJEMPLO SENTENCIA CREACION VISTA 245 EJEMPLO SENTENCIA DELETE 247 EJEMPLO SENTENCIA DROP INDEX 248 EJEMPLO SENTENCIA DROP OBJETO 249 EJEMPLO SENTENCIA GRANT 251 EJEMPLO SENTENCIA INSERT 251 EJEMPLO SENTENCIA LOAD/UNLOAD 252 EJEMPLO SENTENCIA LOCK/UNLOCK 253 EJEMPLO SENTENCIA RENAME COLUMN 254 EJEMPLO SENTENCIA RENAME TABLA 255 EJEMPLO SENTENCIA PREPARE/EXECUTE PREPARE/DECLARE 256

5 5 EJEMPLO SENTENCIA DECLAREFORUPDATE 258 EJEMPLO SENTENCIA FOREACH-FORUPDATE 262 EJEMPLO SENTENCIA TIPOS DE DATOS 267 EJEMPLO DE MANEJO DE COLUMNAS Y CONSTANTES PREDEFINIDAS 269 EJEMPLO DE MANEJO DE LITERALES, CONSTANTES Y VARIABLES 272 EJEMPLO FUNCIONES DE MANEJO DE FECHAS 275 EJEMPLO DE FUNCIONES MATEMÁTICAS 280 EJEMPLO DE FUNCIONES AGREGADAS 283 EJEMPLO DE FUNCION WEEKDAY 284 EJEMPLO DE MANEJO DE OPERACIONES SOBRE EXPRESIONES 288 EJEMPLO DE MANEJO DE CONSTANTES TIPO FECHA 305 ÍNDICE DE FIGURAS ÍNDICE DE TABLAS INDICE DE CUADROS REFERENCIAS BIBLIOGRAFICAS

6 6 PREAMBULO La idea de este proyecto surgio hace varios años, sobre el año 2001, cuando trabajaba en una empresa cuyo principal producto era un ERP el cual estaba desarrollado en Informix-4GL y funcionaba sobre el gestor de bases de datos Informix-SE (Standard Engine). Debido al futuro incierto de Informix Software Inc. y por añadidura de sus productos y a la necesidad de innovación técnologica del producto los directivos de la empresa se plantean evolucionar el mismo. Esta evolución viene marcada por dos premisas fundamentales: Reutilización de código. Se Habían desarrollosado miles de ficheros de código fuente que se pretendia reutilizar en la medida de lo posible. Aportar un interfaz gráfico como front-end de la aplicación. Informix permitia el desarrollo de aplicaciones en modo carácter y se puso como objetivo el aportar un interfaz más amigable basado en un entorno gráfico. Aunque mi carrera profesional se desvinculo de dicha empresa, en el años 2002, el proyecto en que se había embarcado ésta me parecio muy interesante tanto nivel personal como, incluso, comercial. Antes de mi marcha ya se podian ver los primeros resultados de dicho proyecto y sobre todo en el aspecto visual no alcanzaba los objetivos esperados, básicamente habría una ventana de MS-DOS y cargaba la aplicación aportando unicamente relieve, colorido y posibilidad de utilizar ratón, pero manteniendo el aspecto de la aplicación original y no utilizando las posibilidades gráficas que ofrecen las API s de Windows. Ante esta situación decido seguir por mi cuenta con el traductor de código fuente Informix-4GL marcandome unos objetivos más ambiciosos: Reutilización de miles/millones de líneas de código fuente. (sin necesidad de modificar para ello el código fuente). Aportar aspecto visual y un interface más amigable para el usuario, utilizando para ello los recursos que posiblitan los sistemas actuales. Generar un código objeto legible, entendible y fácilmente modificable/ampliable. Generar código objeto multimódulo y multiplataforma. Permitir trabajar con diferentes gestores de bases de datos (otros aparte de Informix-SE). El estudio, teorico-práctico, que se realiza en este proyecto trata de cuplir estos objetivos y para ello se divide en dos partes diferenciadas: Sección 1: Estudio del lenguaje de programación Informix-4GL. En esta primera parte se estudia el lenguaje Informix-4GL, se desarrolla un traductor de Informix-4GL a JAVA donde el análisis sintáctico se encarga de reconocer la sintaxis completa de Informix y se genera código objeto JAVA para el mismo. Sección 2: Estudio del SQL de Informix. En esta segunda parte se estudia la Sintaxis de las sentencias SQL de Informix, se evalúa la compatibilidad y posibilidad de ejecución sobre los gestores de bases de datos estudiados. Este estudio se focaliza en los gestores de bases de datos: Informix, Oracle, SqlServer y DB2. En función del análisis realizado y del gestor de bases de datos para el que se este generando código se transformaran, si es preciso y posible, las sentencias SQL que aparecen en el código fuente de tal forma que tengan el mismo comportamiento sobre el gestor de bases de datos destino que sobre el original.

7 7 ESTUDIO DEL LENGUAJE DE PROGRAMACIÓN INFORMIX-4GL

8 8 PLANTEAMIENTO 4GL Dentro de esta sección se estudiará el lenguaje de programación Informix-4GL, su sintaxis y semántica y en base a ello se construirán todos los componentes del traductor de tal forma que el programa generado permita la traducción de ficheros fuentes.4gl a ficheros objeto.java funcionalmente correctos. Como paso previo del análisis se hará una breve introducción al lenguaje de programación Informix-4GL con objeto de hacerse una idea global del mismo sus características y componentes así como de denotar la complejidad y amplitud del mismo. Posteriormente ya se entra en profundidad a describir cada uno de los elementos del traductor haciendo hincapié en aquellas temas que merecen especial atención, destacando principalmente las características del componente de generación de código. Una vez explicados los componentes del traductor se pasa a analizar con total detalle la sentencias 4GL estudiadas destacando entre ellas: el tratamiento de los programas multimódulo, el módulo GLOBALS y la sentencia MENU. Como elemento a destacar dentro del tratamiento de las sentencias 4GL es la posibilidad que se ofrece de aportar un entorno gráfico a los programas generados lo cual es una de las mayores aportaciones con respecto a los programas originales. INTRODUCCION 4GL La Compañía Informix Software Inc. desarrollo un entorno de programación con su propio lenguaje de 4ª generación: Informix-4GL el cual esta diseñado especialmente para aplicaciones que trabajan con bases de datos y en particular para el gestor de base de datos Informix-SE. Informix-4GL es un lenguaje de 4ª generación que, aparte de las características típicas de cualquier otro lenguaje: declaración de variables y funciones, sentencias de control de flujo del programa, etc., soporta características especiales para llevar a cabo las siguientes acciones: Consultas y manejos de bases de datos usando SQL. Informix-4GL incluye todas las sentencias SQL, soportadas por Informix, como sentencias nativas del propio lenguaje. Informix-4GL admite embebidas sentencias SQL que son una extensión del Standard Query Language (SQL) desarrollado por IBM y cumple el nivel I del Standard de lenguajes de bases de datos (X ). Preparar informes de datos de la base de datos o de otra fuente. Un informe, report, es un bloque de programa especializado que permite mostrar datos de la base de datos. La salida de un informe es normalmente tabular y puede ser diseñada para imprimir con cabeceras y pies de página, siendo los dispositivos de salida posibles: pantalla, fichero, e impresora. Generación de formatos de pantalla o formularios, y menús en aplicaciones multiusuario. Los formatos de pantalla se diseñan de forma independiente al programa.

9 9 ESTUDIO DEL LENGUAJE INFORMIX-4GL En este punto se pretende mostrar las características y componentes del lenguaje Informix-4GL con objeto de hacer ver la amplitud del mismo y de la gran cantidad de elementos a tener en cuenta a la hora de hacer la traducción del mismo a otro lenguaje. INTERFACES DE UNA APLICACIÓN EN INFORMIX Ficheros de datos Informes Ventanas 4gl Usuarios de la base de datos Base de datos Figura 1: Interfaces proporcionados por Informix-4GL Una aplicación multiusuario escrita en Informix-4GL, como se muestra en la figura anterior tiene cuatro interfaces primarios: Acceso a bases de datos a través del servidor de bases de datos Informix. Los programas escritos en Informix-4GL pueden acceder a bases de datos relacionales con un servidor de bases de datos de Informix apropiado. La base de datos puede estar situada en el mismo equipo que la aplicación 4GL aunque a menudo la aplicación se ejecuta desde un sistema cliente separado. Una vez que la conexión de red es correctamente establecida, el acceso a la base de datos es transparente para el usuario. Un mismo programa 4GL puede trabajar con un servidor de bases de datos local o con servidor de bases de datos de red. Comunicación con el usuario a través de una Terminal. La iteración del programa con los usuarios es a través de áreas de pantalla, llamadas ventanas, las cuales tienen un tamaño fijo de caracteres por fila y columna. El usuario de una aplicación puede usar los siguientes entornos: Un emulador de Terminal en su ordenador personal o estación de trabajo que se conecta al sistema UNIX. Un Terminal carácter conectado al sistema UNIX. El Interface de usuario de Informix-4GL es programado en modo carácter. Una ventana 4GL puede mostrar un número fijo de caracteres horizontal y verticalmente. Cuando se declara una ventana en Informix-4GL se deben de especificar las dos dimensiones. Cada ventana 4GL no puede mostrar más de un formulario al mismo tiempo. Acceso a ficheros secuenciales del sistema operativo. Las aplicaciones pueden usar ficheros de datos secuenciales, o planos, en las siguientes formas:

10 10 Con la sentencia UNLOAD que escribe las filas seleccionadas de una tabla de la base de datos en un fichero especificado. Con la sentencia LOAD que lee un fichero y inserta sus líneas como filas en una tabla especifica de la base de datos. Las sentencias START REPORT o REPORT que pueden enviar la salida del formulario a un fichero secuencial o a un comando del sistema operativo. La sentencia PRINT FILE que puede incorporar el contenido de un fichero en la salida de un formulario de Informix-4GL. La sentencia DISPLAY que puede ser usada para escribir en pantalla. Usando comandos del sistema operativo se puede redireccionar la salida a un fichero o a otro programa. Generación de informes que pueden ser enviados a diferentes destinos. Los programas escritos en Informix-4GL pueden generar potentes y flexibles informes, cuya salida es una serie de líneas impresas. La salida puede se redireccionada a uno de las siguientes destinos: La pantalla. Una impresora. A un fichero secuencial. A una tubería del sistema operativo hacia otro proceso. La lógica para generar informes es la misma en todos los casos. El destino puede ser preestablecido al codificar el programa o determinado en tiempo de ejecución. PARTES DE UNA APLICACIÓN Toda aplicación realizada en Informix-4GL, como se muestra en la siguiente figura, puede estar compuesta de los siguientes tipos de ficheros: Código fuente de pantallas (.PER). En ellas se especifica el interfaz de usuario de la aplicación usando para ello ficheros editables (formato texto) en los que se especifica la apariencia visual del formulario y los tipos de datos y atributos de los campos del formulario. Los ficheros de especificación de formularios son ficheros ASCII. Se puede usar un editor de texto para diseñar las etiquetas y los campos del formulario. Una vez diseñado el formulario, este se compila con lo que se obtiene el fichero objeto del formulario (.FRM), el cual es un fichero binario portable a cualquier plataforma que soporte 4GL. Este fichero objeto es el que carga Informix-4GL durante la ejecución. Ficheros fuente de mensajes (.MSG). El usuario puede escribir textos de ayuda u otros mensajes de forma independiente al los programas 4GL. Así los programas pueden compartir un conjunto de mensajes y se pueden cambiar estos de forma independiente al programa. Este tipo de ficheros de mensajes son muy utilices para hacer los programas multilenguaje sin tener que para ellos definir programas diferentes. Los ficheros de mensajes son compilados obteniendo así un fichero de mensajes objeto (.IEM) el cual esta indexado para obtener así un acceso rápido. Igual que los formularios un fichero objeto de mensajes puede ser usado en diferentes aplicaciones.

11 11 Fich eros de m en sajes E specificacion de form atos C od io fuen te 4 gl.4 g l F or m atos com pilados F ich eros d e m esajes com pilados C odigo fu en te com pilado Figura 2: Ficheros de los que consta una aplicación en Informix Fichero fuente de programa (.4GL). Se pueden escribir un programa en uno o más ficheros fuentes de código fuente 4GL. En estos ficheros se especifica la lógica de programa a través de sentencias 4GL en los ficheros fuentes del mismo. Debido a que Informix-4GL es un lenguaje de programación estructurado, las sentencias ejecutables deben aparecer solo dentro de secciones lógicas del código fuente llamadas: bloques de programa. Estas pueden ser la sentencia MAIN, REPORT, o FUNCTION. En un programa pequeño se pueden escribir todas las funciones dentro de un mismo fichero, pero cuando el programa crece, y por razones de organización, suele ser habitual definir funciones en ficheros separados. Cada fichero fuente, normalmente, refleja una unidad lógica de programa. La ejecución de todo programa comienza de forma obligatoria con el bloque de programa llamado MAIN. El módulo de código fuente que contiene la sentencia MAIN es llamado: el módulo MAIN. A continuación se muestra un pequeño, pero completo, programa 4GL: MAIN CALL ejemplo() END MAIN FUNCTION ejemplo() DISPLAY "Hola, mundo" END FUNCTION En la implementación RDS los ficheros fuentes de 4GL son compilados y generan un pseudo código (.4go) el cual es independiente de la maquina y no es directamente ejecutable por el sistema operativo. Este debe ser interpretado por el intérprete de Informix-4GL. Cuando una aplicación tiene varios módulos fuente, primero se compilan estos generando módulos objeto separados y posteriormente se deben de concatenar estos para generar el fichero (.4gi) que pueda ser interpretado por Informix. La forma de hacer esto es mediante la creación de un fichero makefile. A continuación se muestra un ejemplo de makefile:.suffixes:.4go.4gl

12 'Compilando $*' ; cd `dirname $<` ; fglpc $< ) PACTINV= mbuscom.4go\ mbuscoma.4go\ mcar.4go\ mcript.4go\ mtrapal.4go pactinv.4gi: $(PACTINV) 'Linkando pactinv.4gi' ; cat $(PACTINV) > pactinv.4gi CARACTERÍSTICAS BÁSICAS DEL LENGUAJE Informix-4GL soporta la programación estructurada. Este diseño estimula la construcción de los programas como una familia de funciones simples y reutilizables. Además tiene sintaxis abierta y permite distintos estilos de programación. Los programas escritos en Informix-4GL son fácilmente refinables e incrementables. En los puntos siguientes se especifican todas las características de este lenguaje de tal forma que se pueda adquirir una idea concisa del mismo: Sensible al contexto. Informix-4GL no hace distinción entre mayúsculas y minúsculas en las palabras reservadas o identificadores del código fuente. Aunque si lo hace en las cadenas de caracteres introducidas entre comillas. Admite tanto la comilla simple ( ) como la comilla doble ( ) como delimitador de literales. Se pueden intercalar letras mayúsculas y minúsculas en los nombre de identificadores, aunque durante el proceso de compilación los identificadores son pasados a minúsculas. Espacios, delimitadores de marca, símbolos de escape y delimitadores. Al igual que en C y Pascal, el lenguaje Informix-4GL es de formato libre. Los espacios en blanco, tabulaciones, y saltos de línea son ignorados en la mayoría de los contextos, así como los comentarios. Se debe de introducir, al menos, un espacio en blanco entre dos palabras reservadas, identificadores, o literales consecutivos en la misma línea, a no ser que otro separador se haya introducido. No se pueden meter espacios en blanco dentro de una palabra reservada o identificador. Los espacios en blanco en los literales son considerados, por Informix-4GL, como parte de éste. El usuario puede usar libremente estos espacios en blanco para hacer más fácil de leer el código fuente 4GL. No se pueden mezclar doble comilla y simple como delimitador de una misma cadena, por ejemplo la siguiente no es una cadena valida: No es una cadena valida Para incluir el delimitador de literales dentro de una cadena de caracteres se debe de preceder dicho literal con la barra invertida (\) o bien incluir dicho delimitador de cadena dentro de el otro delimitador de cadena. Ejemplos: Escriba \ Y\ para continuar Escriba Y para continuar Escriba Y para continuar El compilador de Informix-4GL considera la barra invertida (\) como el carácter de escape por defecto y considera el carácter que le siga inmediatamente como un literal sin darle ningún significado especial. Para especificar que algo incluye como parte de si la barra invertida se debe de introducir la doble barra invertida (\\) en el lugar donde la simple barra se quiere que aparezca. Igualmente se usa \\\\ para representar la doble barra invertida.

13 13 Salvo en alguna sentencia preparada (PREPARE), en la sentencia PRINT y en la palabra reservada END SQL dentro de bloques SQL, Informix-4GL no requiere delimitador de sentencias aunque opcionalmente se puede utilizar el punto y coma (;) como delimitador. Conjunto de caracteres Validos. Informix-4GL requiere el conjunto de caracteres ASCII, aunque también soporta caracteres propios del cliente en fechas, identificadores, especificación de pantallas y reportes. Sentencias 4GL. Un módulo fuente de Informix-4GL puede contener sentencias y comentarios: La sentencia es la unidad lógica de código en programas 4GL. Un comentario es una especificación que Informix-4GL descarta. No se pueden dividir una sentencia simple de Informix-4GL en varios módulos. Esta regla es también aplicable para sentencias compuestas. Informix-4GL tiene características que permiten ensamblar grandes programas a partir de múltiples módulos de código fuente de forma sencilla. Las sentencias de Informix-4GL pueden contener: identificadores, palabras reservadas, literales, constantes, operadores, paréntesis y expresiones. Informix distingue entre: sentencias SQL (Structured Query Language) y sentencias 4GL. Comentarios. Un comentario es un texto incluido dentro del los módulos 4GL para ayudar a los lectores del código fuente, pero dicho texto es ignorado por el compilador de Informix-4GL. Los comentarios se especifican de distintas formas: Un comentario puede empezar por una llave abierta () y finalizar con una llave cerrada (). Este puede tener una o más líneas. El símbolo de almohadilla (#) indica el principio de un comentario que termina al final de la misma línea. También se puede usar un par de signos menos (--) para indicar el principio de un comentario que termina al final de la línea. Este comentario es el especificado por el Standard ANSI para SQL. Informix-4GL ignora todo el texto incluido entre llaves o desde # o -- hasta el final de la línea. Cuando se usan comentario se deben de tener en cuenta las siguientes restricciones: Dentro del una cadena de caracteres delimitada con comillas, Informix-4GL interpreta el símbolo de comentario como un literal mas y no como un indicador de comentario. Los comentarios son admitidos dentro de la sección SCREEN de los ficheros de especificación de pantallas. El símbolo # no se entiende como inicio de un comentario en un fichero de especificación de pantallas, en una sentencia SQL o en el texto de una sentencia preparada. No se pueden usar las llaves como comentario dentro de un comentario. No se pueden especificar dos signos menos seguidos como parte de una expresión aritmética ya que Informix-4GL interpreta que lo que sigue es un comentario. Se debe introducir un espacio en el medio o bien patentizarlos para separar los signos menos consecutivos. módulos de código fuente y bloques de programa. Para se crean programas 4GL se deben de introducir sentencias y comentarios dentro de uno o más ficheros de código fuente llamados módulos, cuyo nombre no puede exceder de 10 caracteres excluyendo la extensión del fichero.

14 14 Debido a que Informix-4GL es un lenguaje estructurado, las sentencias ejecutables son organizadas dentro de grandes unidades llamadas bloques de programa. Los módulos 4GL pueden incluir tres tipos diferentes de bloques: MAIN, FUNCTION, y REPORTS. Figura 3: Tipos de bloques en un programa Cada bloque comienza con la palabra reservada con la cual luego será reconocido, y termina con la palabra reservada END correspondiente con cada tipo de bloque (EN MAIN, END FUNCTION, o END REPORT). A continuación se detallan las reglas aplicables en la construcción de los bloques de programa: Todo programa 4GL debe contener exactamente un bloque MAIN. Este debe de ser el primer bloque de programa en el módulo en el cual aparezca. A excepción de ciertas declaraciones: DATABASE, DEFINE y GLOBALS no pueden aparecer sentencias 4GL fuera de un bloque de programa. Las variables que se declaran dentro de bloques de programa su ámbito es el propio bloque en el cual se declaran. Étas no pueden ser utilizadas desde otro bloque de programa. Las variables que se declaran fuera de un bloque de programa tienen un ámbito hasta el final del módulo en el cual son declaradas. Los bloques de programa no pueden partirse. Nunca pude ningún bloque de programa ser dividido en más de un módulo de programa. La sentencia DATABASE tiene efectos en tiempo de compilación cuando aparece antes del primer bloque de programa del módulo. Dentro de bloques de programa tiene efectos en tiempo de ejecución. El ámbito de la sentencia WHENEVER se extiende desde la primera vez que aparece hasta su próxima ocurrencia o bien hasta el fin del módulo en el cual es declarada, pero la sentencia WHENEVER no puede aparecer fuera de un bloque de programa. Las sentencias: CALL, RETURN, EXIT PROGRAM, START REPORT, OUTPUT TO REPORT, FINISH REPORT, y TERMINATE REPORT y cualquier otra expresión 4GL que incluya una función predefinida como un operador pueden transferir el control de ejecución del programa entre distintos bloques del programa. Bloques de Sentencias. Informix-4GL define sentencias simples y sentencias compuestas: aquellas que pueden contener otras sentencias. Las sentencias: MAIN, FUNCTION, Y REPORT son casos especiales de sentencias compuestas. Las sentencias compuestas se muestran en la siguiente tabla: CASE FOREACH INPUT PROMPT CONSTRUCT FUNCION INPUT ARRAY REPORT DISPLAY ARRAY GLOBLAS MAIN SQL FOR IF MENU WHILE Tabla 1: Sentencias compuestas de Informix-4GL

15 15 Todo sentencia compuesta soporta la palabra reservada END para indicar en fin de la misma. La mayoría de las sentencias compuestas también soportan la palabra reservada: EXIT para transferir el control de ejecución a la sentencia que sigue a continuación de la finalización de la sentencia compuesta actual. Por definición toda sentencia compuesta puede contener al menos una sentencia de bloque, un grupo de una o más sentencias SQL consecutivas o otras sentencias 4GL. Informix-4GL permite que las sentencias de bloque sean vacías. Esta característica permite compilar y ejecutar aplicaciones que no contengan funciones o reports para probar el comportamiento de programas aún no completos. A diferencia de los bloques de programas, los cuales no pueden ser anidados, los bloques de sentencias 4GL pueden contener otros bloques de sentencias. La sentencia: GLOBALS puede incorporar indirectamente bloques de sentencias a través del fichero referenciado. Las sentencias del fichero especificado son incorporadas en el módulo actual durante la compilación. Identificadores 4GL. Sentencias y especificaciones de formatos de pantalla pueden hacer referencia a algunas entidades de los programas 4GL por su nombre. Para crear nombres para las entidades de programa se declaran los identificadores. Un identificador es una cadena de caracteres que es declarada como el nombre de una entidad de programa que ha de seguir las siguientes reglas: Debe incluir al menos un carácter y no más de 50. Solo letras ASCII, dígitos y el carácter de subrayado (_) son admitidos. Blancos, guiones y otros caracteres no alfanuméricos no son admitidos. El carácter inicial debe de ser una letra o un subrayado. Los identificadores 4GL no son sensibles al contexto. Se pueden obtener resultados inesperados si se declara como un identificador ciertas palabras reservadas de SQL, de los lenguajes C y C++ o del sistema operativo o red. Reglas para nombrar los Identificadores SQL. Las reglas para los identificadores SQL son similares a las de los identificadores 4GL, con las siguientes excepciones: La longitud de los identificadores SQL esta limitada a no más de 18 caracteres. Los identificadores SQL entre comillas si son sensibles al contexto. Se pueden usar palabras reservadas como identificadores SQL, aunque se requieren cualificadores y puede hacer el código difícil de mantener. Identificadores 4GL pueden ser iguales que identificadores SQL, pero esto requiere una especial atención dentro del ámbito de los identificadores 4GL. Ámbito de referencia de los identificadores 4GL. Los identificadores 4GL se caracterizan por su ámbito de referencia. Un punto del programa donde una entidad puede ser referenciada por su identificador se dice que esta dentro del ámbito de referencia del identificador, por el contrario un punto del programa donde el identificador no es reconocido se dice que esta fuera del ámbito de su referencia. El ámbito de referencia de una variable se determina en función de donde aparece la sentencia DEFINE, que declara el identificador, en el módulo fuente 4GL. Los identificadores de variables pueden ser: locales, de módulo o, en algunos casos globales a todo el programa. A continuación se indica el ámbito de los mismos: La variables 4GL locales son declaradas dentro de un bloque de programa. Estas variables no pueden ser referenciadas por sentencias fuera del mismo bloque de programa. Las variables de módulo, también llamadas modulares o estáticas, pueden ser declaradas fuera de cualquiera bloque de programa: MAIN, REPORT, o FUNCTION. Estos

16 16 identificadores no pueden ser referenciados fuera del módulo 4GL en el que se han declarado. Si dentro de la sentencias GLOBALS END GLOBALS se declaran variables en un módulo, se puede extender el ámbito de dichas variables a otro módulo que incluya la sentencia GLOBALS <nombre de fichero> donde <nombre de fichero> especifica el fichero que contiene la declaración de la sentencia GLOBALS END GLOBALS. Hay nombres de constantes: NOTFOUND, TRUE y FALSE, y variables incorporadas como: status, int_flag, quit_flag y el registro SQLCA cuyo ámbito es global. Estos identificadores predefinidos no es necesario sean declarados, son visibles en todas las sentencias 4GL y pueden ser referenciados desde cualquier módulo 4GL. Ocurre lo mismo con las funciones incorporadas y los operadores tales como LENGTH() y INFIELD(). También son de ámbito global los nombres de ventanas, formatos de pantalla, reports y funciones. El ámbito de los identificadores de los formatos de pantalla incluye todas las sentencias 4GL que son ejecutadas mientras el formato de pantalla esta abierto. La siguiente tabla resume el ámbito de referencia de los identificadores 4GL para varios tipos de entidades de los programas 4GL: Entidad de Programa Constantes Argumentos Variable Ámbito de referencia Global Local a su función o report. Módulo (si es declarada fuera de todo bloque de programa) Local ( si es declarada dentro de un bloque de programa) Campos de screen, arrays o records Identificadores de Pantalla o ventanas Sentencias label Mientras el formato de pantalla permanezca abierto Globales (a partir de que son declarados) Local al bloque de programa en el cual aparece Tabla 2. Ámbito de referencia de los identificadores 4GL Dentro de cada ámbito, cada identificador 4GL debe de ser único. Tampoco puede tener el mismo nombre un argumento de función o report que el propio identificador de dicha función o report. Ámbito y visibilidad de los identificadores SQL. Por defecto el ámbito de un cursor o un objeto preparado es desde su declaración hasta el final del módulo o hasta que específicamente es liberado. El resto de los identificadores SQL tienen ámbito global. Una vez liberado una sentencia preparada (PREPARE) o declarada (DECLARE) no puede volver a utilizarse el mismo nombre para referenciar otra. Las sentencias no pueden hacer referencia a elementos de la base de datos tal como: tablas, columnas, o índices hasta que la base de datos que contiene dicho elemento no sea abierta. Si se asigna a un elemento 4GL el nombre de otro SQL, el primero tiene precedencia dentro de su ámbito. Para evitar ambigüedades en las sentencias DELETE, INSERT, SELECT, Y UPDATE (y en solo estas), se puede utilizar el prefijo al nombre de una tabla o columna que tenga el mismo nombre que una variable 4GL. En cualquier otro caso el identificador 4GL es visible en cualquier contexto ambiguo. Variables con igual identificador. En tiempo de compilación se produce un error si se declara el mismo nombre a dos variables que tengan el mismo ámbito. Aunque si se puede declarar el mismo nombre si ambas variables tienen distinto ámbito.

17 17 Si una variable local tiene el mismo nombre que una variable global o de tipo módulo, la variable local tiene precedencia dentro del bloque de programa en el cual es declarada. En cualquier otra parte del programa el identificador hará referencia a la variable global o de tipo módulo. Una variable de tipo módulo puede tener el mismo nombre que una variable global si esta es declarada en un módulo diferente. Dentro del módulo en el cual es declarada, la variable tipo módulo tiene precedencia sobre la variable global. Las sentencias de dicho módulo no podrán hacer referencia a la variable global. En resumen: en la porción de programa donde más de una variable tiene el mismo identificador, Informix-4GL da precedencia a las variables tipo módulo sobre las globales, y a las variables locales sobre las de cualquier otro ámbito. TIPOS DE DATOS En Informix-4GL toda variable ha de ser declarada de un tipo de dato. Un tipo de dato permite definir el tipo de información que puede ser almacenada y el tipo de operaciones que se puede hacer con él. El usuario debe declarar el tipo de dato para cada variable, argumento de funciones y reports y los valores de retorno de las funciones. Los argumentos de funciones y reports puedes ser de cualquier tipo 4GL a excepción de ARRAY. En ocasiones el valor almacenado como un tipo de dato puede ser convertido a otro. La siguiente tabla muestra los tipos de datos soportados por Informix-4GL: Tipo de Dato 4GL ARRAY OF type BYTE Tipo de valor que almacena Arrays de valores de cualquier otro tipo de dato 4GL simple Un tipo de dato binario cuya longitud es 231 bytes CHAR(tamaño) Cadena de caracteres de cómo máximo bytes de longitud CHARACTER DATE DATETIME DECIMAL(p, s) Esta palabra reservada es sinónimo de CHAR Especifica una fecha Especifica una fecha y la hora del día Número en formato punto fijo, con una parte entera de longitud (p) y una parte decimal de longitud (s) DECIMAL(p) Número en formato punto fijo, con una parte entera de longitud (p) DEC Esta palabra reservada es sinónimo de DECIMAL FLOAT Número en formato punto fijo de cómo máximo 32 dígitos de longitud DOUBLE PRECISION INTEGER INT INTERVAL Esta palabra reservada es sinónimo de FLOAT Número entero cuyo valor puede oscilar entre el rango: a Esta palabra reservada es sinónimo de INTEGER Extensión de tiempo en años y meses o una unidad de tiempo mas pequeña

18 18 MONEY NUMERIC Cantidad de moneda con una escala y precisión Esta palabra reservada es sinónimo de DECIMAL REAL Esta palabra reservada es sinónimo de SMALLFLOAT RECORD SMALLFLOAT Conjunto de valores, de distintos tipos de datos, ordenados Número en formato punto fijo, de cómo máximo 16 dígitos de precisión SMALLINT Número entero con un rango de a TEXT Cadena de caracteres de longitud máxima 232 bytes VARCHAR(tamaño) Cadena de caracteres de longitud variable, su tamaño a de ser menor de 255 bytes Tabla 3: Tipos de datos 4GL Con la excepción de ARRAY y RECORD, los tipos de datos 4GL corresponden con los tipos de datos SQL validos en los servidores de bases de datos Informix. Los tipos de datos 4GL son un superconjunto de los tipos de datos SQL, que los servidores de bases de datos Informix admiten, con las siguientes excepciones: El tipo de dato SERIAL de SQL no es un tipo de dato 4GL. Se debe usar el tipo de dato INTEGER para guardar los tipos de datos SERIAL recibidos de la base de datos. No se puede usar la palabra reservada SERIAL en una sentencia 4GL que no sea una sentencia SQL. 4GL no reconoce los tipos de datos NCHAR Y NVARCHAR. Cuando el servidor de bases de datos retorna un tipo de dato NCHAR este es convertido de forma automática a un valor CHAR, y no se puede updatar un tipo de dato NCHAR con un tipo de CHAR. De forma similar NVARCHAR es convertido en VARCHAR y un tipo de dato VARCHAR no puede updatar un campo de la base de datos de tipo NVARCHAR. 4GL no reconoce los tipos de datos: ITFIXED, BITVARYING, BLOB, BOLEAN, CLOB, DISTINCT, INT8, LIST, LVARCAHR, MULTISET, OPAQUE, REFERENCE, ROW, SERIAL8, SET, o un tipo de datos definido por el usuario en el servidor de bases de datos Informix. Los tipos de datos de Informix-4GL se pueden clasificar en varias categorías, que son: TEXT y BYTE son llamados tipos de datos largos. ARRAY y RECORD tipos de datos estructurados o compuestos. Y el resto son llamados tipos de datos simples. Dentro de estos se diferencias: Tipos de datos tipo Carácter: CHAR(longitud), CHARACTER(longitud), y VARCHAR(longitud, mínimo reservado). Tipos de dato tipo Fecha: DATE, DATETIME, INTERVAL. Tipos de dato tipo Número: SMALLINT, INTEGER, INT, DECIMAL(precisión, escala), DEC(precisión, escala), NUMERIC(precisión, escala), MONEY(precisión, escala), FLOAT, DOUBLE PRECISION, SMALLFLOAT y REAL. En la declaración de variables se puede usar la palabra reservada LIKE, lo cual permite declarar variables de forma más simple ya que el tipo de dato se especifica como una columna de la base de datos.

19 19 EXPRESIONES 4GL Una expresión 4GL es una secuencia de operandos, operadores y paréntesis que Informix-4GL puede evaluar como un valor simple. Sentencias, funciones, formatos de pantalla, operadores, y expresiones pueden tener expresiones como argumentos, componentes, u operandos. El contexto donde aparece una expresión así como su sintaxis determina el tipo de dato que esta retorna. En base al tipo de dato que las expresiones retornan, éstas se clasifican en: Booleanas Retorna TRUE o FALSE (o NULL en algunos contextos). Integer Retorna un número entero de tipo INT o SMALLINT. Number Retorna un valor de que puede ser de cualquier tipo de dato tipo Número. Carácter Retorna un valor tipo: CHAR o VARCHAR. Time Retorna un valor de tipo: DATE, DATETIME, o INTERVAL. DIFERENCIAS ENTRE EXPRESIONES 4GL Y EXPRESIONES SQL Las expresiones incluidas en sentencias SQL son evaluadas por el servidor de bases de datos y no por el interprete de Informix. El conjunto de operadores que pueden aparecen en las expresiones SQL se asemejan mucho al los que se pueden utilizar en 4GL pero no son idénticos. Un programa 4GL puede incluir operadores 4GL, pero hay restricciones en las sentencias SQL. De igual manera muchos operadores SQL no son validos en expresiones 4GL. Los siguientes operandos y operadores SQL no pueden aparecer en una expresión 4GL: Identificadores SQL, tal como nombres de columnas de tablas o de bases de datos. Las palabras reservadas de SQL: USER y ROWID. Funciones agregadas que no tengan su par en las sentencias 4GL. Los operadores BETWEEN e IN. Las palabras reservada de expresiones SQL: EXIST, ALL, ANY, y SOME. De igual modo tampoco se pueden incluir los siguientes operadores 4GL en expresiones SQL: El operador aritmético de exponenciación (**) y de módulo (MOD). Los operadores que actúan sobre cadenas: ASCII, COLUMN, SPACE, SPACES, y WORDWRAP. Los operadores que actúan sobre campos: FIELD_TOUCHED(), GET_FLDBUF(), e INFIELD(). Los operadores de reports: LINENO, y PAGENO. El operador TIME y DATE(). COMPONENTES DE LAS EXPRESIONES 4GL Una expresión 4GL puede incluir los siguientes componentes: Operadores. Paréntesis para marcar una precedencia diferente de la que hay por defecto en los operadores. Y operandos. OPERADORES EN EXPRESIONES 4GL Los operadores que se muestran en la siguiente tabla son los que pueden aparecen en las expresiones 4GL. Expresiones con varios operadores son evaluadas de acuerdo con su precedencia, de mayor (16) a menor (1) y asociatividad.

20 20 Operador Descripción Asociatividad Precedencia. Elementos de un registro De izquierda 16 [ ] Índice de arrays o subcadenas De izquierda ( ) Llamada a funciones Ninguna UNITS Cualificador simple de intervalos De izquierda ** MOD * / + - Mas unario Menos unario Exponenciación Módulo Multiplicación División Suma Resta De derecha 14 De izquierda 13 De izquierda 12 De izquierda 11 Concatenación De izquierda 10 LIKE Comparación de Cadenas De derecha 9 MATCHES < <= = ó == >= >!= ó <> Menor que Menor igual que Igual que Mayor igual que Mayor que Distinto De izquierda 8 IN() Pertenencia a un conjunto De derecha 7 BETWEEN. AND Rango De Izquierda 6 IS NULL Si es nulo De izquierda 5 NOT Negación lógica De izquierda 4 AND Intersección lógica De izquierda 3 OR Unión lógica De izquierda 2 ASCII CLIPPED COLUMN ORD SPACES USING Retorna el carácter ASCII Borra caracteres blancos Indica el inicio de la impresión Retorna el código numérico de un ASCII Inserta espacios en blanco Formatea cadenas de caracteres De derecha 1

ANÁLISIS TEÓRICO/PRÁCTICO DE LA TRADUCCIÓN DE: INFORMIX-4GL A JAVA ÁNGEL SUÁREZ GARCÍA JUNIO DE 2008

ANÁLISIS TEÓRICO/PRÁCTICO DE LA TRADUCCIÓN DE: INFORMIX-4GL A JAVA ÁNGEL SUÁREZ GARCÍA JUNIO DE 2008 ANÁLISIS TEÓRICO/PRÁCTICO DE LA TRADUCCIÓN DE: INFORMIX-4GL A JAVA ÁNGEL SUÁREZ GARCÍA JUNIO DE 2008 2 ÍNDICE GENERAL: PREÁMBULO...6 PLANTEAMIENTO 4GL...8 INTRODUCCIÓN 4GL...8 ESTUDIO DEL LENGUAJE INFORMIX-4GL...9

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

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

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

EL ENTORNO DE TRABAJO SQL ORACLE

EL ENTORNO DE TRABAJO SQL ORACLE PREVIO 2 EL ENTORNO DE TRABAJO SQL ORACLE Y LENGUAJE DE DEFINICIÓN DE DATOS DDL) INTRODUCCIÓN A ORACLE Oracle10g es de las últimas versiones de esté manejador de base de datos, incorpora la tecnología

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

Scripting en el cliente: Javascript. Tecnologías Web

Scripting en el cliente: Javascript. Tecnologías Web Scripting en el cliente: Javascript Tecnologías Web Motivación Por qué usar JavaScript? Permite crear efectos atractivos visualmente Permite crear sitios WEB que se visualicen de la misma manera en distintos

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

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

Programación: QBASIC

Programación: QBASIC 1. QBASIC Programación: QBASIC Guía del alumno Qbasic es una versión moderna del lenguaje BASIC. Se trata de un lenguaje de alto nivel. En un lenguaje de alto nivel las instrucciones tienen un formato

Más detalles

Tema 3 Elementos básicos de programación

Tema 3 Elementos básicos de programación Representación de Datos y Aplicaciones Tema 3 Elementos básicos de programación Natividad Martínez Madrid nati@it.uc3m.es Objetivos del tema 3 Conocer la estructura básica de un programa Java Comprender

Más detalles

INTRODUCCIÓN AL SQL. TRANSACT-SQL SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

INTRODUCCIÓN AL SQL. TRANSACT-SQL SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE INTRODUCCIÓN AL SQL. TRANSACT-SQL SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE INTRODUCCIÓN AL SQL. TRANSACT SQL CONCEPTOS BÁSICO DE SQL SQL (Structured Query Language),

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

SINTAXIS DE SQL-92. ::= CREATE SCHEMA [ ... ]

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

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

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

TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA

TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA 1 TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA 1. Definición de SQL. Características 2. Selección del origen de los datos. Cláusula FROM 3. Selección de columnas. Columnas calculadas 4.

Más detalles

Curso PHP Módulo 1 R-Luis

Curso PHP Módulo 1 R-Luis Lenguaje PHP Introducción Archivos HTML y PHP: Crear un archivo php es tan sencillo como cambiarle la extensión a un archivo html, por ejemplo podemos pasar de index.html a index.php sin ningún inconveniente.

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador). CAPÍTULO 4 Requerimientos de software Este capítulo presenta las herramientas necesarias para la construcción y ejecución de programas en el lenguaje de programación JAVA, los requerimientos mínimos de

Más detalles

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN 2.1.- EJEMPLO DE UN PROGRAMA FORTRAN Con el presente apartado comenzaremos a conocer cómo se escribe un programa en lenguaje FORTRAN bajo el entorno de programación FORTRAN. En primer lugar conozcamos

Más detalles

PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS

PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS PROGRAMACIÓN BÁSICA DE LA COMPUTADORA 1 Introducción Un sistema de computadora total incluye tanto circuitería (hardware) como programación (software). El hardware consta de los componentes físicos y todo

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

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

Lenguaje C. Tipos de Datos Simples y Estructuras de Control Lenguaje C Tipos de Datos Simples y Estructuras de Control Lenguaje C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje

Más detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

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

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS 4.1 Antecedentes históricos El lenguaje de programación BASIC (Beginner's All purpose Symbolic Instruction Code)

Más detalles

INDICE Primera Parte. Panorámica general de SQL 2. Rápido repaso de SQL 3. SQL en Perspectiva

INDICE Primera Parte. Panorámica general de SQL 2. Rápido repaso de SQL 3. SQL en Perspectiva INDICE Prólogo XXIII Por qué este libro es para usted XXVII Primera Parte. Panorámica general de SQL 1 1. Introducción 3 El lenguaje SQL 3 El papel de SQL 6 Características y beneficios de SQL 7 Independencia

Más detalles

BASE DE DATOS TIPOS DE DATOS, VARIABLES, OPERADORES Y CONTROLES EN SQL SERVER

BASE DE DATOS TIPOS DE DATOS, VARIABLES, OPERADORES Y CONTROLES EN SQL SERVER BASE DE DATOS TIPOS DE DATOS, VARIABLES, OPERADORES Y CONTROLES EN SQL SERVER 2005 3 C O N T E N I D O 1. Tipos de datos 2. Variables 3. Operadores 4. Controles O B J E T I V O S Proporcionar al lector

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

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

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

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

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

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

Laboratorio de Sistemas Departamento de Ingeniería en Sistemas de Información Universidad Tecnológica Nacional Facultad Regional Córdoba. Porque PHP?

Laboratorio de Sistemas Departamento de Ingeniería en Sistemas de Información Universidad Tecnológica Nacional Facultad Regional Córdoba. Porque PHP? Porque PHP? PHP es un lenguaje de programación usado generalmente para la creación de contenido para sitios web. PHP es el (acrónimo recursivo de "PHP: Hypertext Preprocessor", inicialmente PHP Tools,

Más detalles

Tema 4. SQL. Juan Ignacio Rodríguez de León

Tema 4. SQL. Juan Ignacio Rodríguez de León Tema 4. SQL Juan Ignacio Rodríguez de León Resumen Este tema se centra exclusivamente en el estudio del lenguaje de consultas SQL (Structured Query Language). SQL usa una combinación de álgebra relacional

Más detalles

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus Iniciando con Oracle Índice de contenido Ingresando a Oracle...1 Cambiando Su Contraseña...1 Ingresando un Comando SQL en SQL*Plus...2 Saliendo de SQL*Plus...2 Consiguiendo Ayuda...2 Creación de una Tabla...3

Más detalles

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25.

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25. INDICE Programación Introducción 706 Capitulo 21 BASIC 711 Introducción 711 Sintaxis 713 Procedimientos y control de flujo 713 Tipos de datos 714 Disponibilidad y variantes del dialecto 714 Capitulo 22.

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System. CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

MANUAL BÁSICO DE ORACLE

MANUAL BÁSICO DE ORACLE MANUAL BÁSICO DE ORACLE ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. TIPOS DE DATOS... 4 1.1 TIPOS DE DATOS ALFANUMÉRICOS...

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

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación. Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden

Más detalles

Sentencias o instrucciones en Visual BASIC

Sentencias o instrucciones en Visual BASIC Tecnología a de la Informació Sentencias o instrucciones en Visual BASIC REM Tecnología a de la Informació REM es una sentencia no ejecutable y permite introducir comentarios en los programas. A esta práctica

Más detalles

construcción de programas Prof. Eliana Guzmán U.

construcción de programas Prof. Eliana Guzmán U. Unidad II. Metodología para la construcción de programas Prof. Eliana Guzmán U. Semestre: A-2015 Introducción Resolver un problema con una computadora conduce a la escritura de un programa y a su ejecución.

Más detalles

1 Estructura básica de un programa C++

1 Estructura básica de un programa C++ Elementos básicos de un lenguaje de alto nivel: C++ CONTENIDOS 1. Estructura básica de un programa C++. 2. Tipos de datos simples. 3. Constantes y variables en C++. Declaración. 4. Operadores y expresiones.

Más detalles

1 ELEMENTOS BASICOS DEL LENGUAJE

1 ELEMENTOS BASICOS DEL LENGUAJE 1 ELEMENTOS SICOS DEL LENGUJE Contenido: Variables su declaracion y asignacion Caracteres en java Secuencias de escape y comentarios Tipos de datos Operadores aritméticos, relacionales y lógicos Entrada

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

SQL SQL. Índice. Componentes. Objetivos

SQL SQL. Índice. Componentes. Objetivos Estándar En 1986, ANSI (American National Standard Institute) definión un estándar para (Structured Query Language) que fue posteriormente adoptado en 1987 como estándar internacional por ISO (International

Más detalles

Tutorial Oracle SQL Developer 1.2.1

Tutorial Oracle SQL Developer 1.2.1 Tutorial Oracle SQL Developer 1.2.1 Departamento de Informática Índice Í0. Introducción...3 1. Conexión y desconexión de la base de datos...3 2. Ejecución de sentencias SQL...4 3. Creación de tablas...6

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

MultiBase Cosmos. Notas a la versión 4.4, release 1. BASE 100, S.A. www.base100.com

MultiBase Cosmos. Notas a la versión 4.4, release 1. BASE 100, S.A. www.base100.com MultiBase Cosmos Notas a la versión 4.4, release 1 BASE 100, S.A. www.base100.com Índice IMPLEMENTACIONES... 3 MÉTODOS DE LA CLASE SIMPLECONTROL... 4 MÉTODOS DE LA CLASE INTEGER... 4 MÉTODOS DE LA CLASE

Más detalles

SENTENCIAS Y CONSULTAS EN SQL SERVER

SENTENCIAS Y CONSULTAS EN SQL SERVER SENTENCIAS Y CONSULTAS EN SQL SERVER En esta sección nos preocuparemos por conocer, las consultas en SQL que describiremos aquí. Para eso haremos un pequeño de las palabras claves que se utilizan en SQL,

Más detalles

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE DE MEDELLÍN. FACULTAD NACIONAL DE MINAS Escuela de Sistemas

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE DE MEDELLÍN. FACULTAD NACIONAL DE MINAS Escuela de Sistemas UNIVERSIDAD NACIONAL DE COLOMBIA SEDE DE MEDELLÍN FACULTAD NACIONAL DE MINAS Escuela de Sistemas OBJETIVOS: General: Estudiar y utilizar los elementos del entorno de trabajo Visual Basic for Applications

Más detalles

Tipos de variables en Visual Basic (integer, single, double, string, object, etc.). Ejemplos. (CU00308A)

Tipos de variables en Visual Basic (integer, single, double, string, object, etc.). Ejemplos. (CU00308A) aprenderaprogramar.com Tipos de variables en Visual Basic (integer, single, double, string, object, etc.). Ejemplos. (CU00308A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029

Más detalles

Base de datos I Facultad de Ingeniería. Escuela de computación.

Base de datos I Facultad de Ingeniería. Escuela de computación. Base de datos I Facultad de Ingeniería. Escuela de computación. 1 2 Base de datos I, Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de

Más detalles

Procedimientos para agrupar y resumir datos

Procedimientos para agrupar y resumir datos Procedimientos para agrupar y resumir datos Contenido Introducción Presentación de los primeros n valores Uso de funciones de agregado 4 Fundamentos de GROUP BY 8 Generación de valores de agregado dentro

Más detalles

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Directivas del procesador Main() { Declaraciones Definiciones proposiciones }

Más detalles

Basic Object Oriented Programming (BOOP) Gramática del Lenguaje. Ever Mitta Flores

Basic Object Oriented Programming (BOOP) Gramática del Lenguaje. Ever Mitta Flores Ever Mitta Flores Índice 1. Clase @Principal...3 2. Comentarios...3 3. Definición de Atributos...3 4. Definición de Métodos...4 5. Declaración de Variables...4 6. Asignación de Valores...5 7. Definición

Más detalles

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. SQL (Lenguaje de Consulta Estructurado): Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. ANSI (Instituto

Más detalles

Tutorial Básico de vbscript

Tutorial Básico de vbscript Tutorial Básico de vbscript Bueno, primero aclarar que este tutorial, pretende explicar de manera básica las distintas instrucciones aplicadas en visual basic script (vbs de aquí en más), para que así

Más detalles

Primeramente estudiaremos la forma básica de la sentencia SELECT, que esta formado por:

Primeramente estudiaremos la forma básica de la sentencia SELECT, que esta formado por: Oracle básico (II): Creación y manejo de tablas Con el artículo anterior iniciamos una entrega de Oracle Básico comenzando con el tema de creación y manejo de tablas. Ahora pasaremos a estudiar la consulta

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

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

Introducción a las bases de datos.

Introducción a las bases de datos. Introducción a las BBDD 1 Centro de Referencia Linux UAM-IBM Introducción a las bases de datos. Carmen B. Navarrete Navarrete carmen_navarrete@telefonica.net Introducción a las BBDD 2 Qué vamos a ver?

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

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

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

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 1. http://www.erikavilches.com

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 1. http://www.erikavilches.com TUTORIAL DE PHP M. en C. Erika Vilches Parte 1 http://www.erikavilches.com Scripting del Lado del Servidor PHP: Acrónimo recursivo PHP: Hypertext Preprocessor El módulo PHP se adjunta al servidor web,

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

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

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

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)

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

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

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

Unidad II: Lenguaje de definición de datos(ddl) 2.1 Creación del esquema de la base de datos

Unidad II: Lenguaje de definición de datos(ddl) 2.1 Creación del esquema de la base de datos Unidad II: Lenguaje de definición de datos(ddl) 2.1 Creación del esquema de la base de datos El esquema de una base de datos (en inglés, Database Schema) describe la estructura de una Base de datos, en

Más detalles

ETIQUETA DISEÑO DE PÁGINA

ETIQUETA DISEÑO DE PÁGINA ETIQUETA DISEÑO DE PÁGINA Es la tercera etiqueta de Excel 2007, agrupa las herramientas de temas 10, configuración de pagina, ajustes del área de impresión, opciones de la hoja (cuadriculas y encabezados),

Más detalles

TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8.

TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8. TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8. 1.) (HOLUB). Escribir un traductor que reconozca definiciones de C siguiendo el estilo antiguo, tal como: prueba(uno, dos, tres, cuatro,

Más detalles

CURSO DE PROGRAMACIÓN PHP MySQL

CURSO DE PROGRAMACIÓN PHP MySQL CURSO DE PROGRAMACIÓN PHP MySQL MASTER EN PHP MÓDULO NIVEL BASICO PRIMER MES Aprende a crear Sitios Web Dinámicos con PHP y MySQL 1. Introducción Qué es PHP? Historia Por qué PHP? Temas de instalación

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

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

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

3.2 Operaciones aritmético-lógicas en Pascal

3.2 Operaciones aritmético-lógicas en Pascal 3.2 Operaciones aritmético-lógicas en Pascal Operadores Los operadores sirven para combinar los términos de las expresiones. En Pascal, se manejan tres grupos de operadores : 1. ARITMÉTICOS 2. RELACIONALES

Más detalles

Comandos básicos MS-DOS

Comandos básicos MS-DOS Comandos básicos MS-DOS Inicio Para iniciar DOS en Windows XP, hay que irse al botón de Inicio, Ejecutar y poner cmd. Se abrirá una ventana de DOS en la que se probarán todas las opciones de los comandos

Más detalles

Unidad II. Entorno de Desarrollo de Visual FoxPro

Unidad II. Entorno de Desarrollo de Visual FoxPro Unidad II. Entorno de Desarrollo de Entorno de es uno de los gestores de Bases de Datos relacionales más rápido y flexible del mercado, dispone de un complejo entorno de desarrollo totalmente orientado

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

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 4: Lección Evaluativa 1

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 4: Lección Evaluativa 1 Qué es PHP? PHP: HyperText Preprocessor. Es un lenguaje de tipo scripting, que actualmente está siendo utilizado como una de las mejores alternativas para desarrollar aplicaciones en la Web. Un lenguaje

Más detalles

Guia para conversión de datos en SQL SERVER 2000-2008

Guia para conversión de datos en SQL SERVER 2000-2008 LUIS FERNANDO GARCIA RODRIGUEZ ELECTIVA TECNOLOGICA III BASES DE DATO CONEXIÓN A.NET Guia para conversión de datos en SQL SERVER 2000-2008 Funciones de conversión de tipos de datos Las conversiones de

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

Í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

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos.

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos. Introducción a la ciencia de la computación y a la programación 1. La computadora CONTENIDOS 2. Entidades primitivas para el desarrollo de algoritmos. 3. Metodología a seguir para la resolución de problemas

Más detalles

Microsoft Access proporciona dos métodos para crear una Base de datos.

Microsoft Access proporciona dos métodos para crear una Base de datos. Operaciones básicas con Base de datos Crear una Base de datos Microsoft Access proporciona dos métodos para crear una Base de datos. Se puede crear una base de datos en blanco y agregarle más tarde las

Más detalles

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL 1. Conexión con la Base de Datos: se debe realizar a partir de algún programa que implemente el protocolo SSH (Secure Shell), a partir

Más detalles

DICCIONARIO DE DATOS

DICCIONARIO DE DATOS DICCIONARIO DE DATOS Diccionario de datos El diccionario de datos es la fuente de información centralizada de todo el sistema SAP, allí se encuentra (y almacena) todos los datos que se procesan en el sistema;

Más detalles