Motivación: SQL Interactivo vs. No Interactivo

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

Download "Motivación: SQL Interactivo vs. No Interactivo"

Transcripción

1 SQL en entorno de programación C SQL embebido Variables Errores / Whenever Select Cursores: Cursor y Fetch Prepare y Execute 2009/2010 Tema 5 : SQL en entorno de programación C 1 Motivación: SQL Interactivo vs. No Interactivo Hasta la fecha hemos considerado sólo consultas SQL en las que tecleamos en psql o pgaccess (cliente) las ordenes que deseamos ejecutar. Esto se conoce como SQL Interactivo. SQL interactivo es ideal para: Definir la estructura de la base de datos Probar consultas realizar prototipos El SQL interactivo no es una buena solución para la mayoría de las aplicaciones reales que requieren un interfaz con un usuario sin conocimientos de SQL. Para las cuales se necesita, además de SQL, un lenguaje de programación de alto nivel. Tema 5 : SQL en entorno de programación C 2 1

2 SQL embebido Los comandos SQL deben seguir una sintaxis especial que los "aísla" del resto de las ordenes del programa EXEC SQL SQL_statement Un precompilador se encargará de procesar estas ordenes y trasladarlas a llamadas a una librería (que se encarga de las comunicaciones). ecpg Finalmente el compilador nativo compila el programa. gcc Tema 5 : SQL en entorno de programación C 3 Precompilador SQL Editor Precompilador Compilador Lincador Programa nativo + SQL embebido Programa nativo + SQL traducido (ecpg) Código objeto Librerías nativas Librerías DDBB Ejecutable Tema 5 : SQL en entorno de programación C 4 2

3 Un ejemplo Preprocesador para C y SQL embebido (ECPG) #include <stdio.h> /* Esta zona se descibirá más adelante */ int resultado; int main() EXEC SQL CONNECT TO peliculas; EXEC SQL SELECT (1+1) INTO :resultado; printf("1+1=%d\n",resultado); return 0; } /* fichero 297.pgc */ /* hacemos: ecpg 297.pgc -o 297.c */ Tema 5 : SQL en entorno de programación C 5 Un ejemplo (despues de precompilarlo) /* Processed by ecpg (3.1.1) */ /* These include files are added by the preprocessor */ #include <ecpgtype.h> #include <ecpglib.h> #include <ecpgerrno.h> #include <sqlca.h> #line 1 "297.pgc" /* End of automatic include section */ #include <stdio.h> /* exec sql begin declare section */ #line 5 "297.pgc" int resultado ; /* exec sql end declare section */ #line 6 "297.pgc" int main() ECPGconnect( LINE, 0, "peliculas", NULL,NULL, NULL, 0); } #line 9 "297.pgc" ECPGdo( LINE, 0, 1, NULL, "select ( ) ", ECPGt_EOIT, ECPGt_int,&(resultado),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL, 0L, 0L, 0L, ECPGt_EORT);} #line 10 "297.pgc" printf("1+1=%d\n",resultado); return 0; } /* fichero 297.c */ Tema 5 : SQL en entorno de programación C 6 3

4 Un ejemplo (ahora compilarlo y linkarlo) Fichero: 297.mak INC= /usr/include/pgsql LIB= /usr/share/pgsql PROG= 297 TEMP= 297.c $(PROG): $(PROG).c gcc -I$(INC) -o $(PROG) $(PROG).c -L$(LIB) -lecpg -lpq $(PROG).c: $(PROG).pgc ecpg -o $(PROG).c $(PROG).pgc Hacemos: make -f 297.mak -n Tema 5 : SQL en entorno de programación C 7 Compartir Variables Es posible compartir variables entre el código SQL y el nativo. La definición se realiza usando la sintaxis: EXEC SQL begin declare section; varchar userid[ 10], password[ 10], cname[ 15]; int cno; EXEC SQL end declare section; Declaration section: variables compartidas por SQL y lenguaje nativo ":" se antepone a las variables cuando se usan en SQL Tema 5 : SQL en entorno de programación C 8 4

5 Compartir variables: un ejemplo unsigned long num_enrolled; char crs_code; char SQLSTATE [6];. EXEC SQL SELECT C.NumEnrolled INTO :num_enrolled FROM Course AS C WHERE C.CrsCode = :crs_code; Variables compartidas : se usa para las variables en SQL Declaration section: variables compartidas por SQL y lenguaje nativo ":" se antepone a las variables cuando se usan en SQL Tema 5 : SQL en entorno de programación C 9 NULL SQL trata el valor NULL de forma muy especial que no es directamente exportable a otros lenguajes de programación. Hay unas variables llamadas variables indicadoras que contienen un código que matiza los valores devueltos por la base de datos: 0 el valor de la variable nativa es correcto. -1 el valor de la variable nativa debe tratarse como si fuera NULL. Su valor es irrelevante. >0 el valor de la variable nativa ha sido procesado (probablemente un casting que ha producido una truncación o redondeo) Tema 5 : SQL en entorno de programación C 10 5

