Mostrando entradas con la etiqueta Puntos Extras. Mostrar todas las entradas
Mostrando entradas con la etiqueta Puntos Extras. Mostrar todas las entradas

miércoles, 23 de noviembre de 2011

"SQL PARA LA CREACIÓN DE BASE DE DATOS" (PUNTOS EXTRAS)

Ahora hablare un poco sobre el  lenguaje para la creación de base de datos, como todos sabemos para kla creación de bases de datos existen diferentes formas, por ejemplo con la herramienta de office de microssft Access que se podría considerar como la mas fácil, pero a nivel solamente académico por decirlo de alguna forma, a si como MySQL que bien se podría decir que es un derivado del SQL, que al parecer es el lenguaje natural para la creación de estructuras de datos.

Decidí hablar de este tema por que me di cuenta que algunos de mis compañeros tanto de taller como de la materia de POO necesitarían conectarse a una base de datos para guardar informacion que anteriormente se solicitara en su programa, en lo personal yo utilice el programa de Access que nos proporciona el officce de Microsotf, y es por eso que quiero ver las diferencias y el funcionamiento de  SQL eso.

  • El lenguaje de consulta estructurado ( SQL) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en estas.
  • Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre ella.
Como sabemos el lenguaje SQL se maneja principalmente por código para la creación de tablas de datos a si como consultas echas de esas tablas.

Para poder observar un ejemplo de creación de tablas para posteriormente llenarlas con los datos de lo que se requiera en el momento o el sistema. Aquí muestro el cogido que se tendría que hacer para la creación de una tabla en SQL:

                            TRUNCATE TABLE ''TABLA_NOMBRE1''

Y despues se muestra el código para insertar una tabla de otra manera, con una sentencia:

Una sentencia INSERT de SQL agrega uno o más registros a una (y sólo una) tabla en una base de datos relacional. De la siguiente forma: 

        INSERT INTO ''tabla'' (''columna1'', [''columna2,... '']) VALUES (''valor1'', [''valor2,...''])

Ahora aqui se muestra como ingresar datos a la tabla creada mediante la sentencia INSERT:

INSERT INTO agenda_telefonica (nombre, numero) VALUES ('Roberto Jeldrez', 4886850);

Creo que una de las cosas que mas importa en este caso de utilizar bases de datos en SQL,
es como conectar una base de datos creada en SQL, a un programa en java en cualquier,
compilador de java que se tenga, que es una de las dudas que tuve durante la programación en mi proyecto.

En este caso presentare un ejemplo como MySQL que como ya había mencionado es un derivado del SQL.

Lo primero que tenemos que hacer es asegurarnos que el Driver se inicializa y se registra, para ello:
 
try
{
   Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e)
{
   e.printStackTrace();
}
Para establecer la conexión, la clase DriverManager tiene métodos getConnection(). Usaremos uno de ellos:

// Establecemos la conexión con la base de datos. 
Connection conexion = DriverManager.getConnection ("jdbc:mysql://localhost/prueba","root", "la_clave");

El primer parámetro del método getConnection() es un String que contiene la url de la base de datos.

Este seria el código para la colección a la base de datos desde el código en java.

Para realizar cualquier acción sobre la base de datos (consulta, insertar nuevos registros, modificar los existentes o borrar), necesitamos una clase Statement. Para obtenerla, se le pide dicha clase a la conexión. La forma de hacerlo, para una consulta, es la siguiente:

// Preparamos la consulta 
Statement s = conexion.createStatement(); 
ResultSet rs = s.executeQuery ("select * from persona");

Otra cosa que se necesita en un sistema es que los datos que hemos capturado en nuestra base de datos se puedan leer para saber la información, a si que aquí va un ejemplo para esto.

El ResultSet contiene dentro los registros leidos de la base de datos. Inicialmente, tal cual nos lo devuelve el Statement.executeQuery(), tiene internamente un "puntero" apuntando justo delante del primer registro. Por tanto, una forma de ir leyendo los registros en meternos en un while:

// Recorremos el resultado, mientras haya registros para leer, y escribimos el resultado en pantalla. 
while (rs.next()) 
{ 
    System.out.println (rs.getInt (1) + " " + rs.getString (2)+ " " + rs.getDate(3)); 
}

Y por ultimo otra cosa que yo utilice en mi proyecto (claro con Access) es la de cerrar la conexión a la base de datos al momento de ya no utilizarla, por cualquier inconveniente que se presente, es por eso que aquí dejo un ejemplo de como hacer esto.

Una vez que terminamos de usar la conexión, se debería cerrar, o bien terminar el programa, con lo que se cierra automáticamente y en si no es muy difícil:

// Cerramos la conexion a la base de datos. 
conexion.close();

Espero y esta información pueda servir de algo al momento de trabajar con el lenguaje SQL y con aplicaciones de en JAVA.

"HILOS O SUBPROCESOS" (PUNTOS EXTRAS)

Esta ocacion quiero hablar de como funcionan los hilos también llamados "subprocesos" en la creación de programas principalmente en juegos que son los problemas que mas se presentan en un sistema de este tipo.

Un hilo es una característica que permite a una aplicación realizar varias tareas a la vez (concurrente-mente). Como bien se sabe o al menos por mis compañeros que hicieron su proyecto basado en algún juego para aplicar el suyo, los hilos se utilizan para procesos o programas que necesitan realizar varias tareas o ejecuciones de funciones simultáneamente, es decir, realizar varios procesos por separado al mismo tiempo, pero para un mismo fin, en este caso, al estar jugando un determinado juego deben estar pasando varias cosas a la vez para que se vea mas vistoso y tenga mayor grado de complejidad.

Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente.

Los hilos de ejecución que comparten los mismos recursos, sumados a estos recursos, son en conjunto conocidos como un proceso.



Algunos de los principales estados de los hilos son ejecucion, listo y bloqueado que se mencionara y definiran acontinuacion.

Cambio de estados

  • Creación: Cuando se crea un proceso se crea un hilo para ese proceso. Luego, este hilo puede crear otros hilos dentro del mismo proceso, proporcionando un puntero de instrucción y los argumentos del nuevo hilo. El hilo tendrá su propio contexto y su propio espacio de la columna, y pasará al final de los Listos.
  • Bloqueo: Cuando un hilo necesita esperar por un suceso, se bloquea (salvando sus registros de usuario, contador de programa y punteros de pila). Ahora el procesador podrá pasar a ejecutar otro hilo que esté en la final de los Listos mientras el anterior permanece bloqueado.
  • Desbloqueo: Cuando el suceso por el que el hilo se bloqueó se produce, el mismo pasa a la final de los Listos.
  • Terminación: Cuando un hilo finaliza se liberan tanto su contexto como sus columnas.

Construir hilos dentro de algún programa lógicamente tiene sus ventajas, como podrían ser que el código o el proceso no tenga algunos problemas de compilación o de procesamiento al momento de ejecutar nuestro código 

Cabe mencionar que para implementar los hilos o procesos de las funciones del codigo de dicho programa se tiene que implementar. Un ejemplo de implementar un metodo para el proceso de un hilo seria por ejemplo de esta manera:

primeramente se declara la clase:

public class AplicHilo {

y el metodo seria:

public void run ()

Un ejemplo:


public class ThreadEjemplo extends Thread { 
public ThreadEjemplo(String str) { 
    super(str); 
 } 
public void run() { 
    for (int i = 0; i < 10 ; i++) 
   System.out.println(i + " " + getName()); 
  System.out.println("Termina thread " + getName()); 
 } 
public static void main (String [] args) { 
    new ThreadEjemplo("Pepe").start(); 
    new ThreadEjemplo("Juan").start(); 
  System.out.println("Termina thread main"); 
 } 
}

Es un ejemplo de como construir un método de hilo, junto con un ciclo for para imprimir una lista de datos.


Si se compila y ejecuta el programa, podrá obtenerse una salida como la siguiente: 

0 Pepe 
1 Pepe 
2 Pepe 
3 Pepe 
0 Juan 
4 Pepe 
1 Juan 
5 Pepe 
2 Juan 
6 Pepe 
3 Juan 
7 Pepe 
4 Juan 
8 Pepe 
5 Juan 
9 Pepe 
6 Juan 
Termina thread Pepe 
7 Juan 
8 Juan 
9 Juan 
Termina thread Juan

lunes, 29 de agosto de 2011

"BASE DE DATOS"

CREACIÓN DE BASE DE DATOS 

Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos.

Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática.

Base de datos orientada a objetos



En una base de datos orientada a objetos, la información se representa mediante objetos como los presentes en la programación orientada a objetos. Cuando se integra las características de una base de datos con las de un lenguaje de programación orientado a objetos, el resultado es un sistema gestor de base de datos orientada a objetos(ODBMS, object database management system). Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programación en uno o más lenguajes de programación a los que dé soporte. Un ODBMS extiende los lenguajes con datos persistentes de forma transparente, control de concurrencia, recuperación de datos, consultas asociativas y otras capacidades.
Las bases de datos orientadas a objetos se diseñan para trabajar bien en conjunción con lenguajes de programación orientados a objetos como Java, C#, Visual Basic.NET y C++. Los ODBMS usan exactamente el mismo modelo que estos lenguajes de programación.
Los ODBMS son una buena elección para aquellos sistemas que necesitan un buen rendimiento en la manipulación de tipos de dato complejos.
Los ODBMS proporcionan los costes de desarrollo más bajos y el mejor rendimiento cuando se usan objetos gracias a que almacenan objetos en disco y tienen una integración transparente con el programa escrito en un lenguaje de programación orientado a objetos, al almacenar exactamente el modelo de objeto usado a nivel aplicativo, lo que reduce los costes de desarrollo y mantenimiento.





Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento).
Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos:

  • Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos.
  • Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases.
  • Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos.

En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones.

Bases de Datos


Mas que todo esto de Base de Datos es por que pretendo poder trabajar con Base de Datos en mi proyecto de java, y de esa forma poder enlazar la interfaz del sistema en java con una base de datos donde tenga el historial de información de lo que pretendo manejar como lo sera informacion de clientes, etc.