Está en la página 1de 21

Herramientas 4ta Generacin

1. Introduccin a la programacin de las paginas dinmicas (PHP). 1.1. Historia: Fue originalmente diseado en Perl, con base en la escritura de un grupo de CGI binarios escritos en el lenguaje C por el programador dans-canadiense Rasmus Lerdorf en el ao 1994 para mostrar su currculum vtae y guardar ciertos datos, como la cantidad de trfico que su pgina web reciba. El 8 de junio de 1995 fue publicado "Personal Home Page Tools" despus de que Lerdorf lo combinara con su propio Form Interpreter para crear PHP/FI. Definicin: (PHP Hypertext Pre-processor). Lenguaje de programacin usado generalmente en la creacin de contenidos para sitios web. Es un lenguaje interpretado especialmente usado para crear contenido dinmico web y aplicaciones para servidores, aunque tambin es posible crear aplicaciones grficas utilizando la biblioteca GTK+. Generalmente los scripts en PHP se embeben en otros cdigos como HTML, ampliando las posibilidades del diseador de pginas web enormemente. La interpretacin y ejecucin de los scripts PHP se hacen en el servidor, el cliente (un navegador que pide una pgina web) slo recibe el resultado de la ejecucin y jams ve el cdigo PHP. 1.2. Diferencias entre Access y PHP. Access: Es un Sistema Gestor de Base de Datos creado por Microsoft Systems. PHP: Permite crear pginas web dinmicas y adems conectar con una base de datos. 1.3. Caracterstica. Orientado al desarrollo de aplicaciones web dinmicas con acceso a informacin almacenada en una base de datos. Es considerado un lenguaje fcil de aprender, como es el caso de la definicin de las variables primitivas, ejemplo que se hace evidente en el uso de php arrays. El cdigo fuente escrito en PHP es invisible al navegador web y al cliente. Esto hace que la programacin en PHP sea segura y confiable. Capacidad de conexin con la mayora de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL. Capacidad de expandir su potencial utilizando mdulos (llamados ext's o extensiones). Posee una amplia documentacin en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema estn explicadas y ejemplificadas en un nico archivo de ayuda. Es libre, por lo que se presenta como una alternativa de fcil acceso para todos. 1.4. Definicin y diferencias de los siguientes trminos (PHP, APACHE Y MYSQL). PHP: Es un lenguaje interpretado especialmente usado para crear contenido dinmico web y aplicaciones para servidores. APACHE: Es un servidor web HTTP escrito en C. MYSQL: MySQL es un sistema de gestin de bases de datos relacional, multihilo y multiusuario. Y tiene licencia GPL o uso libre. 1.5. Comprueba la conectividad de las aplicaciones. Permite la conexin a todo tipo de servidores de base de datos cmo MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite. 1.6. Programas de aplicaciones que utiliza Php. Para codificar: Notepad++ 6.2 Un servidor web para ejecutar el php: Appserv 2.5 Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

1.7. Cul es la direccin de la pgina para descargar el programa? Notepad++ http://notepad-plus-plus.org Appserv: http://www.appservnetwork.com 1.8. Ventajas y Desventajas. Ventajas: Multiplataforma Manejo de excepciones Bibliteca nativa de funciones Permite tcnicas de programacin orientada a objetos. Amplia documentacin en su pgina oficial-> PHP Destacada conectividad con MySQL. Es libre. Desventajas: Promueve creacin de cdigo desordenado y con un mantenimiento complejo. No posee adecuado manejo de unicode. Es muy difcil de optimizar. Diseado especialmente hacia un modo de realizar aplicaciones Web que es problemtico y obsoleto. 1.9. Pasos para instalar el programa. Notepad++: Descargar el programa de su web oficial, escoger espaol, siguiente, acepto, siguiente, siguiente, acceso en el escritorio, instalar. 1.10. Pasos para la aplicacin del programa. Inicio / Todos los Programas / Notepad++ / Notepad++.exe 1.11. Pasos para ingresar, abrir, guardar y ejecutar el programa. Abrir: Inicio / Todos los Programas / Notepad++ / Notepad++.exe Guardar: Archivo / Guardar como / PHP Hipertext Preprocessor Ejecutar: Ejecutar / Launch in Firefox Internet Explorer o en Chrome. 2. Estructura de la programacin web (PHP). 2.1. Identifica las variables, constantes y expresiones. Variables: son aquellas como su nombre indica su valor cambia a lo largo de la ejecucin. Constantes: sus valores son constantes y no se puede cambiar a lo largo de la ejecucin. Expresiones: son expresiones casi todo lo que se escribe con php ya que tiene valor como las funciones, constantes y variables. 2.2. Conocer la utilidad de los operadores y su aplicacin. Un operador es algo que toma uno ms valores (o expresiones, en jerga de programacin) y produce otro valor (de modo que la construccin en si misma se convierte en una expresin). Logicos: ! $a Not (no) TRUE si $a no es TRUE. $a && $b And (y) TRUE si tanto $a como $b son TRUE. $a || $b Or (o inclusivo) TRUE si cualquiera de $a o $b es TRUE Aritmeticos: Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

-$a Negacin Opuesto de $a. $a + $b Adicin Suma de $a y $b. $a - $b Sustraccin Diferencia de $a y $b. $a * $b Multiplicacin Producto de $a y $b. $a / $b Divisin Cociente de $a y $b. $a % $b Mdulo Resto de $a dividido por $b. De asignacin: = Incremento / Decremento: ++$a Pre-incremento Incrementa $a en uno, y luego retorna $a. $a++ Post-incremento Retorna $a, y luego incrementa $a en uno. --$a Pre-decremento Decrementa $a en uno, luego retorna $a. $a-Post-decremento Retorna $a, luego decrementa $a en uno 2.3. Desarrollo de los ejercicios propuestos de variables, constantes y operadores. <html> <head> <title> Ejercicio 10 </title> </head> <body bgcolor="black" text="white"> <center> Ejercicio #10 <br> <br> Que permita leer el peso de un hombre en libras y nos devuelva su peso en kilogramos y gramos. <br> <br> <form method="post"> Peso en Libras:<br> <input type="text" name="libra"/> <br> <input type="submit" value="calcular"/> </form> <?php $libra=$_POST["libra"]; $kilogramo=$libra*0.45359237; $gramo=$libra*453.59237; echo ' <br> Kilos: ' , $kilogramo , ' <br>Gramos: ' , $gramo '; ?> </center> </body> </html> 2.4. Para tener acceso a las pginas web en tu programa Php se requiere: Se necesita un Servidor Web HTTP APPServ. Y se necesita un cliente o equipo cliente con explorador web. 2.5. Tipos de paquetes para instalar el servidor. Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

Apache, Appserv, WampServer, Tomcat, etc. 2.6. Cules son los archivos ejecutables de configuracin. Php.ini : php.ini-recommended y php.ini-dist 3. Metodologa de la programacin en PHP. 3.1. Definiciones y Diferencias de Algoritmo, Diagrama de Flujo y Prueba de Escritorio. Algoritmos: Conjunto de reglas-instrucciones que permiten resolver problemas. Diagramas de Flujo: Permite representar algoritmos de una manera grfica. Pruebas de Escritorio: Permite entender lo que hace un algoritmo de manera prctica. 3.2. Definicin de Pseudocdigo. En programacin, lenguaje artificial e informal til para programadores para el desarrollo de algoritmos. No es un lenguaje de programacin verdadero y, por lo tanto, no puede ser compilado y ejecutado. En pseudocdigo se describen los algoritmos utilizando una mezcla de lenguaje comn, con instrucciones de programacin, palabras claves, etc 3.3. Ejercicios Resueltos (Aplicacin de Frmulas Matemticas, Geomtricas, Fsica, Contabilidad) Diagrama de Flujo, Pseudocdigo, Prueba de Escritorio y codificacin. <html> <head> <title> Ejercicio 25 </title> </head> <body bgcolor="black" text="white"> <center> Ejercicio #25 <br> <br> Area de un Hexagono <br> <br> <form method="post"> Mida el Lado: <input type="text" name="lado"> <br>Mida la Apotema: <input type="text" name="apotema"> <br><br> <input type="submit" value="Hexagono"> </form> <br> <br> <?php $n_l=6; $lado=$_POST["lado"]; $apotema=$_POST["apotema"]; $perimetro=$n_l*$lado; $area=($perimetro*$apotema)/2; echo "<br> Perimetro : " , $perimetro; echo "<br> Area: " , $area; ?>

Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

</center> </body> </html> 4. Fundamentos de la Programacin (PHP). 4.1. Tcnicas de las Programacin. Se debe tener especial cuidado en la declaracin de variables y en no usar las palabras reservadas como en el lenguaje C. 5. Sentencia de Control y Funciones (PHP). 5.1. Analizar las distintas sentencias de control. Las sentencias de control son las que permiten decidir la ejecucin o no de otras sentencias, en funcin del cumplimiento de una condicin. Las ms frecuentes son la instruccin if y la instruccin switch. 5.2. Clasificacin de la estructura de control. IF, FOR, FOR EACH, WHILE, switch. 5.3. Bucles: Conceptos y Diferencias. Los bucles nos permiten iterar conjuntos de instrucciones, es decir repetir la ejecucin de un conjunto de instrucciones mientras se cumpla una condicin. While y For son los bubles que se usan en php. <?php while (condicin) { ... } ?> Mientras la condicin sea cierta se ejecutarn las instrucciones que estn dentro del while. <?php for (inicializacin; condicin ; ejecutar en iteracin) { ... } ?> La instruccin for es la instruccin de bucles ms completa. En una sola instruccin nos permite controlar todo el funcionamiento del bucle. 5.4. Funciones: Conceptos y Diferencias. Las funciones son rutinas creadas por el programador para realizar procesos que se repetirn o se usarn ms de una vez. Las funciones pueden ser n-paramtricas (con n 0), y estos parmetros pueden ser de entrada, de salida o de entrada y salida; aunque PHP no hace esta distincin del modo en que, por ejemplo, Ada, s lo hace. Hay las funciones creadas por el usario y tambin las hay las reservadas. Las funciones deben ser colocadas siempre antes de realizar la llamada a la funcin (como es lgico). La sintaxis de una funcin es la siguiente: function nombre(parmetros){ instrucciones de la funcin } para llamar a la funcin sera de la siguiente forma: nombre(parmetros) Un ejemplo para entender el uso de funciones es el siguiente: Crearemos una funcin que realice la suma de dos nmeros y muestre el resultado Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

function sumar($sumando1,$sumando2){ $ suma=$sumando1+$sumando2 echo $sumando1."+".$sumando2."=".$suma; } sumar(5,6) 5.5. Ejercicio resuelto de Sentencia de Control: Diagrama de flujo, pseudocdigo, prueba de escritorio y codificacin.

5.6. Ejercicio Resuelto de Bucles: Diagrama de Flujo, Pseudocdigo, Prueba de Escritorio y Codificacin. <html> <head>

Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

<title> Ejercicio 9 </title> </head> <body bgcolor="black" text="white"> <center> Ejercicio #9 <br> <br> Permita mostrar la tabla de multiplicar de un numero ingresado por el usuario. <br><br> <br> <br> <form method="post"> Ingrese un Nmero: <input type="text" name="n"/> <br> <br> <input type="submit"/> <br><br> <?php $n=$_POST["n"]; echo ' <table border="3"> <caption>Tabla de Multiplicar del ', $n , ' </caption> <br> <td WIDTH="90">Multiplicacion</td> <td WIDTH="65">Respuesta</td> </tr> '; for ($b=0;$b<=12;$b++) { $respuesta=$n*$b; echo ' <table border="3"> <tr> <td WIDTH="90" > ' , $n , ' x ' , $b , ' </td> <td WIDTH="65"> ', $respuesta ,' </td> </tr> </table> '; } ?> </center> </body> </html> 6. Administracin de Datos Web (PHP y MYSQL). 6.1. Generalizacin de la Administracin de la Web. Un webmaster (tambin llamado administrador del sitio web) est a cargo del mantenimiento y desarrollo del sitio web de la compaa. Para esto, debe definir la arquitectura y la estructura de rbol del sitio web, en ciertas oportunidades con un diseador de interfaz que lo asiste en la navegacin, un director de arte para los estndares grficos y un jefe de contenidos para el contenido. Por lo general, el webmaster no est a cargo en forma directa del contenido de redaccin. Sin embargo, debe realizar o coordinar Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

el desarrollo de TI para mejorar o mantener el sitio. Por ltimo, segn la situacin, puede estar a cargo de la indizacin del sitio web. 6.2. Fundamentos y Caracterstica de la Administracin de la Web. La profesin de un webmaster combina conocimientos tcnicos y visin estratgica con algo de creatividad. Por esta razn, el webmaster debe poseer un perfil tcnico y, al menos, un buen conocimiento de estndares web. HTML Javascript CSS XML En un sitio Web dinmico (la mayora de los casos), un webmaster debe conocer los principales lenguajes de los scripts elegidos por la compaa. Adems, debe tener un entendimiento bsico de bases de datos. Entre los principales lenguajes de script dinmico que debe conocer, se encuentran: PHP ASP y .NET JSP Adems, el webmaster debe contar con una experiencia slida en seguridad de aplicaciones web, optimizacin de motores de bsqueda y un entendimiento bsico del marco legal para cumplir con las normas vigentes. 7. Mantenimiento de Informacin (PHP y MYSQL). MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicacin web est muy ligada a PHP, que a menudo aparece en combinacin con MySQL. 8. Consulta de Base de Datos. 8.1. Introduccin Definicin. Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemticamente para su posterior uso. En bases de datos, una consulta es el mtodo para acceder a los datos en las bases de datos. Con las consultas se puede modificar, borrar, mostrar y agregar datos en una base de datos. Para esto se utiliza un lenguaje de consultas. El lenguaje de consultas a base de datos ms utilizado es el SQL. 8.2. Caracterstica. - Independencia de los Datos. Es decir, que los datos no dependen del programa y por tanto cualquier aplicacin puede hacer uso de los datos. - Reduccin de la Redundancia. Llamamos redundancia a la existencia de duplicacin de los datos, al reducir sta al mximo conseguimos un mayor aprovechamiento del espacio y adems evitamos que existan inconsistencias entre los datos. Las inconsistencias se dan cuando nos encontramos con datos contradictorios. Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

- Seguridad. Un SBD debe permitir que tengamos un control sobre la seguridad de los datos. - Se visualiza normalmente como una tabla de una hoja de clculo, en la que los registros son las filas y las columnas son los campos, o como un formulario. - Permite realizar un listado de la base de datos. - Permiten la programacin a usuarios avanzados. 8.3. Ventajas Desventajas. VENTAJAS DEL USO DE BASE DE DATOS Obtener ms informacin de la misma cantidad de data - La base de datos facilita al usuario obtener ms informacin debido a la facilidad que provee esta estructura para proveer datos a los usuarios (si se tiene el privilegio). Ejemplo: comparar un Centro de Cmputos tradicional en COBOL vs uno que utilize una Base de Datos. Compartir los Datos - Usuarios de distintas oficinas pueden compartir datos si estan autorizados. Esto implica que si un dato cambia de contenido como por ejemplo la direccin de un cliente, todos los usuarios que pueden acceder ese dato, vern inmediatamente el cambio efectuado. Ejemplo: Explicar como trabajaba un Centro de Computos tradicional con un Sistema Estudiantil que tenga sub-sistemas de Registro, Asistencia Economica, Estudio y Trabajo, Matrcula, etc. Balance de Requerimientos Conflictivos - Para que la Base de Datos trabaje apropiadamente, necesita de una persona o grupo que se encargue de su funcionamiento. El ttulo para esa posicin es Administrador de Base de Datos y provee la ventaja de que Disea el sistema tomando en mente la necesidad de cada departamento de la empresa. Por lo tanto se beneficia mayormente la empresa aunque algunos departamentos podran tener leves desventajas debido a su idiosincracia. Tradicionalmente se diseaba y programa segn la necesidad de cada departamento por separado. Ejemplo: Explicar como en diferentes departamentos utilizaban diferentes herramientas y estructuras de datos para su sistema particular y como esto afectaba a los otros departamentos. Se refuerza la estandarizacin - Debido a lo que se mencion previamente, es ms facil estandarizar procesos, formas, nombres de datos, formas, etc. Redundancia controlada - Debido al sistema tradicional de archivos independientes, los datos se duplicaban constantemente lo cual creaba mucha duplicidad de datos y creaba un problema de sincronizacin cuando se actualizaba un dato en un archivo en particular. Ejemplo: En el sistema de Registro y de Asistencia Econmica pasaba mucho eso. El mtodo que utilizaron para resolver el problema fue el de periodicamente actualizar el archivo de Asistencia Econmica, con el archivo de registraduria (principal). Lo cual trae como consecuancia, uso inecesario de los recursos de la computadora. Ojo!, la redundancia se controla, no se elimina por completo. Consistencia - Al controlarse la redundancia, cuando actualizas un dato, todos los usuarios autorizados de la Base de Datos pueden ver el cambio independientemente de que estn trabajando en distintos sistemas.

Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

Integridad - La base de datos tiene la capacidad de validar ciertas condiciones cuando los usuarios entan datos y rechazar entradas que no cumplan con esas condiciones. El DBA (Data Base Administrator) es responsable de establecer esas validaciones. Seguridad - El DBA al tener control central de los Datos, la Base de Datos le provee mecanismos que le permiten crear niveles de seguridad para distintos tipos de Usuarios. En COBOL esta opcin tendra que programarse. Flexibilidad y rapidez al obtener datos - Aqui el usuario puede fcilmente obtener informacin de la Base de Datos con tan solo escribir unas breves oraciones. Esto evita el antiguo y burocrtico proceso de llenar una peticin al Centro de Cmputos para poder obtener un informe. Ejemplo: Explicar como ocurra ese proceso. Aumenta la productividad de los programadores - Debido a que los progamadores no se tienen que preocupar por la organizacin de los datos ni de su validacin, se pueden concentrar en resolver otros problemas inmediatos, mejorando de ese modo su productividad. Mejora el mantenimiento de los programas - Debido a que los datos son independientes de los programas (a diferencia de Cobol), si ocurre un cambio en la estructura de una tabla (archivo), el cdigo no se afecta. Ejemplo: Explicar el problema de Cobol cuando ocurre un cambio de campo en un archivo an con el uso de libreras. Independencia de los Datos - Debido a lo que se menciono previamente, los datos pueden modificarse para por ejemplo mejorar el "performance" de la Base de Datos y como consecuancia, no se tiene que modificar los programas. DESVENTAJAS DEL USO DE BASE DE DATOS Tamao - Al proveer todas las ventajas anteriomente nombradas, el Sistema de Manejo de Base de Datos (DBMS) requiere de mucho espacio en disco duro y tambin requiere de mucha memoria principal (RAM) para poder correr adecuadamente. Complejidad - Debido a la cantidad de operaciones y a las capacidades del DBMS, se convierte en un producto complejo de entender. Esto requiere que los programadores y los analistas deben tomar cursos que los adiestren para poder comprender las capacidades y limitaciones del DBMS Costo - Los productos de Bases de Datos (Oracle, DB2, Etc.) son productos caros. Esto sin contar los adiestramientos del personal del centro de cmputos y de los usuarios. Ejemplo: Explicar el costo envuelto en implantar FRS en la Universidad. Requerimientos adicionales de Equipo - El adquirir un producto de Base de Datos, requiere a su vez adquirir equipo adicional para poder correr ese producto como por ejemplo, servidores, memoria, discos duros, etc. Si se pretende correr la Base de Datos con el mnimo de requerimientos, esta posiblemente se degrada y el "response time" al usuario se va a afectar grandemente.

10

Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

En caso de falla, el impacto es mayor - Si un componente de la Base de Datos sufre un desperfecto, se detiene las operaciones del producto por completo. En el caso de un ambiente no centralizo en Cobol, el impacto casi siempre afecta al departamento en donde ocurri el problema nicamente. Complejo el recuperar los datos - En caso de un accidente que corrompa la Base de datos, el proceso de recuperacin y de devolver a la Base de Datos su estado anterior al problema, es mucho mas complejo de ejecutar que en sistemas tradicionales.

8.4. Clasificacin de los Modelos. Modelo Jerrquico. Modelo de Red. Modelo Relacional. Modelo entidad-relacin. Modelo objeto-relacional. Modelo de Objeto. 8.5. Archivos Principal de una base de datos. 8.6. Archivos secundarios de una base de datos. 8.7. Definicin del sistema manejador de la base de datos. El sistema de gestin de bases de datos es esencial para el adecuado funcionamiento y manipulacin de los datos contenidos en la base. Se puede definir como: "El Conjunto de programas, procedimientos, lenguajes, etc. que suministra, tanto a los usuarios no informticos como a los analistas, programadores o al administrador, los medios necesarios para describir, recuperar y manipular los datos almacenados en la base, manteniendo su integridad, confidencialidad y seguridad". 8.8. Definicin de Base de Datos Relacionales. Una base de datos relacional es una base de datos en donde todos los datos visibles al usuario estn organizados estrictamente como tablas de valores, y en donde todas las operaciones de la base de datos operan sobre estas tablas. Estas bases de datos son percibidas por los usuarios como una coleccin de relaciones normalizadas de diversos grados que varan con el tiempo. 8.9. Esquema grafico de un sistema de base de datos relacional.

8.10. Clasificacin de los lenguajes relacionales. Lenguajes Basados en el lgebra relacional. Lenguajes basados en el clculo relacional.

11

Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

8.11.

Sistema Gestor de Base de Datos operacional: Definicin.

8.12. Lenguaje de Consulta de Datos SQL: Historio, Definicin e Importancia. El lenguaje de consulta estructurado o SQL (por sus siglas en ingls structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas. Una de sus caractersticas es el manejo del lgebra y el clculo relacional que permiten efectuar consultas con el fin de recuperar de forma sencilla informacin de inters de bases de datos, as como hacer cambios en ella. Los orgenes del SQL estn ligados a los de las bases de datos relacionales. En 1970 E. F. Codd propone el modelo relacional y asociado a este un sublenguaje de acceso a los datos basado en el clculo de predicados. Basndose en estas ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English Query Language) que ms tarde sera ampliamente implementado por el sistema de gestin de bases de datos (SGBD) experimental System R, desarrollado en 1977 tambin por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un programa comercial. El SEQUEL terminara siendo el predecesor de SQL, siendo este una versin evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los diversos sistemas de gestin de bases de datos relacionales surgidos en los aos siguientes y es por fin estandarizado en 1986 por el ANSI, dando lugar a la primera versin estndar de este lenguaje, el "SQL-86" o "SQL1". Al ao siguiente este estndar es tambin adoptado por la ISO. Sin embargo, este primer estndar no cubre todas las necesidades de los desarrolladores e incluye funcionalidades de definicin de almacenamiento que se consider suprimirlas. As que, en 1992, se lanz un nuevo estndar ampliado y revisado del SQL llamado "SQL-92" o "SQL2". En la actualidad el SQL es el estndar de facto de la inmensa mayora de los SGBD comerciales. Y, aunque la diversidad de aadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia, el soporte al estndar SQL-92 es general y muy amplio. 8.13. Caracterstica de SQL.

12

Lenguaje de definicin de datos: El LDD de SQL proporciona comandos para la definicin de esquemas de relacin, borrado de relaciones y modificaciones de los esquemas de relacin. Lenguaje interactivo de manipulacin de datos: El LMD de SQL incluye lenguajes de consultas basado tanto en lgebra relacional como en clculo relacional de tuplas. Integridad: El LDD de SQL incluye comandos para especificar las restricciones de integridad que deben cumplir los datos almacenados en la base de datos. Definicin de vistas: El LDD incluye comandos para definir las vistas. Control de transacciones: SQL tiene comandos para especificar el comienzo y el final de una transaccin. SQL incorporado y dinmico: Esto quiere decir que se pueden incorporar instrucciones de SQL en lenguajes de programacin como: C++, C, Java, Cobol, Pascal y Fortran. Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

Autorizacin: El LDD incluye comandos para especificar los derechos de acceso a las relaciones y a las vistas. 8.14. Programas SQL para crear base de datos. Microsoft SQL Server MySql 8.15. Ejercicios Resueltos de Codificacin de la Base de Datos y Tablas SQL ( creacin, modificacin, aadir registros, ordenacin de datos, condicin y consulta). Lenguaje de definicin de datos (DDL) El lenguaje de definicin de datos (en ingls Data Definition Language, o DDL), es el que se encarga de la modificacin de la estructura de los objetos de la base de datos. Incluye rdenes para modificar, borrar o definir las tablas en las que se almacenan los datos de la base de datos. Existen cuatro operaciones bsicas: CREATE, ALTER, DROP y TRUNCATE. CREATE Este comando crea un objeto dentro del gestor de base de datos. Puede ser una base de datos, tabla, ndice, procedimiento almacenado o vista. Ejemplo (crear una tabla) CREATE TABLE Empleado ( id INT NOT NULL IDENTITY (1,1) PRIMARY KEY, Nombre VARCHAR(50), Apellido VARCHAR(50), Direccion VARCHAR(255), Ciudad VARCHAR(60), Telefono VARCHAR(15), Peso VARCHAR (5), Edad CHAR (2), Actividad VARCHAR (100), idCargo INT ) ALTER Este comando permite modificar la estructura de un objeto. Se pueden agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar ndices a una tabla, modificar un trigger, etc. Ejemplo (agregar columna a una tabla) ALTER TABLE 'NOMBRE_TABLA' ADD NUEVO_CAMPO INT UNSIGNED; DROP Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, ndice, trigger, funcin, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia ALTER. Ejemplo DROP TABLE 'NOMBRE_TABLA';. TRUNCATE Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando DROP, es que si se quiere borrar todo el contenido de la tabla, es mucho ms rpido, especialmente si la tabla es muy grande. La desventaja es que TRUNCATE slo sirve Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

13

cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la clusula WHERE. Si bien, en un principio, esta sentencia parecera ser DML (Lenguaje de Manipulacin de Datos), es en realidad una DDL, ya que internamente, el comando TRUNCATE borra la tabla y la vuelve a crear y no ejecuta ninguna transaccin. Ejemplo TRUNCATE TABLE 'NOMBRE_TABLA';

14

Lenguaje de manipulacin de datos DML(Data Manipulation Language) Definicin Un lenguaje de manipulacin de datos (Data Manipulation Language, o DML en ingls) es un lenguaje proporcionado por el sistema de gestin de base de datos que permite a los usuarios llevar a cabo las tareas de consulta o manipulacin de los datos, organizados por el modelo de datos adecuado. El lenguaje de manipulacin de datos ms popular hoy da es SQL, usado para recuperar y manipular datos en una base de datos relacional. INSERT Una sentencia INSERT de SQL agrega uno o ms registros a una (y slo una) tabla en una base de datos relacional. Forma bsica INSERT INTO 'tabla' ('columna1',['columna2,... ']) VALUES ('valor1', ['valor2,...']) Las cantidades de columnas y valores deben ser iguales. Si una columna no se especifica, le ser asignado el valor por omisin. Los valores especificados (o implcitos) por la sentencia INSERT debern satisfacer todas las restricciones aplicables. Si ocurre un error de sintaxis o si alguna de las restricciones es violada, no se agrega la fila y se devuelve un error. Ejemplo INSERT INTO agenda_telefonica (nombre, numero) VALUES ('Roberto Jeldrez', 4886850); Cuando se especifican todos los valores de una tabla, se puede utilizar la sentencia acortada: INSERT INTO nombreTabla VALUES ('valor1', ['valor2,...']) Ejemplo (asumiendo que 'nombre' y 'nmero' son las nicas columnas de la tabla 'agenda_telefonica'): INSERT INTO agenda_telefonica VALUES ('Jhonny Aguiar', 080473968); Formas avanzadas Una caracterstica de SQL (desde SQL-92) es el uso de constructores de filas para insertar mltiples filas a la vez, con una sola sentencia SQL: INSERT INTO ''tabla'' (''columna1'', [''columna2,... '']) VALUES (''valor1a'', [''valor1b,...'']), (''value2a'', [''value2b,...'']),...; Esta caracterstica es soportada por DB2, PostgreSQL (desde la versin 8.2), MySQL, y H2. Ejemplo (asumiendo que 'nombre' y 'nmero' son las nicas columnas en la tabla 'agenda_telefonica'): INSERT INTO agenda_telefonica VALUES ('Roberto Fernndez', '4886850'), ('Alejandro Sosa', '4556550'); Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

Que poda haber sido realizado por las sentencias INSERT INTO agenda_telefonica VALUES ('Roberto Fernndez', '4886850'); INSERT INTO agenda_telefonica VALUES ('Alejandro Sosa', '4556550'); Notar que las sentencias separadas pueden tener semntica diferente (especialmente con respecto a los triggers), y puede tener diferente rendimiento que la sentencia de insercin mltiple. Para insertar varias filas en MS SQL puede utilizar esa construccin: INSERT INTO phone_book SELECT 'John Doe', '555-1212' UNION ALL SELECT 'Peter Doe', '555-2323'; Tenga en cuenta que no se trata de una sentencia SQL vlida de acuerdo con el estndar SQL (SQL: 2003), debido a la clusula subselect incompleta. Para hacer lo mismo en Oracle se usa DUAL TABLE, siempre que se trate de solo una simple fila: INSERT INTO phone_book SELECT 'John Doe', '555-1212' FROM DUAL UNION ALL SELECT 'Peter Doe','555-2323' FROM DUAL Una implementacin conforme al estndar de esta lgica se muestra el siguiente ejemplo, o como se muestra arriba (no aplica en Oracle): INSERT INTO phone_book SELECT 'John Doe', '555-1212' FROM LATERAL ( VALUES (1) ) AS t(c) UNION ALL SELECT 'Peter Doe','555-2323' FROM LATERAL ( VALUES (1) ) AS t(c) Copia de filas de otras tablas Un INSERT tambin puede utilizarse para recuperar datos de otros, modificarla si es necesario e insertarla directamente en la tabla. Todo esto se hace en una sola sentencia SQL que no implica ningn procesamiento intermedio en la aplicacin cliente. Un SUBSELECT se utiliza en lugar de la clusula VALUES. El SUBSELECT puede contener JOIN, llamadas a funciones, y puede incluso consultar en la misma TABLA los datos que se inserta. Lgicamente, el SELECT se evala antes que la operacin INSERT est iniciada. Un ejemplo se da a continuacin. INSERT INTO phone_book2 SELECT * FROM phone_book WHERE name IN ('John Doe', 'Peter Doe') Una variacin es necesaria cuando algunos de los datos de la tabla fuente se est insertando en la nueva tabla, pero no todo el registro. (O cuando los esquemas de las tablas no son iguales.) INSERT INTO phone_book2 ( [name], [phoneNumber] ) SELECT [name], [phoneNumber] FROM phone_book WHERE name IN ('John Doe', 'Peter Doe') El SELECT produce una tabla (temporal), y el esquema de la tabla temporal debe coincidir con el esquema de la tabla donde los datos son insertados. Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

15

UPDATE Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto de registros existentes en una tabla. Ejemplo UPDATE My_table SET field1 = 'updated value asd' WHERE field2 = 'N'; DELETE Una sentencia DELETE de SQL borra uno o ms registros existentes en una tabla. Forma bsica SQL="DELETE FROM ''tabla'' WHERE ''columna1'' = ''valor1''" Ejemplo DELETE FROM My_table WHERE field2 = 'N'; Recuperacin de clave Los diseadores de base de datos que usan una clave suplente como la clave principal para cada tabla, se ejecutar en el ocasional escenario en el que es necesario recuperar automticamente la base de datos, generando una clave primaria de una sentencia SQL INSERT para su uso en otras sentencias SQL. La mayora de los sistemas no permiten sentencias SQL INSERT para retornar fila de datos. Por lo tanto, se hace necesario aplicar una solucin en tales escenarios. Implementaciones comunes incluyen: Utilizando un procedimiento almacenado especfico de base de datos que genera la clave suplente, realice la operacin INSERT, y finalmente devuelve la clave generada. Utilizando una sentencia SELECT especfica de base de datos, sobre una tabla temporal que contiene la ltima fila insertada. DB2 implementa esta caracterstica de la siguiente manera: SELECT * FROM NEW TABLE ( INSERT INTO phone_book VALUES ( 'Cristobal Jeldrez','0426.817.10.30' ) ) AS t Utilizando una sentencia SELECT despus de la sentencia INSERT con funcin especfica de base de datos, que devuelve la clave primaria generada por el registro insertado ms recientemente. Utilizando una combinacin nica de elementos del original SQL INSERT en una posterior sentencia SELECT. Utilizando un GUID en la sentencia SQL INSERT y la recupera en una sentencia SELECT. Utilizando la funcin de PHP mysql_insert_id() de MySQL despus de la sentencia INSERT. Utilizando un INSERT con la clusula RETURNING para Oracle, que slo se puede utilizar dentro de un PL/SQL bloque, en el caso de PostgreSQL se puede usar tambin tanto con SQL como con PL/SQL. INSERT INTO phone_book VALUES ( 'Cristobal Jeldrez','0426.817.10.30' ) RETURNING phone_book_id INTO v_pb_id En el caso de MS SQL se puede utilizar la siguiente instruccin: SET NoCount ON; INSERT INTO phone_book VALUES ( 'Cristobal Jeldrez','0426.817.10.30' ); SELECT @@IDENTITY AS ID

9. Desarrollo de Aplicaciones de Proyecto Interdisciplinarios. 9.1. Java: Introduccin Definicin. Java es un lenguaje de programacin por objetos creado por Sun Microsystems, Inc. que permite crear programas que funcionan en cualquier tipo de ordenador y sistema operativo. Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

16

Se usa el Java para crear programas especiales denominados applets, que pueden ser incorporados en pginas web para hacerlas interactivas. Los apliques Java requieren que el navegador utilizado sea compatible con Java. 9.2. Caractersticas de Java. Lenguaje Simple. Orientado a Objetos. Dinamico. Produce Applets. 9.3. Ventajas Desventajas de Java. Ventajas: Es de fuente abierta. Independiente de la plataforma. Permite crear programas modulares y cdigos reutilizables. Desventajas: Hay diferentes tipos de soporte tcnico para la misma herramienta, por lo que el anlisis de la mejor opcin se dificulta o Para manejo a bajo nivel deben usarse mtodos nativos, lo que limita la portabilidad. o El diseo de interfaces grficas con awt y swing no es simple.o Existen herramientas como el JBuilder que permiten generar interfaces grficas de manera sencilla, pero tienen un costo adicional. o Puede ser que no haya JDBC para bases de datos poco comerciales. o Algunas herramientas tienen un costo adicional 9.4. Variables, Tipos de Datos y Operadores de Definicin y Ejercicios de Java. Operadores unarios. Operador Descripcin - Cambio de signo ! Operador NOT ~ Complemento a 1 Operadores binarios. Operadores Descripcin + - * / % Operadores aritmticos == != < > <= >= Operadores relacionales && || ^ Operadores booleanos ^ << >> >>> Operadores a nivel de bit + Concatenacin de cadenas nt numero1 = 3; int numero2= 4; int resultado; resultado= numero1 + numero2 * 3; System.out.println ( resultado); //esto imprime el valor de 15 segn la precedencia de los operadores la multiplicacin * tiene mayor prioridad que la suma +, por lo que primero se ejecuta la multiplicacin y luego se realiza la suma.

17

Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

int numero1 = 3; int numero2= 4; int resultado; resultado= (numero1 + numero2) * 3; System.out.println ( resultado); //esto imprime el valor de 21 9.5. Clasificacin de las instrucciones de Java. 9.6. Instrucciones Condicionales de Java: Definicin.

9.7. Ciclos: Definicin de Java. Instrucciones para ciclos resuelven el problema de repetir todo el programa, o cierta parte del programa mas de una vez. Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instruccin simple o compuesta. Su formato general es: for (inicializacin; condicin; incremento) { instruccin(es); }; ejemplo: for(x=1;x10;x=x+1) {t1.setText(pato) }; 9.8. Clasificacin de los ciclos de java. 9.9. Pasos para instalar el programa java. Descargar Netbeans 7.0.1 y el JDK de java. 9.10. Pasos para la aplicacin del programa de java. Inicio /Todos los programas/ Netbeans/ Netbeans 7.0.1 ide. 9.11. Pasos para ingresar, abrir, guardar y ejecutar el programa de java. Ya dentro del programa tenemos opciones como new proyect nuevo proyecto y escogemos Java Desktop Aplicattion. Si deseamos abrir una ya creada nos vamos al rbol de proyectos lateral izquierdo y seleccionamos nuestro programa luego en nombreprograma-pantalla.view y escogemos modo diseo. Para ejecutar damos clic en RUN. 9.12. Ejercicio Explicativo pas a paso del programa java. Interfaz

18

Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

Diseo de la interfaz Ejercicio resuelto

Cdigo // array para almacenar las 10 JLabel como elementos para recorrer por el ndice javax.swing.JLabel[] etiquetasMultiplicar = new javax.swing.JLabel[10]; private void formWindowOpened(java.awt.event.WindowEvent evt) { // poner los elementos para el selector de tabla de multiplicar jComboBoxTabla.removeAllItems(); for (int i = 1; i <= 10; i++) { jComboBoxTabla.addItem("Tabla del " + i); } // referenciar las 10 jLabelMultiplicacion en el array para recorrerlo por el ndice etiquetasMultiplicar[0] = jLabelMultiplicacion1; etiquetasMultiplicar[1] = jLabelMultiplicacion2; etiquetasMultiplicar[2] = jLabelMultiplicacion3; etiquetasMultiplicar[3] = jLabelMultiplicacion4; etiquetasMultiplicar[4] = jLabelMultiplicacion5; etiquetasMultiplicar[5] = jLabelMultiplicacion6; etiquetasMultiplicar[6] = jLabelMultiplicacion7; etiquetasMultiplicar[7] = jLabelMultiplicacion8; etiquetasMultiplicar[8] = jLabelMultiplicacion9; etiquetasMultiplicar[9] = jLabelMultiplicacion10; // ocultar las etiquetas de multiplicaciones for (int e = 0; e <= 9; e++) { etiquetasMultiplicar[e].setText(""); } }

19

Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte

private void jButtonMostrarTablaActionPerformed(java.awt.event.ActionEvent evt) { // obtener la tabla que hay que mostrar desde el ndice que seleccion el usuario int tabla = jComboBoxTabla.getSelectedIndex() + 1; // recorrer con bucle for las 10 etiquetas para mostrar las multiplicaciones for (int factor = 1; factor <= 10; factor++) { // componer la cadena de texto con la multiplicacin String multiplicacion = factor + " x " + tabla + " = " + (factor * tabla); // asignar la cadena de texto en la etiqueta correspondiente etiquetasMultiplicar[factor - 1].setText(multiplicacion); } } 9.13. Ejercicios Resueltos de diagrama de flujo y codificacin de java (con frmulas matemticas, fsica, geometra y contabilidad). En el DVD 9.14. Ejercicios Resueltos de sentencia de control de java (Diagrama de flujo, Pseudocdigo, Prueba de Escritorio y Codificacin). En el DVD 9.15. Ejercicios Resueltos de Bucles con java (Diagrama de flujo, Pseudocdigo, Prueba de Escritorio y Codificacin). import java.lang.*; import java.awt.*; import java.awt.event.*; public class prog19 { //declaracion, creacion e inicializacion de componentes, objetos y variables static Frame ventana= new Frame(); static Panel p1 = new Panel(); static List lista = new List(10, false); static Button b1 = new Button("OK"); public static void main(String[] args) { // area de definicion de propiedades de el objeto ventana.setTitle("mi programa"); //agregando componentes a panel p1.add(lista);p1.add(b1); // agregando panel a frame ventana.add(p1); ventana.pack(); ventana.setVisible(true); ventana.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e){ ventana.dispose(); System.exit(0);}}); b1.addMouseListener( new MouseAdapter() { public void mousePressed(MouseEvent e){ String temp=""; int x; for ( x = 10; x<=20; x++){ temp = temp.valueOf(x);lista.add( temp );}; }} ); }; // termina main } // termina clase

20

Cuestionarios Herramienta Rios 6/6 Vicente Rocafuerte