6 Ejemplo!!! #include <stdio.h> int main() char resultado[11]; int resultadoind; //las variables indicadoras funcionan en las dos direcciones EXEC SQL CONNECT TO peliculas; resultadoind = 0; strcpy(resultado,"rojo"); EXEC SQL INSERT INTO pepinillo (id,color) VALUES (1,:resultado:resultadoInd); return 0; } /* 297b.pgc */ Tema 5 : SQL en entorno de programación C 12 #include <stdio.h> Ejemplo!!! int main() char resultado[11]; int resultadoind; //las variables indicadoras funcionan en las dos direcciones EXEC SQL CONNECT TO peliculas; resultadoind = -1; strcpy(resultado,"rojo"); EXEC SQL INSERT INTO pepinillo (id,color) VALUES (2,:resultado:resultadoInd); return 0; } /* 297d.pgc */ pelis=> select * from pepinillo ; id color rojo 2 (2 rows) Tema 5 : SQL en entorno de programación C 13 6

7 Conexión Hasta la fecha hemos usado: EXEC SQL CONNECT TO peliculas; para conectarnos Obviamente faltan campos para: usuario password servidor (dirección IP) puerto Tema 5 : SQL en entorno de programación C 14 Ejemplo #include <stdio.h> EXEC SQL INCLUDE sqlca; int resultado; int main() EXEC SQL CONNECT TO peliculas@localhost:5432 USER usuario/contraseña; if (sqlca.sqlcode) printf("%s\n", sqlca.sqlerrm.sqlerrmc); exit(1); } EXEC SQL SELECT (1+1) INTO :resultado; printf("1+1=%d\n",resultado); return 0; } Tema 5 : SQL en entorno de programación C 15 7

8 Errores Se puede acceder a la base de datos para conocer su estado Cómo saber si ha habido algún error durante la ejecución? EXEC SQL include sqlca; El elemento más interesante de la estructura sqlca es sqlcode. El 0 consulta correcta. >0 la consulta se ha realizado satisfactoriamente pero ha ocurrido una excepción (por ejemplo no hay más tuplas disponibles) < 0 ha ocurrido un error Tema 5 : SQL en entorno de programación C 16 Errores #include <stdio.h> EXEC SQL INCLUDE sqlca; int resultado; int main() EXEC SQL CONNECT TO basequenoexiste; if (sqlca.sqlcode) printf("error: No puedo conectar a la base (%d)\n", sqlca.sqlcode); exit(1); } EXEC SQL SELECT (1+1) INTO :resultado; printf("1+1=%d\n",resultado); return 0; } /* 300.pgc */ maquina:~>./300 Error: No puedo conectar a la base (-402) Tema 5 : SQL en entorno de programación C 17 8

9 Códigos de Error struct char sqlcaid[8]; long sqlabc; long sqlcode; struct int sqlerrml; char sqlerrmc[70];} sqlerrm; char sqlerrp[8]; long sqlerrd[6]; char sqlwarn[8]; char sqlstate[5]; } sqlca; Tema 5 : SQL en entorno de programación C 18 WHENEVER Cada comando de SQL embebido puede (potencialmente) generar un error. Para aliviar el trabajo del programador existe la directiva WHENEVER que instruye al precompilador para que genere el código que procesará los errores La sintaxis de la directiva WHENEVER es: EXEC SQL WHENEVER <condición> <acción> Tema 5 : SQL en entorno de programación C 19 9

10 WHENEVER (cont) La condición puede ser: SQLERROR - genera código que se encargue de los errores (SQLCODE < 0). SQLWARNING genera codigo que se encarge de las advertencias (warnings) (SQLCODE > 0) NOT FOUND - genera código que se encargue del caso especial en que todas las tuplas obtenidas como resultado de la consulta ya se han transferido. Tema 5 : SQL en entorno de programación C 20 WHENEVER (CONT) La acción puede ser: CONTINUE ignora el error y continua la ejecución función transfiere el error a la funcion que se encarga de procesar los error. DO BREAK salte del bucle DO CONTINUE continua con la interación siguiente (se supone dentro de un bucle) GOTO label - transfiere el control a otra parte del programa. STOP Aborta transacción. SQLPRINT Muestar mensaje con el error ocurrido (predeterminado). Tema 5 : SQL en entorno de programación C 21 10

11 WHENEVER: Ejemplo!!! #include <stdio.h> int main() int resultadoind; EXEC SQL CONNECT TO peliculas; EXEC SQL WHENEVER sqlerror sqlprint; EXEC SQL INSERT INTO tablaquenoexiste (id,color) VALUES (1,2); printf( El programa no ha abortado tras hacer sqlprint ); return 0; } /* 297c.pgc */ maquina:~>./297c sql error 'relation "tablaquenoexiste" does not exist' in line 13. El programa no ha abortado tras hacer sqlprint Tema 5 : SQL en entorno de programación C 22 SELECT SELECT es un comando de SQL potencialmente complicado de usar. Problema: los lenguajes de programación tradicionales están concebidos para procesar variables aisladas y no grandes tablas de dimensión virtualmente infinita SQL, por el contrario, puede procesar una gran cantidad de filas con un solo comando Aquellos SELECTs que devuelvan 0 o una tupla son fácilmente procesables pero... qué hacer cuando n tuplas son devueltas? Tema 5 : SQL en entorno de programación C 23 11

12 SELECT Devuelve una sola tupla EXEC SQL SELECT fname, lname, address INTO :firstname, :lastname, :address:addressind, FROM PrivateOwner WHERE ownerno = CO21'; Si se devuelve más de una tupla solo la primera de ellas es retenida Tema 5 : SQL en entorno de programación C 24 Cursores Si una consulta puede devolver un número arbitrario de tuplas, es necesario usar cursores. Los cursores permiten al lenguaje nativo acceder a una relación tupla a tupla. Los cursores se comportan como punteros a una tupla del resultado y pueden ser movidos de una tupla a la siguiente (se puede saltar hacia atrás y delante). Los cursores se deben declarar y abrir antes de que puedan ser usados. Una vez abiertos el comando fetch permite avanzar hasta la siguiente tupla Cuando se deje de utilizar: cerrar cursor. Tema 5 : SQL en entorno de programación C 25 12

13 CURSOR - Ejemplo Consideremos la consulta: SELECT titulo, puntuacion,votos FROM pelicula WHERE puntuacion > 9.4; título puntuacion votos High and the Mighty, The Flåklypa Grand Prix Tema 5 : SQL en entorno de programación C 26 Cursor: Declaración Los cursores se declara usando las palabras reservadas: DECLARE <nombre-cursor> CURSOR FOR <consulta> el nombre del cursor y la consulta a realizar EXEC SQL DECLARE miprimercursor CURSOR FOR SELECT titulo, puntuación, votos FROM pelicula WHERE puntuacion > 9.4; Tema 5 : SQL en entorno de programación C 27 13

14 Cursor - OPEN La orden OPEN ejecuta la consulta y coloca un puntero apuntando hacia la primera tupla de la relación resultante EXEC SQL OPEN miprimercursor; Pointer High and the Mighty, The Flåklypa Grand Prix Tema 5 : SQL en entorno de programación C 28 Cursores - FETCH FETCH devuelve la siguiente tupla en la relación resultante de nuestra consulta y la coloca en una variable accesible por el lenguaje nativo EXEC SQL FETCH miprimercursor INTO :titulo, :puntuación, :votos FETCH se coloca normalmente dentro de un bucle que itera hasta que no se devuelven más filas. Esto es, SQLCODE es????. Tema 5 : SQL en entorno de programación C 29 14

15 Cursores: FETCH EXEC SQL WHENEVER NOT FOUND DO BREAK; while(1) EXEC SQL FETCH miprimercursor INTO :titulo, :puntuación, :votos; //MAS CODIGO AQUI } Fetch 1 Fetch 2 High and the Mighty, The Flåklypa Grand Prix Tema 5 : SQL en entorno de programación C 30 CURSOR - CLOSE La orden CLOSE cierra el cursor activo. EXEC SQL CLOSE miprimercursor; Tema 5 : SQL en entorno de programación C 31 15

16 Un ejemplo con todo junto #include <stdio.h> EXEC SQL INCLUDE sqlca; char titulo[256]; float fpuntuacion; int votos; char miquery[256]; EXEC SQL WHENEVER SQLERROR sqlprint; int main() // conectarse EXEC SQL CONNECT TO peliculas; if (sqlca.sqlcode) printf("error: No puedo conectar a la base (%d)\n", sqlca.sqlcode); exit(1); } Tema 5 : SQL en entorno de programación C 32 // declara cursor EXEC SQL DECLARE micursor CURSOR FOR SELECT titulo, puntuacion, votos FROM pelicula WHERE puntuacion > 9.4; EXEC SQL OPEN micursor; EXEC SQL WHENEVER NOT FOUND DO BREAK; while (1) EXEC SQL FETCH IN micursor INTO :titulo, :fpuntuacion, :votos; printf("%s %f %d\n",titulo, fpuntuacion, votos); } EXEC SQL CLOSE micursor; EXEC SQL DISCONNECT; return 0; } /* 312.pgc */ maquina:~>./312 High and the Mighty, The Flåklypa Grand Prix Tema 5 : SQL en entorno de programación C 33 16

17 Modificar datos usando cursores Los cursores pueden ser declarados como READ ONLY o UPDATE Aquellos declarados como UPDATE pueden ser usados para modificar o borrar tuplas READ ONLY es la opción por defecto para declarar un cursor que será usado para modificar la relación debe usarse la sintaxis: EXEC SQL DECLARE misegundocursor CURSOR FOR SELECT titulo, puntuacion, votos FROM peliculas WHERE puntuacion < 5 FOR UPDATE OF titulo,puntuacion,votos; Tema 5 : SQL en entorno de programación C 34 Ejemplo: modificar relaciones usando cursores #include <stdio.h> #include <stdlib.h> #include <string.h> EXEC SQL INCLUDE sqlca; #define CHECKERR(CE_STR) if (sqlca.sqlcode!= 0) printf("%s failed. Reason %ld\n", CE_STR, sqlca.sqlcode); exit(1); } EXEC SQL WHENEVER SQLERROR sqlprint; int main() char titulo[256]; float fpuntuacion; int votos; char miquery[256]; EXEC SQL CONNECT TO peliculas; CHECKERR ("CONNECT TO peliculas"); Tema 5 : SQL en entorno de programación C 35 17

18 Ejemplo: modificar relaciones usando cursores-ii /* Maniaco de Star Trek */ EXEC SQL DECLARE micursor CURSOR FOR SELECT puntuacion, votos, id FROM pelicula WHERE titulo LIKE 'Star Trek%' FOR UPDATE OF puntuacion,votos; EXEC SQL OPEN micursor; CHECKERR ("OPEN CURSOR"); do EXEC SQL FETCH micursor INTO :fpuntuacion, :votos, :id_peli printf("%f %d %d\n",fpuntuacion,votos, id_peli); if (SQLCODE!= 0) break; if(fpuntuacion < 99999) EXEC SQL UPDATE pelicula SET puntuacion = , votos = WHERE id_pelicula=:id_peli; CHECKERR ("UPDATE pelicula"); } } while ( 1 ); EXEC SQL CLOSE micursor; EXEC SQL commit; } /* 326.pgc */ Tema 5 : SQL en entorno de programación C 36 SQL Dinámico vs Estático Hasta el momento hemos visto SQL (embebido) estático SQL estático es, posiblemente, la formula más popular de programar con SQL pero sólo es usable si se conoce las consultas que una aplicación va a hacer durante la fase de diseño de la aplicación. Su principal limitación es que no permite decidir en tiempo real a que tablas o atributos (u otros objetos) nos queremos referir. Esto es: con SQL estático puedes decidir que valor va a tener un atributo en tiempo real pero no que atributo vas a cambiar (o a que base de datos vas a acceder) Tema 5 : SQL en entorno de programación C 37 18

19 EXECUTE IMMEDIATELY La forma más sencilla de ejecutar una sentencia arbitraria en SQL consiste en usar la orden EXECUTE IMMEDIATE : EXEC SQL EXECUTE IMMEDIATE [cadena_con_la_consulta] Por ejemplo: const char *stmt = "CREATE TABLE test1(...);"; EXEC SQL EXECUTE IMMEDIATE :stmt; No se pueden ejecutar sentencias que devuelvan datos de esta manera. (SELECT no esta permitido pero INSERT o UPDATE son posibles) Tema 5 : SQL en entorno de programación C 38 #include <stdio.h> int main() char resultado[11]; int resultadoind; EXEC SQL CONNECT TO peliculas; //Dos Declare secction estilo c++ Ejemplo const char *stmt = "CREATE TABLE test2 (i int, f float);"; EXEC SQL EXECUTE IMMEDIATE :stmt; EXEC SQL COMMIT; return 0; }//immediate /* 500.pgc */ Tema 5 : SQL en entorno de programación C 39 19

20 PREPARE y EXECUTE La base de datos tiene que analizar, validar y optimizar cada sentencia SQL de tipo EXECUTE IMMEDIATE. Si se planea utilizar repetidamente la misma sentencia (o variantes parametrizadas de la misma) entonces combiene preparar las consultas previamente de forma que la validación, optimización y analisis se realice una única vez por grupo de consultas. SQL dinámico cuenta con las intrucciones: PREPARE y EXECUTE para realizar esta tarea Tema 5 : SQL en entorno de programación C 40 Immediate vs Prepare/Execute Tema 5 : SQL en entorno de programación C 41 20

21 int main() /*No se comprueban errores para ahorrar espacio*/ char dbname[64] = peliculas ; char sql_string[1000]; int i; float f; /* Conectarse a la base de datos*/ EXEC SQL CONNECT TO :dbname; /*EXEC SQL SET AUTOCOMMIT TO ON; */ /* Preparara la orden INSERT */ strcpy(sql_string, "INSERT INTO test1 VALUES(?,?)"); EXEC SQL PREPARE prep_ins FROM :sql_string; /* Insertar varias tuplas (en una sola transaccion*/ EXEC SQL BEGIN; for(i = 0; i < 3; i++) switch(i) case 0: f=0.; break; case 1: f=1.; break; case 2: f=2.; break; } EXEC SQL EXECUTE prep_ins USING :i, :f; } EXEC SQL COMMIT; } /* 400.pgc */ Tema 5 : SQL en entorno de programación C 42 21

Introducción al SQL embebido

Introducción al SQL embebido Introducción al SQL embebido Bases de Datos II 1 Índice 1. Introducción. 2. Estructura típica de un programa 3. Declaración de variables. 4. Utilización de SQL embebido. Sentencias básicas Uso de cursores

Más detalles

SQL EMBEBIDO FELIPE GARCÍA GÓMEZ

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

Más detalles

Desarrollo Cobol/DB2

Desarrollo Cobol/DB2 Desarrollo Cobol/DB2 Preparación de programas Precompilador DB2 Toma los postulados SQL del programa fuente Revisa la sintaxis de SQL Crea un programa fuente traducido de las sentencias SQL Crea el DBRM

Más detalles

Base de Datos Oracle: desarrollo de aplicaciones

Base de Datos Oracle: desarrollo de aplicaciones Base de Datos Oracle: desarrollo de aplicaciones Oracle Pro-C/C++ Contenidos Introducción Compilación Código incrustado Comunicación de variables Conexión Transacciones Control de errores Llamadas a procedimientos

Más detalles

SQL Embebido. Introducción (I)

SQL Embebido. Introducción (I) SQL Embebido Introducción (I) SQL directo (o interactivo): las instrucciones se ejecutan directamente desde el terminal y el resultado de las consultas se visualiza en el monitor de la estación. SQL embebido:

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

Seminario 1. Conexión a Oracle

Seminario 1. Conexión a Oracle Seminario 1. Conexión a Oracle Laboratorio de Programación Curso 2007/2008 Fran J. Ruiz Emilio Sobreviela Diseño E/R usuario contrasena Usuarios 1:1 es id_cliente nombre 1:1 Clientes apellidos edad 1 Creación

Más detalles

Sintaxis: CURSOR nombre_cursor[(param1 [IN] tipo1,... )] IS consulta ;

Sintaxis: CURSOR nombre_cursor[(param1 [IN] tipo1,... )] IS consulta ; 7. CONCEPTOS AVANZADOS DE CURSORES EXPLICITOS En este capítulo veremos algunas cosas bastante útiles respecto a los cursores explícitos, como pueden ser los cursores con parámetros (que nos permitirán

Más detalles

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL 5.6 MODIFICACIÓN DE LA BASE DE DATOS SQL posee comandos destinados también para modificar la base de datos, entre estos se tienen operaciones de borrado,

Más detalles

BASES DE DATOS AVANZADAS Transacciones en MYSQL

BASES DE DATOS AVANZADAS Transacciones en MYSQL Ejercicio Transacciones mysql> CREATE TABLE innotest (campo INT NOT NULL PRIMARY KEY) TYPE = InnoDB; Query OK, 0 rows affected (0.10 sec) mysql> INSERT INTO innotest VALUES(1); Query OK, 1 row affected

Más detalles

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL.

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL Estructura del código PL/SQL. Bloques: El Lenguaje PL/SQL sentencias PL/SQL Los ficheros terminan con el caracter

Más detalles

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio

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

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

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

Más detalles

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

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

Más detalles

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

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

Más detalles

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

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

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

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro USAR MYSQL EN PHP PHP tiene una librería de funciones nativas para conectarse a las base de datos MySQL. Por un lado reconoce la librería mysql y por otro mysqli. Se recomienda el uso de mysqli dado que

Más detalles

LENGUAJE. Tema 1 - Introducción

LENGUAJE. Tema 1 - Introducción LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del

Más detalles

Ejercicios - Persistencia en Android: ficheros y SQLite

Ejercicios - Persistencia en Android: ficheros y SQLite Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base

Más detalles

El Modo SQL de Emacs

El Modo SQL de Emacs El Modo SQL de Emacs Ismael Sanz Departamento de Ingeniería y Ciencias de la Computación Universitat Jaume I 1. Introducción Las bases de datos relacionales suelen proporcionar unos intérpretes interactivos

Más detalles

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009 Árboles Ejemplos de estructuras arborescentes: con forma de árbol Regla de Alcance: los objetos visibles en un procedimiento son aquellos declarados en él mismo o en cualquier ancestro de él (cualquier

Más detalles

INSTRUCTIVO DEL COMANDO MAKE

INSTRUCTIVO DEL COMANDO MAKE INSTRUCTIVO DEL COMANDO MAKE Introducción Un programa escrito en C está normalmente compuesto por varios archivos. Estos archivos se van modificando según se va completando o cambiando el programa. Cada

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

SQL (Structured Query Language)

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

Más detalles

Conectar Flash con Access usando MDM Zinc

Conectar Flash con Access usando MDM Zinc Conectar Flash con Access usando MDM Zinc Con este tutorial pretendo enseñar la conexión básica entre Flash / Actionscript y Microsoft Access mediante MDM Zinc, para poder empezar a crear aplicaciones

Más detalles

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde

Más detalles

Ataques a Aplicaciones de Bases de Datos

Ataques a Aplicaciones de Bases de Datos Ataques a Aplicaciones de Bases de Datos Esteban Martínez Fayó Argeniss (www.argeniss.com) ekoparty security conference Noviembre 2007 Buenos Aires, Argentina Agenda Introducción a la seguridad en Bases

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

Problemas de Redes de Computadores. Conjunto de problemas 1

Problemas de Redes de Computadores. Conjunto de problemas 1 Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Pregunta 1.1: Si configuro mi servidor Web para que no acepte conexiones desde la dirección IP 130.206.1.1,

Más detalles

INSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++

INSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++ 5.- Herencia Múltiple. Un hecho natural es que una persona tenga más de un pariente mayor, esta situación también se puede dar en la herencia de clases, naturalmente este tipo de herencia involucra un

Más detalles

CONSULTAS BASICAS EN SQL SERVER

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

Más detalles

Procedimientos, Funciones, Trigger y Cursores en ORACLE

Procedimientos, Funciones, Trigger y Cursores en ORACLE Procedimientos, Funciones, Trigger y Cursores en ORACLE PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que pueden ser llamados usando el nombre que se

Más detalles

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */ Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones

Más detalles

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar / S Q Lenguaje de Consulta Estructurado L Wael Najjar / Wael Stephenson Najjar / Prieto Stephenson Prieto Contenido Parte I El Lenguaje de Consulta Estructurado. Lo que se puede hacer. Lenguaje Estandarizado.

Más detalles

2. Mediante la tabla pg_class, vamos a ver cómo afecta los comandos analyze y vacuum a las tablas.

2. Mediante la tabla pg_class, vamos a ver cómo afecta los comandos analyze y vacuum a las tablas. Objetivos: o Catálogo o Indices o Ficheros / Discos 1. Vamos a crear una tabla y a ver dónde se encuentra su información en el catálogo. Creamos una tabla en el esquema empresa que se llame persona, con

Más detalles

Dev C++. Compilador de C para Windows

Dev C++. Compilador de C para Windows Práctica 6 Dev C++. Compilador de C para Windows 1. Introducción Estas notas sirven de apoyo para la realización de las prácticas de programación en lenguaje C de la asignatura Fundamentos de Informática

Más detalles

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

TEMA 3: EL LENGUAJE C: PRESENTACIÓN TEMA 3: EL LENGUAJE C: PRESENTACIÓN Historia del lenguaje C Características del lenguaje C Estructura de un programa en C El editor de textos: elementos Funciones: de usuario y de librería Librerías de

Más detalles

6 - Recuperar algunos registros (where)

6 - Recuperar algunos registros (where) 6 - Recuperar algunos registros (where) Hemos aprendido a seleccionar algunos campos de una tabla. También es posible recuperar algunos registros. Existe una cláusula, "where" con la cual podemos especificar

Más detalles

Figura 4.1 Clasificación de los lenguajes de bases de datos

Figura 4.1 Clasificación de los lenguajes de bases de datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje

Más detalles

9- Procedimientos almacenados.

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

Más detalles

TEMA 20: CONCEPTOS BÁSICOS DE SQL

TEMA 20: CONCEPTOS BÁSICOS DE SQL TEMA 20: CONCEPTOS BÁSICOS DE SQL OBJETIVOS DEL TEMA Introducción al lenguaje de consultas SQL. Para iniciar esta parte del curso se va a utilizar el programa SQLITE que es sencillo, multiplataforma y

Más detalles

Son objetos cuya función es el tratamiento de varios registros exclusivamente durante la ejecución de un programa.

Son objetos cuya función es el tratamiento de varios registros exclusivamente durante la ejecución de un programa. TABLAS INTERNAS Qué son? Cuando desde un programa realizamos una consulta en Base de Datos a través de sentencias SQL, solemos requerir que los resultados se guarden en alguna estructura de nuestro programa,

Más detalles

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas OPTIMIZACIÓN DE CONSULTAS EN SQL Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas Análisis de Consultas y Transacciones Para elaborar el diseño físico de la base de datos debemos

Más detalles

Recursos de Aprendizaje

Recursos de Aprendizaje 1.0 Entorno del programa 2.0 Creación de un nuevo programa 2.1 Guardar un programa o una lista de posiciones 2.2 La apertura de una lista de programa o de posiciones 2.3 El cierre de una lista de programas

Más detalles

Fórmulas y funciones

Fórmulas y funciones 05... Fórmulas y funciones En este tema vamos a profundizar en el manejo de funciones ya definidas por Excel, con el objetivo de agilizar la creación de hojas de cálculo, estudiando la sintaxis de éstas

Más detalles

sql*plus es un programa de linea de comandos de oracle que puede ejecutar comandos sql y pl/sql de forma interactiva o mediante un script.

sql*plus es un programa de linea de comandos de oracle que puede ejecutar comandos sql y pl/sql de forma interactiva o mediante un script. Que es sql plus sql*plus es un programa de linea de comandos de oracle que puede ejecutar comandos sql y pl/sql de forma interactiva o mediante un script. sql*plus opera como una herramienta relativamente

Más detalles

Programación Gambas 3 Prof: Mileti, P. Acceso a base de datos SQLite desde Gambas 3.

Programación Gambas 3 Prof: Mileti, P. Acceso a base de datos SQLite desde Gambas 3. Acceso a base de datos SQLite desde Gambas 3. Si deseamos realizar una pequeña aplicación en Gambas que trabaje con una base de datos local (alojada en el mismo disco rígido que nuestra aplicación), la

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

El Entorno Integrado de Desarrollo Dev-C++ (Ayuda básica para las primeras sesiones de prácticas)

El Entorno Integrado de Desarrollo Dev-C++ (Ayuda básica para las primeras sesiones de prácticas) El Entorno Integrado de Desarrollo Dev-C++ (Ayuda básica para las primeras sesiones de prácticas) Sobre Dev-C++ Dev-C++ es un Entorno Integrado de Desarrollo para el lenguaje de programación C/C++ que

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

8.1 Un primer bucle FOR... 5 8.2 Varias formas de utilizar el bucle FOR... 5 8.3 Calcular el factorial de un número mediante un bucle FOR...

8.1 Un primer bucle FOR... 5 8.2 Varias formas de utilizar el bucle FOR... 5 8.3 Calcular el factorial de un número mediante un bucle FOR... PROGRAMACIÓN EN C++ PRÁCTICA 08 INTRODUCCIÓN A C++ SENTENCIAS DE CONTROL DEL FLUJO DE UN PROGRAMA: Ejercicio 1. Un primer programa en C++....1 Ejercicio 2. Una conversación en C++....2 Ejercicio 3. Una

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

MATERIAL 2 EXCEL 2007

MATERIAL 2 EXCEL 2007 INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta

Más detalles

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

BASE DE DATOS QUÉ ES UNA BASE DE DATOS? BASE DE DATOS BASE DE DATOS QUÉ ES UNA BASE DE DATOS? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Actualmente la mayoría de

Más detalles

USANDO SQL. EN BASE DE Ooo. [email protected]

USANDO SQL. EN BASE DE Ooo. mepgkun@hotmail.com USANDO SQL EN BASE DE Ooo [email protected] Utilizaremos comandos SQL para crear una base de datos en BASE de OOo a la cual llamaremos EMPRESA DEF. Es necesario tener conocimientos básicos tanto de Base

Más detalles

Bases de Datos 3º Informática de Sistemas

Bases de Datos 3º Informática de Sistemas TEMA 2.- EL SISTEMA GESTOR DE BASES DE DATOS. Concepto y Funciones del SGBD. Lenguajes de los SGBD. Niveles de Abstracción. Arquitectura ANSI/SPARC. Componentes del SGBD. 1. Concepto y Funciones del SGBD.

Más detalles

Bases de datos relacionales y el modelo entidad-relación

Bases de datos relacionales y el modelo entidad-relación Bases de datos relacionales y el modelo entidad-relación Qué es una base de datos relacional? El sistema gestor de bases de datos El modelo entidad-relación entidad, atributos y elementos (tablas, columnas

Más detalles

Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A)

Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A) aprenderaprogramar.com Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A) Sección: Cursos Categoría: Curso Bases de la programación

Más detalles

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. [email protected], [email protected]

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl El rol del lenguaje SQL en los SGBDR y en la Relacional. [email protected], [email protected] Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades

Más detalles

Ahora comencemos!... Las operaciones matemáticas fundamentales pueden realizarse de forma rápida y sencilla con Miicrosofftt Excell.

Ahora comencemos!... Las operaciones matemáticas fundamentales pueden realizarse de forma rápida y sencilla con Miicrosofftt Excell. Necesitas organizar tus cuentas? O calcular tus notas? Miicrosofftt Excell te ayuda a hacerlo Lleva todas tus cuentas, notas, o lo que necesites, de forma automática, a través de las hojas de cálculo de

Más detalles

CURSORES EN SQL SERVER

CURSORES EN SQL SERVER Año del Centenario de Machu Picchu para el mundo CURSORES EN SQL SERVER Curso: IMPLEMENTACION DE BASE DE DATOS VII Ciclo Integrantes: Vásquez Paredes, Pablo Bustamante Auccasi, Janett Córdova Farfán, Carlos

Más detalles

5- Uso de sentencias avanzadas

5- Uso de sentencias avanzadas Objetivos: 5- Uso de sentencias avanzadas Elaborar sentencias de manejo de datos. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Introducción: Después de trabajar con las sentencias

Más detalles

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

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

Más detalles

Práctica 3 de Redes de Área Local Cliente y Servidor de ficheros concurrente

Práctica 3 de Redes de Área Local Cliente y Servidor de ficheros concurrente Práctica 3 de Redes de Área Local Cliente y Servidor de ficheros concurrente 3 o curso de Ingeniería Técnica en Informática de Sistemas 13 de abril de 2007 El objetivo de esta práctica es realizar una

Más detalles

PRÁCTICAS DE GESTIÓN GANADERA:

PRÁCTICAS DE GESTIÓN GANADERA: PRÁCTICAS DE GESTIÓN GANADERA: MANEJO DE HOJA DE CÁCULO (EXCEL) 1. INTRODUCCIÓN AL MANEJO DE EXCEL La pantalla del programa consta de una barra de herramientas principal y de una amplia cuadrícula compuesta

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 5 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 5 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Mi

Más detalles

Tema 5: Diseño modular. Índice. Notas. Programación 2. Curso 2014-2015. Notas. Ejemplo. La herramienta make. 1 Diseño modular.

Tema 5: Diseño modular. Índice. Notas. Programación 2. Curso 2014-2015. Notas. Ejemplo. La herramienta make. 1 Diseño modular. : Programación 2 Curso 2014-2015 Índice 1 2 3 (1/2) Cuando el programa crece es necesario dividirlo en módulos Cada módulo agrupa una serie de funciones con algo en común El módulo puede reutilizarse en

Más detalles

Tema: Sobrecarga de Operadores.

Tema: Sobrecarga de Operadores. Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen

Más detalles

Un puntero no es más que una variable estática cuyo contenido es una dirección de memoria.

Un puntero no es más que una variable estática cuyo contenido es una dirección de memoria. Los punteros en C 1 Introducción Cómo se organiza la memoria asociada a un programa? Como una colección de posiciones de memoria consecutivas. En ellas se almacenan los distintos tipos de datos, que ocupan,

Más detalles

Programación SQL. Lucio Salgado Diciembre 2008

Programación SQL. Lucio Salgado Diciembre 2008 Programación SQL Lucio Salgado Diciembre 2008 1 Gestionadores de Bases de Datos (DBMS) Es el software que permite administrar bases de datos, a través de ella el usuario puede usar los datos con mucha

Más detalles

Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente:

Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente: (3 ptos) Memoria Compartida y Semáforos R/W 1. Objetivo En esta práctica se pretende crear una librería que dé la funcionalidad de un semáforo para resolver problemas con múltiples lectores y escritores

Más detalles

Bases de Datos / Elementos de Bases de Datos 2011. Que es un Stored Procedure? Stored Procedures: Ventajas

Bases de Datos / Elementos de Bases de Datos 2011. Que es un Stored Procedure? Stored Procedures: Ventajas Bases de Datos / Elementos de Bases de Datos 2011 Stored Procedures, Triggers y Transacciones en MySQL Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1 Que es un Stored

Más detalles

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

Tema 4. Manipulación de datos con SQL

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

Más detalles

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

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 2. Algoritmos, diagramas de flujo y pseudocódigo Contenido Algoritmos Diagramas de flujo

Más detalles

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APLICACIONES WEB BASADAS EN PHP Y MYSQL Una aplicación web es básicamente un programa escrito sobre una página web, generalmente en lenguaje

Más detalles

Acceso a bases de datos en Perl

Acceso a bases de datos en Perl Acceso a bases de datos en Perl Martín Ferrari 16 de Julio de 2003 Resumen Una introducción a la interfaz de bases de datos DBI de Perl. 1. Qué es una Base de Datos El concepto de base de datos es simplemente

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

Se guardan en archivos con extencion c y los cabezales con extension h

Se guardan en archivos con extencion c y los cabezales con extension h Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767

Más detalles

CONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS Hasta ahora hemos visto consultas que obtienen los datos de una sola tabla,

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

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

Estructuras de Datos y Algoritmos Tecnólogo en Informática

Estructuras de Datos y Algoritmos Tecnólogo en Informática Estructuras de Datos y Algoritmos Tecnólogo en Informática INSTRUCTIVO DEL COMANDO MAKE ESTRUCTURAS DE DATOS Y ALGORITMOS - TECNÓLOGO EN INFORMÁTICA 1 Contenido Introducción... 3 El archivo makefile...

Más detalles

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones Contenidos 1. Justificación del uso de funciones. 2. Declaración de funciones: prototipos. 3. Prototipos y ficheros de cabecera. 4. Polimorfismo (sobrecarga de funciones). 5. Argumentos formales y actuales.

Más detalles

Manual de OpenOffice Impress

Manual de OpenOffice Impress Manual de OpenOffice Impress. Capítulo 4. Trabajando con gráficos, esquemas y plantillas 1 Manual de OpenOffice Impress Capítulo 4: Trabajando con gráficos, esquemas y plantillas Este material es una adaptación

Más detalles

Introducción al Dev-C++

Introducción al Dev-C++ Introducción al Dev-C++ El Entorno de Desarrollo Dev-C++ http://www.bloodshed.net/devcpp.html Incluye todas las operaciones necesarias para crear o modificar un programa. Posee un editor, un compilador

Más detalles

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar

Más detalles

accesos a una base de datos desde un programa escrito en un lenguaje de alto nivel (C, Pascal, COBOL,...). Nosotros vamos a utilizar SQL inmerso en C

accesos a una base de datos desde un programa escrito en un lenguaje de alto nivel (C, Pascal, COBOL,...). Nosotros vamos a utilizar SQL inmerso en C SQL INMERSO SQL inmerso, permite e utilizar el lenguaje SQL para realizar accesos a una base de datos desde un programa escrito en un lenguaje de alto nivel (C, Pascal, COBOL,...). Nosotros vamos a utilizar

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

Bases de Datos / Elementos de Bases de Datos 2015

Bases de Datos / Elementos de Bases de Datos 2015 Bases de Datos / Elementos de Bases de Datos 2015 Stored Procedures, Triggers y Transacciones en MySQL Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1 Stored Procedures

Más detalles

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador.

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador. PRACTICA #1 Aprender a programar una interrupción software empleando C y/o Ensamblador. Aprender a manipular dispositivos externos (8253, 8255) desde C y/o ensamblador. PROCEDIMIENTO: Vamos a programar

Más detalles