1) En primer lugar, tendremos que dar nombre a la base de datos, con la sentencia CREATE DATABASE, si la hay, o con CREATE SCHEMA.
2) A continuación definiremos las tablas, los dominios, las aserciones y las vistas que formarán nuestra base de datos.
3) Una vez definidas las tablas, que estarán completamente vacías, se deberán llenar con la sentencia INSERT INTO.
Cuando la base de datos tenga un conjunto de filas, la podremos manipular, ya sea actualizando filas o bien haciéndo consultas.
Además, podemos usar todas las sentencias de control que hemos explicado.
Categorias del Blog
sábado, 1 de abril de 2017
viernes, 31 de marzo de 2017
Resumen SQL
En esta unidad hemos presentado las sentencias más utilizadas del lenguaje estándar ANSI/ISO SQL92 de definición, manipulación y control de bases de datos relacionales. Como ya hemos comentado en la introducción, el SQL es un lenguaje muy potente, y esto hace que existan más sentencias y opciones de las que hemos explicado en este módulo. Sin embargo, no es menos cierto que hemos visto más sentencias que las que algunos sistemas relacionales ofrecen actualmente. Hemos intentado seguir con la mayor fidelidad el estándar, incluyendo comentarios sólo cuando en la mayoría de los sistemas relacionales comerciales alguna operación se hacía de forma distinta. Conociendo el SQL92 podemos trabajar con cualquier sistema relacional comercial; sólo tendremos que dedicar unas cuantas horas a ver qué variaciones se dan con respecto al estándar
jueves, 30 de marzo de 2017
Sublenguajes especializados - Las SQL/CLI
Las SQL/CLI (SQL/Call-Level Interface), denominadas de forma abreviada CLI, permiten que aplicaciones desarrolladas en un cierto lenguaje de programación (con sólo las herramientas disponibles para este lenguaje y sin el uso de un precompilador) puedan incluir sentencias SQL mediante llamadas a librerías.
Estas sentencias SQL se deben interpretar en tiempo de ejecución del programa, a diferencia del SQL hospedado, que requería el uso de un precompilador. La interfaz ODBC (Open Database Connectivity) define una librería de funciones que permite a las aplicaciones acceder al SGBD utilizando el SQL. Las rutinas SQL/CLI están fuertemente basadas en las características de la interfaz ODBC, y gracias al trabajo desarrollado por SAG-X/Open (SQL Access Group-X/Open), fueron añadidas al estándar ANSI/ISO SQL92 en 1995.
Las SQL/CLI son simplemente rutinas que llaman al SGBD para interpretar las sentencias SQL que pide la aplicación. Desde el punto de vista del SGBD, las SQL/CLI se pueden considerar, simplemente, como otras aplicaciones.
Estas sentencias SQL se deben interpretar en tiempo de ejecución del programa, a diferencia del SQL hospedado, que requería el uso de un precompilador. La interfaz ODBC (Open Database Connectivity) define una librería de funciones que permite a las aplicaciones acceder al SGBD utilizando el SQL. Las rutinas SQL/CLI están fuertemente basadas en las características de la interfaz ODBC, y gracias al trabajo desarrollado por SAG-X/Open (SQL Access Group-X/Open), fueron añadidas al estándar ANSI/ISO SQL92 en 1995.
Las SQL/CLI son simplemente rutinas que llaman al SGBD para interpretar las sentencias SQL que pide la aplicación. Desde el punto de vista del SGBD, las SQL/CLI se pueden considerar, simplemente, como otras aplicaciones.
miércoles, 29 de marzo de 2017
Sublenguajes especializados - SQL hospedado (II)
Un cursor se tiene que haber declarado antes de su utilización (EXEC SQL DECLARE nombre_cursor CURSOR FOR). Para utilizarlo, se debe abrir (EXEC SQL OPEN nombre_cursor), ir tomando los datos uno a uno, tratarlos (EXEC SQL FETCH nombre_cursor INTO), y finalmente, cerrarlo (EXEC SQL CLOSE nombre_cursor).
martes, 28 de marzo de 2017
Sublenguajes especializados - SQL hospedado (I)
Para crear y manipular una base de datos relacional necesitamos SQL. Además, si la tarea que queremos hacer requiere el poder de procesamiento de un lenguaje de programación como Java, C, Cobol, Fortran, Pascal, etc., podemos utilizar el SQL hospedado en el lenguaje de programación elegido. De este modo, podemos utilizar las sentencias del SQL dentro de nuestras aplicaciones, poniendo siempre delante la palabra reservada EXEC SQL*.
Para poder compilar la mezcla de llamadas de SQL y sentencias de programación, antes tenemos que utilizar un precompilador. Un precompilador es una herramienta que separa las sentencias del SQL y las sentencias de programación.
Allá donde en el programa fuente haya una sentencia de acceso a la base de datos, se debe insertar una llamada a la interfaz del SGBD. El programa fuente
resultante de la precompilación ya está únicamente en el lenguaje de programación, preparado para ser compilado, montado y ejecutado.
En la figura que encontraréis en la página siguiente podéis observar este funcionamiento.
Todas las sentencias de definición, manipulación y control que hemos visto para el SQL se pueden utilizar en el SQL hospedado, pero precedidas de la cláusula EXEC SQL. Sólo habrá una excepción: cuando el resultado de una sentencia SQL obtenga más de una fila o haga referencia también a más de una, deberemos trabajar con el concepto de cursor.
Para poder compilar la mezcla de llamadas de SQL y sentencias de programación, antes tenemos que utilizar un precompilador. Un precompilador es una herramienta que separa las sentencias del SQL y las sentencias de programación.
Allá donde en el programa fuente haya una sentencia de acceso a la base de datos, se debe insertar una llamada a la interfaz del SGBD. El programa fuente
resultante de la precompilación ya está únicamente en el lenguaje de programación, preparado para ser compilado, montado y ejecutado.
En la figura que encontraréis en la página siguiente podéis observar este funcionamiento.
Todas las sentencias de definición, manipulación y control que hemos visto para el SQL se pueden utilizar en el SQL hospedado, pero precedidas de la cláusula EXEC SQL. Sólo habrá una excepción: cuando el resultado de una sentencia SQL obtenga más de una fila o haga referencia también a más de una, deberemos trabajar con el concepto de cursor.
lunes, 9 de enero de 2017
Niños incursionan en robótica en un campamento de tecnología
José Carlos Mamani es informático y padre de dos hijos, de ocho y nueve años. Decidió inscribir a sus pequeños a los talleres de robótica y minecraft del programa del campamento de tecnología del instituto Elemental. Este espacio abre hoy cursos especiales para que los más pequeños de la casa aprovechen las vacaciones de verano.
"Quiero que tengan opciones de aprender algo nuevo. Siempre están delante de la computadora o armando lego; ellos están felices y quisieron ingresar”, cuenta el informático.
Al igual que Mamani, decenas de padres y madres de familia se animan a inscribir a sus retoños en la escuela Elemental, que ofrece para las vacaciones de verano una especie de campamento digital con talleres de robótica, modelado 3D y minecraft. Los cursos están destinados para estudiantes desde los ocho hasta los 18 años.
"La idea es brindarles la posibilidad de entender la tecnología y acercarse a ella a una temprana edad”, dice Daniella García, ingeniera de sistemas y fundadora de Elemental. "Elaboramos un campamento con talleres tecnológicos para capacitar a los niños en la era digital”, agrega.
Este programa especial dura dos semanas intensivas. "La misión de Elemental es que los niños puedan desarrollar tecnología y no sólo puedan jugar videojuegos, sino desarrollarlos”, agrega Mónica Canaza, encargada del desarrollo de la web y administrativa.
En 2016, Elemental capacitó a 300 niños, quienes ya presentaron varios proyectos. "Creemos que la educación en tecnología debería ser enseñada a una temprana edad, como todavía no está incluida en la currícula escolar, nosotros nos encargamos de asumir ese rol, enseñarles a programar y diseñar robots desde los ocho años”, menciona Daniella García.
Miriam Fernández Cruz, madre de familia, inscribió a su hijo José Alexander en el taller de robótica. "Le servirá mucho en la parte de conocimientos, a resolver problemas y armar circuitos. Es útil para su razonamiento”, menciona. "Quiero aprender robótica para crear robots y aprender a usar sistemas eléctricos; vine a capacitarme”, añade el joven que cursa el cuarto secundaria.
Alberto Del Solar quiere que sus dos hijos, uno de siete años y otro de nueve, incursionen en el mundo de la tecnología, en especial a través de juegos como minecraft.
Los talleres serán dictados por expertos en el área de robótica, videojuegos, minecraft y programación competitiva. El costo del curso de verano es de 450 bolivianos, si se paga tres días antes de la apertura de clases. Luego, el precio asciende a 480. Las clases se inician hoy en Sopocachi y el 16 en San Miguel. Los grupos de trabajo son Aero (de 8 a 13 años) y Fuoco (13 a 18 años).
"Quiero que tengan opciones de aprender algo nuevo. Siempre están delante de la computadora o armando lego; ellos están felices y quisieron ingresar”, cuenta el informático.
Al igual que Mamani, decenas de padres y madres de familia se animan a inscribir a sus retoños en la escuela Elemental, que ofrece para las vacaciones de verano una especie de campamento digital con talleres de robótica, modelado 3D y minecraft. Los cursos están destinados para estudiantes desde los ocho hasta los 18 años.
"La idea es brindarles la posibilidad de entender la tecnología y acercarse a ella a una temprana edad”, dice Daniella García, ingeniera de sistemas y fundadora de Elemental. "Elaboramos un campamento con talleres tecnológicos para capacitar a los niños en la era digital”, agrega.
Este programa especial dura dos semanas intensivas. "La misión de Elemental es que los niños puedan desarrollar tecnología y no sólo puedan jugar videojuegos, sino desarrollarlos”, agrega Mónica Canaza, encargada del desarrollo de la web y administrativa.
En 2016, Elemental capacitó a 300 niños, quienes ya presentaron varios proyectos. "Creemos que la educación en tecnología debería ser enseñada a una temprana edad, como todavía no está incluida en la currícula escolar, nosotros nos encargamos de asumir ese rol, enseñarles a programar y diseñar robots desde los ocho años”, menciona Daniella García.
Miriam Fernández Cruz, madre de familia, inscribió a su hijo José Alexander en el taller de robótica. "Le servirá mucho en la parte de conocimientos, a resolver problemas y armar circuitos. Es útil para su razonamiento”, menciona. "Quiero aprender robótica para crear robots y aprender a usar sistemas eléctricos; vine a capacitarme”, añade el joven que cursa el cuarto secundaria.
Alberto Del Solar quiere que sus dos hijos, uno de siete años y otro de nueve, incursionen en el mundo de la tecnología, en especial a través de juegos como minecraft.
Los talleres serán dictados por expertos en el área de robótica, videojuegos, minecraft y programación competitiva. El costo del curso de verano es de 450 bolivianos, si se paga tres días antes de la apertura de clases. Luego, el precio asciende a 480. Las clases se inician hoy en Sopocachi y el 16 en San Miguel. Los grupos de trabajo son Aero (de 8 a 13 años) y Fuoco (13 a 18 años).
jueves, 29 de diciembre de 2016
MekaMon, el robot arácnido ideal para aprender a codificar
MekaMon es una araña robótica que mezcla tres elementos esenciales: gaming, realidad aumentada y la posibilidad de aprender lo básico en codificación, lo cual transforma al juguete en un instrumento ideal para grandes y chicos.
El producto fue presentado a comienzos de año en el Consumer Electronics Show (Feria de Electrónica de Consumo), en donde, por medio de un prototipo, Reach Robotics buscaba financiamiento para transformar este sueño en realidad. Cuando lo consiguieron, lograron desarrollar tres modos de juego (arcade, MekaMon Universe o modo historia y Dropzone o modo de práctica).
Intercambiar piezas
Lo interesante del aparato es que se puede intercambiar sus piezas y mejorar el equipo.
Sin embargo, cada una de estas modificaciones conlleva que la araña se comporte de una manera distinta. Acá es justamente donde entran las nociones básicas de codificación, ya que el usuario es quien debe aprender a manejar su araña por medio del modo Dropzone. Se espera que MekaMon salga a la venta en enero de 2017.
viernes, 11 de noviembre de 2016
Airblock, dron modular que enseña programación
La marca Makeblock, lanzó un nuevo dispositivo que busca relacionar a los niños con la tecnología, la codificación y la robótica. Hablamos de Airblock, un dron modular con el que los niños podrán aprender programación de una forma amena y divertida.
Este dispositivo modular recoge el espíritu del "hazlo tú mismo" para que los más pequeños creen tantas formas como puedan imaginar.
Airblock está formado de distintas piezas hexagonales que se unen a un cuerpo central mediante un sistema magnético. Está diseñado para que los más pequeños desarrollen su imaginación y aprendan a programar, ya que se controla mediante comandos introducidos a través de una aplicación móvil.
Todas las piezas están construidas con espuma de plástico muy ligera, que busca proteger a los niños de posibles accidentes, así como evitar que el dron se rompa gracias a este material.
Los módulos son muy sencillos de manipular gracias a su sistema magnético, no es necesario utilizar alguna herramienta, lo que hace muy sencillo su montaje.
Una vez armado, el Airblock se puede programar a través de una aplicación para dispositivos móviles, que permite a los pequeños aprender a codificar por medio de un lenguaje de programación visual muy parecido a Scratch.
El dron puede volar, correr por el suelo e incluso navegar por la piscina, y está fabricado con materiales resistentes que soportan los golpes contra las paredes y las puertas.
Airblock es un proyecto que actualmente busca financiación en Kickstarter, aunque ya ha superado la meta de los 100.000 dólares que habían establecido sus creadores.
Todos los interesados en este dron pueden adquirirlo a través de la página de Kickstarter a un costo de 99 dólares. Una vez en el mercado el precio del Airblock subirá hasta los 149 dólares. El envió de los pedidos comenzará a partir de febrero del 2017.
jueves, 22 de septiembre de 2016
El robot con el que los niños aprenden a programar antes que a escribir
A pesar de lo que hemos visto o leído en las obras de ciencia ficción, los robots no tienen porqué ser engendros malvados. Y no porque haya ejemplos como el repipi C3PO o el adorable Wall-E para defender la honorabilidad de las máquinas, si no porque la bondad o la maldad son categorías morales que exceden por mucho -al menos ahora y tal vez para siempre- la capacidad de los algoritmos y el lenguaje binario.
Los robots, en fin, no pueden ser buenos o malos. Son, en todo caso, como sus creadores quieren que sean. Por si acaso, para curarse en salud, Isaac Asimov ya planteó en su relato "Runaround” en fecha tan temprana como 1942 sus famosas tres leyes de la robótica ("Un robot no hará daño a un ser humano…” etcétera).
Podríamos decir entonces que si un robot está pensado para hacer cosas buenas, su creador también debe ser buena persona. Si aceptamos la ingenuidad y simpleza de este silogismo que roza el ridículo, tendríamos entonces que afirmar que Julián Da Silva es un gran tipo. Da Silva forma parte del equipo que ha diseñado Root, un pequeño robot pensado para que los niños aprendan a programar en los colegios. La idea, un proyecto impulsado por el Wyss Institute, centro perteneciente a la universidad de Harvard, está actualmente en fase de pruebas, pero dentro de pocos meses comenzará a comercializarse y llegará a las aulas de Estados Unidos por un precio realmente asequible (menos de 200 euros).
Parece evidente que el mundo al que tendrán que enfrentarse dentro de algunos años quienes ahora son niños estará plagado de máquinas. Robots que interactuarán entre ellos y se ocuparán de múltiples y complejas tareas. Por eso es muy importante familiarizarse con el lenguaje de las computadoras. Ya no será suficiente con saber manejarlas, tendremos que aprender a comunicarnos con ellas.
La decisión de aprender código no debería estar marcada entonces únicamente por una simple cuestión pecuniaria (aunque las oportunidades laborales, efectivamente, serán mayores) sino por la necesidad de adaptarse a un mundo cambiante.
Desde siempre, el principal escollo que se ha interpuesto entre los lenguajes de programación y los niños ha sido su aridez. Un bloque de texto plagado de números, letras y símbolos no parece lo más atractivo para atraer la atención de los más pequeños. Introducir un robot en la ecuación con el que los niños pueden jugar y al que es posible enviar órdenes a través de una aplicación móvil puede hacer el aprendizaje más rápido y divertido. Root, diseñado por Raphael Cherney, puede moverse por una pizarra, dibujar y reconocer distintos colores, e incorpora, entre otros, sensores de luz y moviento.
El hexágono robótico es programado y controlado desde una tableta u ordenador a través de Square, una aplicación diseñada por Da Silva que permite enviar órdenes a Root en tiempo real. Square muestra tres niveles de dificultad para que los niños puedan aprender desde los rudimientos de la programación hasta secuencias más complejas de código.
Su sistema es tan intuitivo y amigable que incluso niños que todavía no han aprendido a leer son capaces de utilizarlo. Da Silva asegura que en las pruebas que han realizado con los pequeños, estos reaccionan ante Root "como si fuera un amigo” y, aunque su entusiasmo al hablar del proyecto lo hace evidente, refuerza que en Wyss "disfrutamos haciendo robots para chicos”. Lo dicho, un buen tipo.
Los robots, en fin, no pueden ser buenos o malos. Son, en todo caso, como sus creadores quieren que sean. Por si acaso, para curarse en salud, Isaac Asimov ya planteó en su relato "Runaround” en fecha tan temprana como 1942 sus famosas tres leyes de la robótica ("Un robot no hará daño a un ser humano…” etcétera).
Podríamos decir entonces que si un robot está pensado para hacer cosas buenas, su creador también debe ser buena persona. Si aceptamos la ingenuidad y simpleza de este silogismo que roza el ridículo, tendríamos entonces que afirmar que Julián Da Silva es un gran tipo. Da Silva forma parte del equipo que ha diseñado Root, un pequeño robot pensado para que los niños aprendan a programar en los colegios. La idea, un proyecto impulsado por el Wyss Institute, centro perteneciente a la universidad de Harvard, está actualmente en fase de pruebas, pero dentro de pocos meses comenzará a comercializarse y llegará a las aulas de Estados Unidos por un precio realmente asequible (menos de 200 euros).
Parece evidente que el mundo al que tendrán que enfrentarse dentro de algunos años quienes ahora son niños estará plagado de máquinas. Robots que interactuarán entre ellos y se ocuparán de múltiples y complejas tareas. Por eso es muy importante familiarizarse con el lenguaje de las computadoras. Ya no será suficiente con saber manejarlas, tendremos que aprender a comunicarnos con ellas.
La decisión de aprender código no debería estar marcada entonces únicamente por una simple cuestión pecuniaria (aunque las oportunidades laborales, efectivamente, serán mayores) sino por la necesidad de adaptarse a un mundo cambiante.
Desde siempre, el principal escollo que se ha interpuesto entre los lenguajes de programación y los niños ha sido su aridez. Un bloque de texto plagado de números, letras y símbolos no parece lo más atractivo para atraer la atención de los más pequeños. Introducir un robot en la ecuación con el que los niños pueden jugar y al que es posible enviar órdenes a través de una aplicación móvil puede hacer el aprendizaje más rápido y divertido. Root, diseñado por Raphael Cherney, puede moverse por una pizarra, dibujar y reconocer distintos colores, e incorpora, entre otros, sensores de luz y moviento.
El hexágono robótico es programado y controlado desde una tableta u ordenador a través de Square, una aplicación diseñada por Da Silva que permite enviar órdenes a Root en tiempo real. Square muestra tres niveles de dificultad para que los niños puedan aprender desde los rudimientos de la programación hasta secuencias más complejas de código.
Su sistema es tan intuitivo y amigable que incluso niños que todavía no han aprendido a leer son capaces de utilizarlo. Da Silva asegura que en las pruebas que han realizado con los pequeños, estos reaccionan ante Root "como si fuera un amigo” y, aunque su entusiasmo al hablar del proyecto lo hace evidente, refuerza que en Wyss "disfrutamos haciendo robots para chicos”. Lo dicho, un buen tipo.
miércoles, 27 de julio de 2016
Sublenguajes especializados
Muchas veces querremos acceder a la base de datos desde una aplicación hecha en un lenguaje de programación cualquiera. Para utilizar el SQL desde un lenguaje de programación, podemos utilizar el SQL hospedado, y para trabajar con éste necesitamos un precompilador que separe las sentencias del lenguaje de programación de las del lenguaje de bases de datos. Una alternativa muy interesante a esta forma de trabajar son las rutinas SQL/CLI.
El objetivo de este apartado no es explicar con detalle ni el SQL hospedado ni, aún menos, las rutinas SQL/CLI. Sólo introduciremos las ideas básicas del funcionamiento de ambos.
El objetivo de este apartado no es explicar con detalle ni el SQL hospedado ni, aún menos, las rutinas SQL/CLI. Sólo introduciremos las ideas básicas del funcionamiento de ambos.
martes, 26 de julio de 2016
Sentencias de control - Las autorizaciones y desautorizaciones - La opción RESTRICT
La opción RESTRICT no nos permite desautorizar a un usuario si éste ha autorizado a otros.
lunes, 25 de julio de 2016
Sentencias de control - Las autorizaciones y desautorizaciones - Desautorizaciones - Si un usuario
Si un usuario al que hemos autorizado ha autorizado a su vez a otros, que al mismo tiempo pueden haber hecho más autorizaciones, la opción CASCADE hace que queden desautorizados todos a la vez.
domingo, 24 de julio de 2016
Sentencias de control - Las autorizaciones y desautorizaciones - Desautorizaciones - La opción GRANT OPTION FOR
La opción GRANT OPTION FOR se utilizaría en el caso de que quisiéramos eliminar el derecho a autorizar (WITH GRANT OPTION).
sábado, 23 de julio de 2016
Sentencias de control - Las autorizaciones y desautorizaciones - Desautorizaciones - privilegios, objeto y usuarios
privilegios, objeto y usuarios son los mismos que para la sentencia GRANT.
viernes, 22 de julio de 2016
Sentencias de control - Las autorizaciones y desautorizaciones - Desautorizaciones
Para desautorizar, el SQL dispone de la siguiente sentencia:
REVOKE [GRANT OPTION FOR] privilegios ON objeto FROM
usuarios [RESTRICT|CASCADE];
REVOKE [GRANT OPTION FOR] privilegios ON objeto FROM
usuarios [RESTRICT|CASCADE];
jueves, 21 de julio de 2016
Sentencias de control - Las autorizaciones y desautorizaciones - Autorizaciones - La opción WITH GRANT OPTION
La opción WITH GRANT OPTION permite que el usuario que autoricemos pueda, a su vez, autorizar a otros usuarios a acceder al objeto con los mismos privilegios con los que ha sido autorizado.
miércoles, 20 de julio de 2016
Sentencias de control - Las autorizaciones y desautorizaciones - Autorizaciones - Usuarios
c) Usuarios puede ser todo el mundo: PUBLIC, o bien una lista de los identificadores de los usuarios que queremos autorizar.
martes, 19 de julio de 2016
Sentencias de control - Las autorizaciones y desautorizaciones - Autorizaciones - Objeto debe ser:
• DOMAIN: dominio
• TABLE: tabla.
• Vista.
• TABLE: tabla.
• Vista.
lunes, 18 de julio de 2016
Sentencias de control - Las autorizaciones y desautorizaciones - Autorizaciones - privilegios puede ser:
ALL PRIVILEGES: todos los privilegios sobre el objeto especificado.
• USAGE: utilización del objeto especificado; en este caso el dominio.
• SELECT: consultas.
• INSERT [(columnas)]: inserciones. Se puede concretar de qué columnas.
• UPDATE [(columnas)]: modificaciones. Se puede concretar de qué columnas.
• DELETE: borrados.
• REFERENCES [(columna)]: referencia del objeto en restricciones de integridad.
Se puede concretar de qué columnas.
• USAGE: utilización del objeto especificado; en este caso el dominio.
• SELECT: consultas.
• INSERT [(columnas)]: inserciones. Se puede concretar de qué columnas.
• UPDATE [(columnas)]: modificaciones. Se puede concretar de qué columnas.
• DELETE: borrados.
• REFERENCES [(columna)]: referencia del objeto en restricciones de integridad.
Se puede concretar de qué columnas.
domingo, 17 de julio de 2016
Sentencias de control - Las autorizaciones y desautorizaciones - Autorizaciones
Para autorizar, el SQL dispone de la siguiente sentencia:
Donde tenemos que:
GRANT privilegios ON objeto TO usuarios
[WITH GRANT OPTION];
Donde tenemos que:
Suscribirse a:
Entradas (Atom)

