Mostrando entradas con la etiqueta uso. Mostrar todas las entradas
Mostrando entradas con la etiqueta uso. Mostrar todas las entradas

sábado, 13 de junio de 2015

BASES DE DATOS: ¿Qué son?

De nuevo volvemos a la historia para contaros un poco lo que es una base de datos. Cómo ya os he mostrado en otros artículos sobre las variables, una parte importante de la programación es el trato que se dan a los datos, y como vais viendo en los mismos la cosa no es nada sencilla.

Es a veces más complicado comprender los datos y organizarlos que crear la aplicación. Necesitamos ver todos los datos que están en juego, lo que queremos hacer con ellos, las relaciones que existen, si dependen unos de otros...




Por ello es tan importante conocer las bases de datos.

Definición:

Una base de datos es un lugar donde se almacenan los datos de alguna manera lógica, pero una base de datos también es la aplicación que nos permite usar esos datos, contrastarlos, ordenarlos, compactarlos...

Mi primer contacto con una base de datos fue con el ya legendario Dbase, un programa creado para MsDos que permitía la creación y gestión de las bases de datos.

Antes de estos programas los datos se guardaban en cintas o en discos, de una manera secuencial, es decir, directamente uno al lado de o detrás de otro, normalmente separados por comas, lo cual nos permitía después recuperarlos a memoria, modificarlos y volver a reescribirlos.


Pero esto tenía un coste importante en tiempo, ya que había que primero guardarlo y luego volver a cargarlo en memoria varias veces en el mismo ciclo de vida de la aplicación. Y los discos no eran precisamente rápidos como ahora que parece todo instantáneo...

Con la creación de Dbase y programas similares se permitió que el acceso fuera más rápido, los datos no se guardaban como un fichero puramente secuencial sino que se guardaban preórdenes que permitían una gestión más rápida de los mismos, se guardaban en bloques más pequeños y se podían estar cargando unos pocos mientras el resto se mantenían a la espera.

Dbase III y IV permitieron la indexación, es decir, un orden de los datos según una clave determinada pero que no alteraba los datos en sí, de forma que si la clave de indexación se usaba cómo principal la localización de un dato en milésimas de segundo.



Este programa y otros como FoxPro nos daban la posibilidad de manejar los datos de una manera rápida y si conocías los comandos de manera sencilla. Y creabas aplicaciones muy rápidamente con el asistente que tenía.

Con el paso de los años y la irrupción de Windows, la cosa se volvió visual y apenas tenías que saber muy poco para crear tu base de datos y gestionarla y luego usarla para crear tus cartas personalizadas para los clientes o consultarla para ver si tu visitante de la web estaba o no registrado.

Con todo esto se han ido buscando siempre la forma de que sean cada vez más rápidas y eficientes, y más aún desde la creación de las web, ya que las cargas en los servidores son cada vez mayores, y los datos más y más grandes y complejos...

Imaginar lo importante que es la optimización de estos datos, pensar en un banco que recibe miles de transacciones por segundo de sus clientes comprando en miles de establecimientos a lo largo del planeta y  tiene que responder sí o no a la petición de dinero, y tiene que sacarlo de su fichero y mandarlo al del vendedor...

Por eso es tan importante el curso que estamos haciendo sobre las variables, porque es en los datos donde está la respuesta, en su análisis donde está el futuro...

Si queréis ver como se usa una base de datos y como se crea desde cero y otro montón de conceptos podéis ver este vídeo sobre OpenOffice Base:


Definición de campo:

Campo es cada una de los datos que forman parte de una base de datos, estos campos son los contenedores de los datos, los que reciben los nombres, las direcciones, los teléfonos.

Son de diferente tipo y se organizan de una forma lógica para que resulten más fácil de usar y de rellenar.

Definición de registro:

Es cada una de las soluciones de los campos y están unidas por la lógica que se estableció en los campos. De esta manera, cada registro es un relleno de todos los campos definidos. 

Si seguimos el ejemplo de un fichero de fichas, los campos son lo que aparece a la izquierda, y son comunes a todas las fichas, mientras cada ficha está rellenada con una serie de datos. Estas fichas son los registros (records).

Acumulando datos:


Cuando ya hemos definido la estructura de nuestros datos lo siguiente que tenemos que hacer es empezar a rellenar los campos y los registros para poder tener cuanto antes todo relleno.

Si nos juntamos con miles o cientos de miles de datos lo importante de una base de datos será la velocidad de búsqueda, y cada vez que vayamos a hacer una consulta tendrá que estar lo más ordenada posible.

Esto significa que si pudiéramos tener todas las consultas hechas antes de hacerlas el tiempo de reacción sería mínimo. Por eso es tan importante decidir cuál será la llave de ordenación, es decir, el campo o campos que van a dar las claves de ordenación de nuestra base de datos.

domingo, 7 de junio de 2015

VARIABLES 2: Tipos Básicos (INTEGER,CHAR...)

Podríamos decir que la importancia de las variables es tal, que sin ellas nos sería imposible hacer más que programas del tipo imprime un mensaje o pinta esto... Es decir, podríamos decir que son tan importantes como los ingredientes en una ensalada...

En nuestro caso tenemos ya dos tipos de variables simples que hemos conocido en el primer artículo sobre el tema: numéricas y alfanuméricas, es decir, variables de tipo número y variables de tipo letra, pero vamos a meternos en profundidad en el tema...



Alguien podría pensar que sería útil definir las variables número con el máximo rango posible, es decir, que se pudiera representar cualquier número de cualquier tamaño en cualquier caso... Y ya puestos sería deseable que pudiéramos poner los números con tantos decimales como necesitáramos y porque no, estos números podrían ser positivos o negativos...

Es decir, lo deseable sería que el tipo número fuera de rango infinito, y que fuera infinitamente divisible y que recorriera también los negativos... Es decir, lo deseable sería un número Real para poder hacer todas las operaciones que hacemos con los número reales...

Pero he aquí un problema: para representar cada número en memoria necesitamos una cantidad infinita de memoria, cosa que no tenemos, así que de momento nos olvidamos de infinitos números y de infinitos decimales.

Tenemos otro problema: por un lado cada dígito de un número entero se representa en base 2 en el ordenador, y cada dígito en base 2 se almacena en una posición de memoria y la memoria es limitada.

Cuando los ordenadores tenían hasta 16k, esto era un gran problema, ya que si usabas toda la memoria se producía un Overflow, es decir, un desbordamiento de memoria... Y se acababa el programa.



Con lo cual, teníamos que tener unos tipos de dato, unas variables de tamaño reducido para poder usar el resto de la memoria para programar. Por ello en aquellos ordenadores solo había los tipos número y alfanumérico, y además de tamaño reducido.

Con la mejora del tamaño de la memoria, los tipos se amplían, pero una preocupación fundamental sigue siendo el uso de esa memoria, es decir, si el campo al que va a representar esa variable no usa números muy grandes se usará un tipo de variable que use números pequeños.

En estos momentos, de lo que se trataba era de usar el mínimo de memoria para que nuestro programa fuera eficiente,y siempre intentar no llevarlo al máximo para evitar desbordamientos.

Siendo así llegamos al momento actual en el que podemos ver si queréis los tipos básicos, de un lenguaje al que tengo cariño, el C#:

De -128 a 127
Entero de 8 bits con signo
De 0 a 255
Entero de 8 bits sin signo
U+0000 a U+ffff
Carácter Unicode de 16 bits
De -32.768 a 32.767
Entero de 16 bits con signo
De 0 a 65.535
Entero de 16 bits sin signo
De -2.147.483.648 a 2.147.483.647
Entero de 32 bits con signo
De 0 a 4.294.967.295
Entero de 32 bits sin signo
De -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807
Entero de 64 bits con signo
De 0 a 18,446,744,073,709,551,615
Entero de 64 bits sin signo
(Fuente Microsoft.com)

Cuanto más grande es el número mayor bloque de memoria estamos usando. El signo, va a usar otro byte más por eso los tipos sin signo, uint, ulong, son el doble de grande que el de los tipos con signo int y Long.

De echo, hoy en día sigue siendo importante esto, ya que al usar los dispositivos móviles, es necesario que no llevemos al límite nuestros recursos...

El tipo que se usa como short en c# durante muchos años fue considerado como el tipo numérico por excelencia, usada en el spectrum, el amstrada cpc e incluso en los primeros pc...

Actualmente si usamos otros lenguajes de programación o si usamos c# pero ampliado, podemos manejar números todavía más grandes...

[Continuará]

domingo, 3 de mayo de 2015

MICROSOFT INTERNET EXPLORER: Mi análisis personal

Cómo siempre antes de meternos en el meollo de la cuestión, un poco de historia. Desde el origen de internet los gurús de la informática lo tuvieron muy claro. Internet será un sitio donde la gente compartirá información, y donde todos podremos encontrar información.

Al principio para acceder a la red de redes lo único que podías hacer era ir de visita a otros ordenadores, hacer lo que en aquellos tiempos se llamaba un ftp (file transfer protocol, protocolo de transferencia de ficheros),  y fisgar y descargar programas de un lugar a otro.

Pero he aquí que a alguien que no fue Microsoft se le ocurrió la posibilidad de visualizar los datos de otros ordenadores cómo si fuera una hoja de texto, bien ordenada, y así nacieron las páginas web y los visualizadores de las mismas.



Internet Explorer, Netscape, y otros en aquella época fueron los pioneros los que nos dejaban ver al otro lado del ordenador, los que permitían ver los contenidos de aquellos ordenadores de una manera sencilla.

Y es Explorer de Microsoft que venía como regalo en Windows el que tenía en principio la dominancia total en este aspecto ya que porque molestarse en mirar otros diferentes si este iba bien... Pero siempre hay mentes inconformistas, y gracias a ellos nace Netscape y gracias a un marketing brutal y a un boca a boca aún mejor se extendió como la espuma...

En España llega a tener casi posición de dominancia, y todo el mundo quería la versión nueva de Netscape que funcionaba más rápido y te permitía hacer más cosas que el Explorer... Microsoft reacciona e integra, blinda el explorador a su sistema, y es entonces cuando empieza la guerra de los exploradores con juicio  y todo en Estados Unidos.

Allí casi termina la carrera de Microsoft, pero el hábil Gates, consigue llegar a un acuerdo y en futuras versiones de Windows se tendrá que poder elegir el explorador por defecto al arrancar el sistema y se podrá cambiar en cualquier momento.

Navegación y ordenadores:

La navegación es algo bastante sencillo de entender si lo miramos desde el punto de vista de la comunicación, y nos olvidamos de toda la tecnología que hay debajo.

En nuestro Explorer colocamos una Url, es decir, el nombre de una página web de Internet, esto es traducido a números en hexadecimal, transferido al proveedor de dns, de direcciones, buscado en la base de datos, y se le llama:

Microsoft.com estás ahi?

Si estoy aqui.

Estas disponible?

Si estoy disponible

Tienes contenido?

Si tengo contenido
Quién eres?

Soy Internet Explorer en una máquina situada en España
Mis preferencias son el español
No quiero gráficos grandes
No quiero scripts
...

Ok. Te mando el contenido adecuado para Explorer en España con tus características...

Es decir, se establece un diálogo entre las dos máquinas, el ordenador y el servidor, de manera que los datos se transfieren en las dos direcciones pero siempre el que menos manda es el ordenador y el que más datos da es el servidor...

Internet Explorer:

Siempre es bueno tener más de un explorador, y yo hace tiempo que uso casi siempre Chrome, pero para algunas cosas reconozco que me es más útil ir al Explorer y usarlo.

En este primer vídeo os introduzco en la historia del explorer y vemos algunas de las opciones principales:




Seguidamente analizamos más opciones disponibles en el Microsoft Internet Explorer, y nos acercamos a la exploración oculta:






De echo esta segunda parte se mete más a fondo en las opciones más complejas de configuración de Internet Explorer, y vemos la exploración en privado, las opciones de configuración de ip, las protecciones para niños, y muchas más cosas de gran utilidad para conocer nuestro explorador.


Ahora ya estamos en Windows 8.1 y Microsoft ha duplicado su trabajo ya que tenemos también la versión de Explorer para acceder desde el menú de inicio cómo un programa autónomo del escritorio.



El problema para Microsoft vino del que mucho tiempo fue su gran amigo, Google, ya que tanto  poder en una sola empresa, tantos ingresos le llevaron a la posibilidad de hacer su propio explorador, y hasta lo que más le dolerá en el futuro su propio sistema operativo Android.

Y como la historia se repite, y antes Microsoft e Intel fueron los grandes campeones de la informática, ahora los grandes campeones son Google y Samsung... Y como en aquella época le pasó a Microsoft ,ahora la denunciada por monopolio no es otra que Google...

Integración y navegación:


Antes de finalizar este artículo quiero que os deis cuenta de un aspecto que poco se tiene en cuenta ya cuando trabajamos con windows.

Al empezar a moverte por los directorios, a subir y bajar por las ramas de árbol que componen nuestro disco duro, no os dais cuenta pero lo cierto es que lo que estás haciendo es navegar por el disco duro, es decir, es como si hubieras abierto una página web y estuvieras yendo desde la página principal hasta las subpáginas.

Esto es parte de lo que pudo ser y no fue, y es parte de las ventajas de la navegación actual, ya que es la razón por la cual si estás en un directorio donde hay fotos, puedes verlas en pequeño, y si hay documentos puedes ver un pequeño resumen.