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

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

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

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

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

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

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

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

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 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

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

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

Í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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tipos de datos de campo disponibles en Access (MDB)

Tipos de datos de campo disponibles en Access (MDB) Tipos de datos de campo disponibles en Access (MDB) Nota La información recogida en este tema sólo se aplicará a bases de datos de Microsoft Access (.mdb). La siguiente lista resume todos los tipos de

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

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

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

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

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

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

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

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

Más detalles

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

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

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

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

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. Práctica 3 mtp metodoloxía e tecnoloxía da programación Objetivos: Duración: Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. 1 semana 1.- Identificadores Los identificadores

Más detalles

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

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

Más detalles

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

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

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

Una vez creada la BD podemos pedirle a MySQL que nos muestre todas las BD existentes. Para eso utilizamos la siguiente instrucción:

Una vez creada la BD podemos pedirle a MySQL que nos muestre todas las BD existentes. Para eso utilizamos la siguiente instrucción: Guía de MySQL Contenidos: 1.- Introducción: 2.- Creación de una base de datos. CREATE DATABASE. 3.- Creación de una tabla y mostrar sus campos (CREATE TABLE - SHOW TABLES - describe - DROP TABLE) 4.- Instrucción

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

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

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

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

Bases de Datos SEGURIDAD E INTEGRIDAD EN BASES DE DATOS. Ejemplo del Lado del servidor

Bases de Datos SEGURIDAD E INTEGRIDAD EN BASES DE DATOS. Ejemplo del Lado del servidor Bases de Datos SEGURIDAD E INTEGRIDAD EN BASES DE DATOS Ejemplo del Lado del servidor Aplicación de conceptos: Se hizo referencia a los elementos que poseen los Sistemas de Gestión de Bases de Datos (SGBD)

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

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

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

- 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

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

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

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

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

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

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

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

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

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 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

TEMA 2. INTRODUCCIÓN A MYSQL

TEMA 2. INTRODUCCIÓN A MYSQL 1 TEMA 2. INTRODUCCIÓN A MYSQL 1. Introducción 2. Características principales de MySQL 3. MySQL y el código abierto 4. Instalación de MySQL 5. Conexión y desconexión al servidor 6. Entrada de comandos

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

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

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

Estándar de desarrollo de aplicaciones del Govern de les Illes Balears

Estándar de desarrollo de aplicaciones del Govern de les Illes Balears Estándar de desarrollo de aplicaciones del Govern de les Illes Balears BASE DE DATOS Versión 5.0 Fecha Revisión: 28/05/09 Índice de contenidos INTRODUCCIÓN... 3 NOMENCLATURA DE BASE DE DATOS... 4 2.1.

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

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

Temario. Índices simples Árboles B Hashing

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

Más detalles

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

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

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

Oracle 11g PL/SQL. Curso práctico de formación. Antolín Muñoz Chaparro

Oracle 11g PL/SQL. Curso práctico de formación. Antolín Muñoz Chaparro Oracle 11g PL/SQL Curso práctico de formación Antolín Muñoz Chaparro Oracle 11g PL/SQL. Curso práctico de formación Antolín Muñoz Chaparro ISBN: 978-84-939450-1-5 EAN: 9788493945015 Copyright 2012 RC Libros

Más detalles

Programación en lenguaje C++

Programación en lenguaje C++ Programación en Lenguaje C++ Objetivos Unidad Tema Subtema Objetivos VI 6.1 Metodología de la programación Metodologías Diseños de algoritmos Creación de algoritmos Entender y aplicar los pasos a seguir

Más detalles

Programación en Pascal

Programación en Pascal Programación en Pascal Segunda parte de la asignatura. El profesor: Nombre:. Despacho: Edificio de la ETSII 2ª Planta. Correo electrónico: fdoperez@ull.es. Miércoles, Viernes: 3.30 a 5.30. Objetivos: Aprender

Más detalles

Curso de MySQL y Java

Curso de MySQL y Java Curso de MySQL y Java Introducción: instalación, arranque y primeros pasos 1. Material En este curso vamos a trabajar con el servidor mysql versión 4.0.18. También utilizaremos una herramienta llamada

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

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

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

Más detalles

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

Bases de datos y tablas

Bases de datos y tablas Mario Martínez http://www.lawebdelprogramador.com Bases de datos y tablas Creación con SQL 100499. Cuando concluyas la lectura de este documento sabrás como: Crear bases de datos. Crear tablas y sus campos.

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

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

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

Más detalles

SQL básico. SQL básico http://idesweb.es/ 1. Contenido

SQL básico. SQL básico http://idesweb.es/ 1. Contenido SQL básico http://idesweb.es/ 1 SQL básico El presente documento no tiene más aspiraciones que servir de recordatorio mínimo para las órdenes más básicas y en su mínima expresión. No es un manual de SQL

Más detalles

AcuSQL Pre-compilador de SQL Embebido

AcuSQL Pre-compilador de SQL Embebido AcuSQL Pre-compilador de SQL Embebido RESUMEN EJECUTIVO AcuSQL es una sencilla y rentable solución para aquellos que utilizan sentencias SQL embebidas en sus programas COBOL para acceder fuentes de datos

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

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

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

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

Más detalles

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN 4.1 Definiciones y palabras reservadas básicas del C El lenguaje C++ está compuesto por: 32 palabras clave (estándar ANSI), comunes a todos los compiladores de

Más detalles

Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Autor: Jorge A. Díez Pomares Laboratorio de C.A.D.

Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Autor: Jorge A. Díez Pomares Laboratorio de C.A.D. Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Laboratorio de C.A.D. UMH 1 1.1. INTRODUCCIÓN 1.2. SOFTWARE NECESARIO 1.3. CONFIGURACIÓN DEL PROYECTO EN VS2010

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

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

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

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012 Prácticas: Introducción a la programación en Java Informática (1º Ingeniería Civil) Índice Introducción a Java y al entorno de desarrollo NetBeans Estructura de un programa Tipos de datos Operadores Sentencias

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles