jueves, 13 de junio de 2013

Cómo hacer la limpieza de tu mouse

Cómo hacer la limpieza de tu mouse

¡Extraído de Como Lo Hago!
El día de hoy aprovechando que salió el sol en Santiago después de una esperada lluvia que cayó sobre la capital, aproveché de llevar a cabo el excelente tutorial que desarrolló mi amigo personal  Xabadu acerca de la limpieza de tu mac, por lo que tomé la Torre de mi PC y la limpié por completo y dentro de eso también aproveché de limpiar el Teclado y el Mouse.
Pues bien dentro de estas tareas se me ocurrió el traerles el proceso de la limpieza del mouse.
En mi caso se trata de un mouse Logitech Mx510, el cual posee un sensor óptico en vez de la típica bola en su parte inferior, además de poseer algunos botones adicionales los cuales pueden ser configurados a gusto del usuario.
Es por su complejidad que he decidido mostrarles el proceso de desarmado y limpieza ya que existen algunos pasos que son importantes para que a la hora de volver las piezas a su lugar, todo funcione de manera correcta.


Detalles del tutorial

  • Tiempo aproximado de implementación: 20 min.
  • Dificultad: Fácil.

toolsImplementos necesarios:

  • Un Mouse
  • Destornilladores
  • Pinceles para limpiar
  • Paño
  • Algún liquido para limpiar. (En mi caso utilicéAlcohol Etílico Desnaturalizado, 95°)
Comenzaremos por tomar nuestro Mouse. Si han visto mis tutoriales lo más probable es que conozcan mi Mouse el cual se roba la imagen en casi el 90% de las fotografías que capturo para los tutoriales.
Debemos dar vuelta nuestro mouse y buscar los tornillos que posea de manera de poder retirarlos y poder limpiar el interior de nuestro mouse.
En el caso de este mouse, se observa que posee solamente 3 tornillos, los cuales han sido retirados con ayuda de un destornillador phillips.
Dependiendo de su mouse, les recomiendo sacar los conectores con cuidado de manera que la limpieza la puedan realizar de manera más fácil. En el caso de este mouse posee 3 conectores. El conector del medio proviene del cable USB, el conector de la derecha que proviene  de la placa verde que se observa en la fotografía, corresponde al Scroll y a los botones izquierdo y derecho, además de un botón central.  El otro conector, el de la izquierda proviene de la parte superior del mouse, la cual posee unos botones laterales y otros en su centro. Retiramos todos los conectores y retiramos los tornillos.
En esta imagen podemos ver el mouse desarmado casi en su totalidad.
Si observan la parte inferior que es semi transparente observarán que la zona donde se posiciona el Scroll tiene bastante suciedad.  Esto es común  ya que corresponde a una zona de alguna manera "abierta" del mouse por la cual la suciedad ingresa al interior.
Con la ayuda de una brocha o un pincel retiramos por completo la suciedad de las piezas.
Continuaremos por el modulo correspondiente al Scroll, una de las piezas que mayor acumulación de suciedad presenta, a no ser de que posean un mouse con bola.
En especial este paso es muy importante realizarlo con cuidado y recomiendo que dependiendo del mouse que posean, fijarse bien como es la disposición de la rueda y de los posibles resortes ya que uno siempre se descuida de la posición de ellos y al momento de armar el mouse quedan piezas fuera y el mouse no funciona de manera correcta. En el caso de este mouse se observan dos resortes, uno a cada lado de la rueda.
Acá se ve de manera nítida la pieza central del scroll (la cual está montada sobre las pinzas metálicas), la rueda, y los dos resortes. Ya que los hemos retirado, con la ayuda de un paño retiramos la suciedad de ellos.
La parte central del circuito del mouse casi no presenta suciedad por lo que lo que más podemos hacer es limpiar la suciedad que se haya depositado en la zona del óptico del mismo.
De igual manera en la zona inferior hacemos limpieza de la zona del óptico del mouse. Retiramos alguna pelusa o mugre y con un paño limpiamos.
A continuación tomamos la parte superior del Mouse y retiraremos todos los tornillos y piezas de manera de poder limpiar los orificios que puedan tener suciedad.
Acá observamos la parte superior completamente desarmada. Limpiamos todas las partes y volvemos a armar.
Ahora la parte que puede tornarse complicada a la hora de rearmar todas las piezas es la parte del scroll como bien les comentaba antes. Acá les mostramos como rearmar.
Recordarán que el mouse poseía dos resortes. Uno de ellos es para el click central de la rueda del scroll que permite que al apretar la rueda esta vuelva a subir. El otro resorte, el cual observan en la fotografía, permite que al girar la rueda esta tenga un sonido específico y se sepa que por cada "click" que se haga, se desplazan "x" cantidad de lineas.
Como verán acá tenemos una fotografía con algo más de detalle. Como se observa una de las patas se inserta por el orificio.
Una vez que hemos puesto el resorte podemos insertar la rueda. Si observan la parte interior de la rueda pueden observar que posee una textura específica como pequeños rectangulos los cuales permiten que el resorte suba y baje y genere ese sonido tan característico.
Comenzamos el armado final. Tomaremos la parte inferior y comenzaremos por poner el cable USB.
Instalamos la circuitería central del mouse, aseguramos con los tornillos correspondientes y conectamos el conector del cable USB.
Ponemos la circuitería que corresponde a la zona del scroll y los botones, aseguramos con el tornillo y conectamos el conector hacia la circuitería central.
Ponemos el scroll y ahora debemos instalar el segundo resorte el cual permite hacer click del botón central. Como ven la parte redonda va alrededor del eje de la rueda y las patitas se apoyan en la parte plástica que sobresale de la parte inferior del mouse.
Nos falta solamente conectar a la circuitería central la parte superior del mouse que posee algunos botones.
Tenemos todo conectado y completamente limpio!!!!
Volvemos a poner los tornillos y estamos OK.
Volvemos a conectar el mouse al PC y probamos todas sus funciones. Funciona perfecto!!!
La limpieza ha sido un éxito!!!

miércoles, 12 de junio de 2013

Cómo hacer paginas Web – Parte 1

¡Extraído de Como Lo Hago!
Damos oficialmente comienzo al primero de una serie de tutoriales en los cuales el equipo de CLH te enseñará como hacer páginas Web partiendo de los conceptos más básicos, como la organización y planificación previa, hasta otros puntos más avanzados para que así puedan compartir con el mundo lo que sea que quieran mostrar.

Para seguir estos tutoriales no será necesario contar con conocimiento previo, ya que iremos cubriendo las lecciones de la manera más detallada y básica posible. Asi que si siempre quisiste hacer tu propio sitio Web, bueno ahora es el momento, solo tienes que leer, aprender y aplicar, así de simple.
Más detalles sobre la primera lección después del salto.


Cómo hacer páginas Web - Parte 1

En esta lección cubriremos los siguientes puntos:
  1. Consejos útiles para crear un sitio web.
  2. Planificación antes de desarrollar.
  3. Preparando los implementos para el desarrollo.

Implementos necesarios

Como en esta lección haremos toda la fase previa al desarrollo en sí, solamente necesitaremos:
  • Lápiz y papel.
  • Opcional, alguna herramienta que nos permita diseñar esquemas. (Puede ser Microsoft Visio, que viene junto a las versiones de Office).
Es necesario mencionar, que si bien con lápiz y papel nos bastará para realizar todo lo que presentaremos hoy, existen una serie de herramientas computacionales que nos pueden asistir en el proceso. Si pueden conseguirlas bien, si no, no se preocupen. Vamos con lo primero: 1.- Definición de la idea. Este punto es bastante importante. Normalmente cuando uno quiere hacer un sitio Web comete el error de no definir de forma correcta el alcance en término de contenidos que este tendrá. ¿A que nos referimos?, a que usualmente queremos hacer páginas que tengan un poco de esto, y un poco de esto otro, y otro poco de lo de más alla. ¿Es eso malo?, no necesariamente, pero usualmente términa por convertirse en un sitio que profundiza muy poco en sus contenidos y puede terminar por llevar a los potenciales usuarios a buscar otras alternativas que les ofrezcan la información de mejor forma. Por eso es importante en un comienzo hacerse la gran pregunta. ¿De que tratará mi sitio Web?. Para tomar esta decisión podemos considerar un par de aspectos que influirán de gran forma en la dirección del sitio Web que haremos: a) ¿Mi sitio Web será personal sobre mis intereses o lo que hago, o deseo ofrecer algún tipo de producto o servicio a través de el? b) ¿Deseo presentar una temática que sea de interés general para muchos tipos de usuarios, o pretendo llegar solo a un segmento específico? c) ¿Existen muchos sitios del mismo tipo en Internet? d) ¿Que diferencia puede ofrecer para los usuarios mi sitio que otras páginas no ofrezcan? e) ¿Existirá interacción entre los visitantes del sitio conmigo y entre ellos? Tomando en consideración puntos de ese tipo (junto a otros) podremos ir especificando cada vez más el tipo de contenidos que presentaremos en nuestro Sitio Web. Hay que siempre recordar que si bien hoy en día todo existe en Internet, eso no debe ser razón para desmotivarnos con lo que queremos hacer. Lo más importante es definir bien lo que queremos presentar, el tema que queremos abordar y lo más importante definir muy bien nuestros alcances y limitaciones para que el proyecto no se nos vaya de las manos. Con nuestra idea inicial definida, la que muy probablemente vaya modificandose a medida que avanzamos, pasaremos a la segunda actividad: 2.- Definición de los contenidos. Para este punto utilizaremos por primera vez nuestros nunca bien ponderados: Lápiz y papel. Con la idea inicial lista, ahora es un buen momento para tomar una hoja y crear un esquema preliminar de los contenidos que habrán en nuestro sitio con respecto al tema principal. Si quieren, aquí pueden utilizar otro tipo de herramientas que sirvan para hacer mapas conceptuales, como Visio u otras similares. Ahora, ¿Como hacer esto?, hay muchas formas, una que recomendamos aquí es tomar la idea principal e insertarla al medio en una burbuja grande, y sacar burbujas chicas hacia los lados, arriba y abajo con temas que pueden salir de ahi. Por ejemplo, si nuestra idea del sitio fuera hacer un portal sobre Fútbol (si, somos peloteros), un esquema preliminar podría ser de la siguiente forma:
Click para ampliar
Haciendo esto ya tendremos una idea preliminar más o menos definida de todo lo que haremos para nuestro sitio. Una vez terminado este esquema, es positivo intentar ir ampliando cada globo a sub-secciones (en caso de que las alla) para así antes de empezar tener muy claro todo lo que necesitaremos hacer para completar el sitio.

A esta altura es importante recalcar que es mucho más relevante la calidad del sitio por sobre la cantidad. Es probable que cuando estemos planificando tengamos la intención de que nuestro sitio sea sumamente completo y tenga muchas secciones. Claro, es lo ideal, pero no siempre es posible. Por eso siempre sera preferible tener menos secciones pero que sean más completas.

3.- Establecer el tipo de contenido
Los sitios Webs ofrecen 2 tipos de contenidos: estáticos y dinámicos (normalmente una combinación de ambos). Los contenidos estáticos son aquellos que no cambian a menos que especificamente los modifiquemos y resubamos la página, pero cada usuario que entre a la página siempre verá lo mismo. Por otro lado tenemos los contenidos dinámicos, los cuales cambian mediante acciones realizadas bien por nosotros mismos o por los visitantes del sitio (para la gran mayoría de los casos se requiere uso de bases de datos). Además se puede decir que una página con contenido dinámico responderá con información distinta dependiendo de la acción que se ejecute.

Aquí es importante decidir que contenido lo ofreceremos de forma dinámica y cual será estático. Por ejemplo, si vamos a ofrecer la información de los equipos, que dificilmente cambie de un campeonato a otro, no se justifica que esta sea dinámica. Por otro lado, la sección de noticias debería ser dinámica, ya que significaría un tremendo trabajo estar actualizando a mano esa sección varias veces al día y subirla nuevamente.

Por eso, con el esquema preliminar de secciones (y opcionalmente subsecciones) listo, sería bueno empezar a ver que secciones ofreceran que tipo de contenido. Aquí el mejor consejo que se puede dar es usar criterio y sentido común. Claramente ofrecer solamente contenido dinámico parece mucho más profesional, pero no siempre es necesario, además que presenta un grado mayor de trabajo, por eso siempre es bueno ofrecerlo solo cuando sea necesario.

4.- Crear un mapa preliminar del sitio
Este paso es bastante similar al esquema que hicimos con anterioridad, pero tendrá una funcion levemente diferente. Un mapa de sitio Web nos permite organizar de forma correcta los contenidos (y sus respectivos archivos que lo expondrán) con respecto al sitio.

Lo más recomendable es poner en la parte superior (o en un costado si prefieren hacerlo horizontalmente) la página de inicio de nuestro sitio y a partir de ahi ir desagregando cada sección y sus correspondientes subsecciones. Esto nos permitirá ir pensando de que forma almacenaremos nuestros archivos al momento de subirlos al servidor, si utilizaremos directorios y subdirectorios, o todos los archivos en la carpeta raíz, si almacenaremos las imágenes en un solo directorio, etc, etc.

Recuerden, tal como se ha dicho antes, que esta planificación puede ir cambiando a medida que se haga el desarrollo, por lo que si bien es bueno dedicarle un tiempo a la planificación, no es necesario que sea 100% exacta y luego regirse invariablemente sobre eso.

5.- Busqueda de herramientas que nos asistan en el proceso
Para hacer un buen sitio Web, muchas veces no es necesario tener grandes conocimientos técnicos ni ser capaces de leer, entender o escribir cientos de lineas de código de lenguajes que no entendemos. Y no es necesario porque hoy en día, para el diseño Web, existen miles de herramientas que nos facilitan el proceso de diseño e implementación de un sitio, las cuales siempre es bueno aprovecharlas, ya que nos terminan ahorrando trabajo innecesario y muchas veces podemos lograr resultados bastante mejores con el uso de ellas.

Por eso, en el momento de planificar, es bueno hacer una lista de todo lo que ofreceremos en nuestro sitio Web: páginas HTML, imagenes, scripts, animaciones, libros de visitas, foros, funcionalidades, etc. y comenzar a investigar que herramientas nos pueden asistir en el proceso de creación e implementación. Si bien muchas herramientas buenas son pagadas, hay un gran número de alternativas gratuitas que nos sirven de igual manera, por lo que es bueno realizar una busqueda completa e informarse de cada una de ellas. Como mínimo siempre necesitaremos un Editor Web y un programa de edición de imagenes. Algunos ejemplos:
  • Editor Web: Adobe Dreamweaver.
  • Editores de Imagenes: Adobe Photoshop, Paint Shop Pro, ImageReady, Picasa, etc.
  • Animaciones Flash: Adobe Flash, Swishmax, etc.
  • Editores de logotipos: AAA Logo, The Logo Creator, Logo Design Studio, etc.
  • Foros: Phpbb, SMF, etc.
Además es bueno en este punto empezar a hacer una busqueda preliminar de alojamiento donde podamos subir finalmente nuestra página. Opciones hay variadas, desde las gratuitas hasta las pagadas, y la opción que elijamos terminará dependiendo de distintos factores como:
  • Espacio ofrecido para alojar nuestras páginas.
  • Funcionalidades extras (Soporte PHP, bases de datos, scripts, aplicaciones, etc.)
  • Costo.
  • Limite de transferencia mensual (Terminará por definir el limite de visitas que podrá tener nuestro sitio, ya que cada vez que un visitante entra, el servidor carga las páginas y utiliza una cuota de transferencia).
  • Políticas de contenido.
6.- Definir inversión y financiamiento Quizás este punto pueda no parecer muy relevante, pero llega a serlo en cierto punto. Siempre es bueno definir en un comienzo si pensamos invertir algo en la creación de este sitio Web. Ya sea por concepto de pago de alojamiento, licencias de programas o la compra de un dominio (direccion Web), es sabio medir en un principio el nivel de inversión que pretendemos hacer, ya que eso definirá en muchos casos el alcance que el sitio terminará teniendo. Un sitio Web puede presentar mucha más credibilidad si se encuentra en un dominio propio (ejemplo: mipagina.cl) que en un alojamiento gratis (ejemplo: http://www.alojamientogratis.com/sitios/sudamerica/chile/santiago/mipagina), pero tal como indicamos, eso dependerá del alcance que nosotros queramos darle al sitio y si bien es importante, no es completamente necesario. Tanto como la inversión, es bueno definir formas de financiar el sitio. Una de las formas más utilizadas hoy en día es el uso de publicidad en el sitio, la cual en algunos casos puede llegar a financiar por completo un sitio e incluso otorgar un retorno extra que nunca esta demás. Ahí quedara en criterio de cada uno cuanta publicidad meter en el sitio para que esta no afecte el contenido que ofrecemos, ya que es una verdad conocida que un exceso de banners o pop-ups publicitarios puede llegar a ser bastante molesto para los visitantes. Otras formas de inversión puede ir de la mano con alguno de los servicios que ofrezcamos, lo que en realidad puede convertirse en un arma de doble filo, ya que muchos usuarios preferirán dirigirse a otro sitio que ofrezca el mismo servicio de forma gratuita. Por eso es sabio analizar y planificar esto con tiempo y con mucha altura de miras, para poder encontrar el equilibrio ideal entre el financiamiento y la calidad de los contenidos de nuestro sitio.
 
7.- Pre-diseñando el sitio Y bueno, luego de realizar una planificación, que si bien es básica cubre los puntos de mayor relevancia, podemos empezar a "meter mano" en lo que será nuestro sitio Web. Para eso siempre es bueno partir con un pre-diseño del "look" que tendra nuestro sitio. ¿Cómo partir?, fácil. Lo primero es tomar la hoja y el lápiz, si quieren otra hoja porque la primera ya debe estar algo llena, y realizar un dibujo previo de como se verá nuestra página principal. De esta forma podemos definir un pre-diseño y ver de forma preliminar como distribuiremos los contenidos de nuestro sitio. La mejor forma dependerá de cada uno, ya que si hay algo en lo que tenemos que utilizar nuestros gustos es en el diseño que tendrá la página. Lo importante es siempre recordar una regla de oro: "La página debe ser agradable a nuestra vista, pero también a la de los usuarios". ¿Por qué?, porque muchas veces a nosotros nos parece bien una forma o distribución, pero no siempre es lo más agradable para los usuarios. Hay que recordar que muchas veces los usuarios navegan muy poco tiempo antes de pasar a otra página, por lo que si la distribución o forma de la página principal es molesta o parece complicada, eso hará que se vayan más rápido, lo cual esta lejos de ser lo ideal. Por eso es bueno tomarse un tiempo en preparar esto y en lo posible hacer unos 2 o 3 bocetos para finalmente ir sacando las mejores ideas de cada uno. Si bien hay mucha libertad para pre-diseñar en papel, hay que recordar algunas cosas básicas que no pueden faltar en los bocetos, como el logotipo y un menú de navegación, lo que se puede alternar con una barra de contenidos. Para esto, es bueno tomar el esquema que hicimos preliminarmente sobre los tópicos que trataremos en el sitio para ver cuales podemos ordenar en nuestra página y en que orden. A los usuarios nunca les agradará tener que bajar hasta el fondo de la página para ver los contenidos principales del sitio, por lo que es bueno tenerlo en consideración. Como siempre, vale la pena recordar que estos son bocetos previos, y que en el momento del desarrollo esto puede variar, así que no se desanimen si no pueden llegar a una solución concreta en un principio. Y luego de terminar estos pasos, que pueden parecer tediosos pero son necesarios, estaríamos listos para empezar a dar los primeros pasos en el desarrollo de nuestro Sitio Web, lo cual es una temática que dejaremos para la próxima parte de nuestro tutorial. 
 

Staff CLH

SQL Sintaxis

Sintaxis

Un sistema de base de datos suele contener varias bases de datos.

Cada base de datos suele contener varias tablas.

Las tablas almacenan los datos organizados por filas.

Cada fila contiene varios campos.

Cada campo tiene una serie de propiedades, como por ejemplo, el nombre del campo, su longitud, tipo de dato que se va a almacenar, etc.

Las sentencias SQL no son sensibles a mayúsculas y minúsculas, es decir, 'SELECT' y 'select' son dos palabras iguales para SQL.

Algunos sistemas de bases de datos necesitan un punto y coma después de cada sentencia SQL para ejecutarse correctamente


CREATE DATATABASE mibasedeatos;

Este punto y coma también puede servir para separar una sentencia SQL de otra sentencia SQL en la misma línea.


CREATE DATATABASE mibasedeatos; CREATE TABLE mitabla1;

Las sentencias SQL se pueden agrupar por funcionalidades:
1.- Lenguaje de definición de datos (DDL).
DDL está compuesto por sentencias para la creación (CREATE), modificación (ALTER) y borrado (DROP) de los componentes principales de una base de datos:
  • base de datos (DATABASE)
  • tablas (TABLE)
  • vistas (VIEW)
  • índices (INDEX)
  • procedimientos almacenados (PROCEDURE)
  • disparadores (TRIGGER).
2.- Lenguaje de manipulación de datos (DML).
DML está compuesto por sentencias que sirven para :
  • consultar (SELECT)
  • insertar (INSERT)
  • modificar (UPDATE)
  • borrar (DELETE)
3.- Lenguaje de control de datos (DCL).
DCL está compuesto por sentencias SQL para controlar las funciones de administración :
  • Confirmar la operacion (COMMIT)
  • Retroceder la operacion (ROLLBACK)
  • Dar permisos (GRANT)
  • Quitar permisos (REVOKE)

Guía: Cómo instalar Windows 7 desde una USB

Escrito por Alain Stephan



Existen algunos métodos para hacer ésto, la mayoría de ellos implican la ejecución de comandos y la partición del disco de una unidad USB, etc,  que es algo más difícil para las personas poco técnicas. El uso de este método es muy simple y puedes realizar fácilmente las cosas.
Vamos a utilizar “Windows 7 USB/DVD download tool” para crear una memoria USB de arranque con Windows 7.

Paso 1:
Descargar Windows 7 USB/DVD Download Tool de forma gratuita desde Microsoft.
Paso 2:
Instalar “Windows 7 USB/DVD Download Tool” en tu sistema.
Paso 3:
Ve a la siguiente ruta: Inicio> Programas> Windows 7 USB DVD Download Tool y abre la aplicación.
win1
Paso 4:
Ahora tendrás que hacer clic en Examinar, seleccionar la imagen ISO de Windows 7 y hacer clic en siguiente.
win2
Paso 5:
Recibirás dos opciones para elegir ya sea USB o DVD, en este caso, selecciona USB.
win4
Paso 6:
Una vez que selecciones USB, haz clic en Iniciar copia (Begin Copying).
Paso 7:
Una vez que comience primero se formateará la unidad USB y se proseguirá a copiar los archivos de instalación en la unidad.
win6
Verás la pantalla de arriba una vez que esté completa. Entonces, cuando conectes tu USB deberías ver una pantalla como la siguiente.

Si este método falla, entonces puedes probar el siguiente método de creación manual.
Paso 1:
Abra el símbolo del sistema desde Inicio>Programas>Accesorios>Símbolo del Sistema (en Windows 7/Vista abrirlo como administrador) y escribe Diskpart.
12
Paso 2:
A continuación, escribe list disk.
13
En nuestro caso el dispositivo USB es Disk 4
Paso 3:
Ahora escribe select disk 4 (Selecciona el número donde se encuentre tu unidad USB )
14
Paso 4:
Ahora tenemos que limpiar la unidad para eso escribe el comando clean y pulsa Enter.
15
Paso 5:
Ahora tenemos que configurar el USB como partición primaria, para crearla escribe create partition primary.
16
Paso 6:
Ahora escribe active para activar la partición.
17
Paso 7:
Ahora que tenemos que convertir la partición en la USB a FAT32 por lo que tenemos que escribir el comando:
format fs = fat32 quick, y pulsa Intro.
18
Paso 8:
Por último escribe assign para asignar una letra a la unidad USB.
19
Ahora puedes comenzar a copiar los archivos de instalación de Windows 7 a la USB. Una vez que se complete la instalación de Windows 7 la unidad USB estará lista.

martes, 11 de junio de 2013

SQL Intro

Introducción

El SQL es un lenguaje estándar de programación para el acceso a bases de datos.
El lenguaje SQL se utiliza para acceder y manipular datos en cualquier base de datos del mercado, como por ejemplo, para las bases de datos MySQL, Oracle, DB2, SQL Server, Access.
El SQL es un lenguaje estructurado y un estándar ANSI para el acceso y manipulación de los datos de cualquier base de datos.
El SQL se compone de sentencias SQL, cada una con una utilidad diferente, como por ejemplo:
  • Creación de una base de datos (CREATE DATABASE)
  • Creación de una tabla (CREATE TABLE)
  • Creación de una vista (CREATE VIEW)
  • Creación de un índice de una tabla (CREATE INDEX)
  • Creación de procedimientos almacenados (CREATE PROCEDURE)
  • Creación de disparadores (CREATE TRIGGER)
  • Consultar los datos almacenados en una tabla (SELECT)
  • Insertar datos en una tabla (INSERT)
  • Modificar datos ya existentes en una tabla (UPDATE)
  • Borrar datos almacenados en una tabla (DELETE)
  • Dar permiso de acceso a los datos de una tabla (GRANT)
  • Eliminar permisos de acceso a datos de una tabla (REVOKE)
  • Finalizar la transacción de una sentencia SQL (COMMIT)
  • Retroceder la transacción de una sentencia SQL (ROLLBACK).

Cómo saber si mi Windows es de 32 o 64 bits

Muchos programas para Windows son desarrollados para computadores con arquitectura específica de 32 o 64 bits (x86 o x64 respectivamente). Eso causa muchas dudas a los usuarios a la hora de descargar un programa, pues muchos programas están desarrollados para correr en determinada arquitectura, de 32-bits o 64-bits.

¿32 bits o 64 bits?


Es posible correr una versión de Windows de 32 bits en un computador que soporte arquitectura de 64-bits, pero no al revés, es decir, no es posible instalar Windows de 64 bits en un computador que soporte sólo arquitectura de 32 bits.

Si tienes duda sobre si el sistema Windows que estás utilizando es de 32 o 64 bits, revisa lo siguiente:
En Windows XP sólo tienes que hacer click con el boton derecho en el ícono “Mi PC” y seleccionar “Propiedades”. Si en el recuadro no hace mención a 64 bits (x64) estonces es Windows de 32 bits.

En Windows 7 o Windows Vista debes hacer click con el botón derecho en el ícono “Equipo” y seleccionar “Propiedades”.

Estas acciones mostrarán ventanas iguales a la siguiente imagen.

domingo, 2 de junio de 2013

SQL

El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas. Una de sus características es el manejo del álgebra y el cálculo relacional que permiten efectuar consultas con el fin de recuperar de forma sencilla información de interés de bases de datos, así como hacer cambios en ella.

Orígenes y evolución

Los orígenes del SQL están 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 cálculo de predicados. Basándose en estas ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English Query Language) que más tarde sería ampliamente implementado por el sistema de gestión de bases de datos (SGBD) experimental System R, desarrollado en 1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un programa comercial.
El SEQUEL terminaría siendo el predecesor de SQL, siendo este una versión evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los diversos sistemas de gestión de bases de datos relacionales surgidos en los años siguientes y es por fin estandarizado en 1986 por el ANSI, dando lugar a la primera versión estándar de este lenguaje, el "SQL-86" o "SQL1". Al año siguiente este estándar es también adoptado por la ISO.
Sin embargo, este primer estándar no cubre todas las necesidades de los desarrolladores e incluye funcionalidades de definición de almacenamiento que se consideró suprimirlas. Así que, en 1992, se lanzó un nuevo estándar ampliado y revisado del SQL llamado "SQL-92" o "SQL2".
En la actualidad el SQL es el estándar de facto de la inmensa mayoría de los SGBD comerciales. Y, aunque la diversidad de añadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia, el soporte al estándar SQL-92 es general y muy amplio.
El ANSI SQL sufrió varias revisiones y agregados a lo largo del tiempo:
Año Nombre Alias Comentarios
1986 SQL-86 SQL-87 Primera publicación hecha por ANSI. Confirmada por ISO en 1987.
1989 SQL-89
Revisión menor.
1992 SQL-92 SQL2 Revisión mayor.
1999 SQL:1999 SQL2000 Se agregaron expresiones regulares, consultas recursivas (para relaciones jerárquicas), triggers y algunas características orientadas a objetos.
2003 SQL:2003 Introduce algunas características de XML, cambios en las funciones, estandarización del objeto sequence y de las columnas autonumericas. (Ver Eisenberg et al.: SQL:2003 Has Been Published.)
2006 SQL:2006 ISO/IEC 9075-14:2006 Define las maneras en las cuales el SQL se puede utilizar conjuntamente con XML. Define maneras de importar y guardar datos XML en una base de datos SQL, manipulándolos dentro de la base de datos y publicando el XML y los datos SQL convencionales en forma XML. Además, proporciona facilidades que permiten a las aplicaciones integrar dentro de su código SQL el uso de XQuery, lenguaje de consulta XML publicado por el W3C (World Wide Web Consortium) para acceso concurrente a datos ordinarios SQL y documentos XML.
2008 SQL:2008 Permite el uso de la cláusula ORDER BY fuera de las definiciones de los cursores. Incluye los disparadores del tipo INSTEAD OF. Añade la sentencia TRUNCATE.

Características generales del SQL

El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales y permite así gran variedad de operaciones.
Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros —y no a registros individuales— permite una alta productividad en codificación y la orientación a objetos. De esta forma, una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros. SQL también tiene las siguientes características:
  • Lenguaje de definición de datos: El LDD de SQL proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones de los esquemas de relación.
  • Lenguaje interactivo de manipulación de datos: El LMD de SQL incluye lenguajes de consultas basado tanto en álgebra relacional como en cálculo 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.
  • Definición 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 transacción.
  • SQL incorporado y dinámico: Esto quiere decir que se pueden incorporar instrucciones de SQL en lenguajes de programación como: C++, C, Java, Cobol, Pascal y Fortran.
  • Autorización: El LDD incluye comandos para especificar los derechos de acceso a las relaciones y a las vistas.

Tipos de Datos

Los tipos datos básicos de SQL son:
  • Date: una fecha de calendario que contiene el año (de cuatro cifras), el mes y el día.
  • Time: La hora del día en horas minutos segundos (el valor predeterminado es 0).
  • Timestamp: la combinación de Date y Time.

Optimización

Como ya se dijo antes, y suele ser común en los lenguajes de acceso a bases de datos de alto nivel, el SQL es un lenguaje declarativo. O sea, que especifica qué es lo que se quiere y no cómo conseguirlo, por lo que una sentencia no establece explícitamente un orden de ejecución.
El orden de ejecución interno de una sentencia puede afectar gravemente a la eficiencia del SGBD, por lo que se hace necesario que éste lleve a cabo una optimización antes de su ejecución. Muchas veces, el uso de índices acelera una instrucción de consulta, pero ralentiza la actualización de los datos. Dependiendo del uso de la aplicación, se priorizará el acceso indexado o una rápida actualización de la información. La optimización difiere sensiblemente en cada motor de base de datos y depende de muchos factores.
Existe una ampliación de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) que permite el acceso a bases de datos difusas, usando la lógica difusa. Este lenguaje ha sido implementado a nivel experimental y está evolucionando rápidamente.

Lenguaje de definición de datos (DDL)

El lenguaje de definición de datos (en inglés Data Definition Language, o DDL), es el que se encarga de la modificación 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 básicas: CREATE, ALTER, DROP y TRUNCATE.

ALTER | MODIFICAR

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 | ELIMINAR

Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, índice, trigger, función, 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 | BORRAR TABLA

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 más rápido, especialmente si la tabla es muy grande. La desventaja es que TRUNCATE sólo sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la cláusula WHERE. Si bien, en un principio, esta sentencia parecería ser DML (Lenguaje de Manipulación 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 transacción.

Ejemplo

 TRUNCATE TABLE 'NOMBRE_TABLA';

Lenguaje de manipulación de datos DML(Data Manipulation Language)

Definición

Un lenguaje de manipulación de datos (Data Manipulation Language, o DML en inglés) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado.
El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional.

INSERT | INSERTAR

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

Forma básica

 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 omisión. Los valores especificados (o implícitos) por la sentencia INSERT deberán 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 'número' son las únicas columnas de la tabla 'agenda_telefonica'):
 INSERT INTO agenda_telefonica 
VALUES ('Jhonny Aguiar', 080473968);

Formas avanzadas

Una característica de SQL (desde SQL-92) es el uso de constructores de filas para insertar múltiples filas a la vez, con una sola sentencia SQL:
INSERT INTO ''tabla'' (''columna1'', [''columna2,... '']) 
VALUES (''valor1a'', [''valor1b,...'']), 
(''value2a'', [''value2b,...'']),...;
Esta característica es soportada por DB2, PostgreSQL (desde la versión 8.2), MySQL, y H2.
Ejemplo (asumiendo que 'nombre' y 'número' son las únicas columnas en la tabla 'agenda_telefonica'):
INSERT INTO agenda_telefonica VALUES ('Roberto Fernández', '4886850'), ('Alejandro Sosa', '4556550');
Que podía haber sido realizado por las sentencias
INSERT INTO agenda_telefonica VALUES ('Roberto Fernández', '4886850');
INSERT INTO agenda_telefonica VALUES ('Alejandro Sosa', '4556550');
Notar que las sentencias separadas pueden tener semántica diferente (especialmente con respecto a los triggers), y puede tener diferente rendimiento que la sentencia de inserción múltiple.
Para insertar varias filas en MS SQL puede utilizar esa construcción:
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 válida de acuerdo con el estándar SQL (SQL: 2003), debido a la cláusula 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 implementación conforme al estándar de esta lógica 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 también 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 ningún procesamiento intermedio en la aplicación cliente. Un SUBSELECT se utiliza en lugar de la cláusula VALUES. El SUBSELECT puede contener JOIN, llamadas a funciones, y puede incluso consultar en la misma TABLA los datos que se inserta. Lógicamente, el SELECT se evalúa antes que la operación INSERT esté iniciada. Un ejemplo se da a continuación.
INSERT INTO phone_book2
 
SELECT *
FROM phone_book
WHERE name IN ('John Doe', 'Peter Doe')
Una variación 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.

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 más registros existentes en una tabla.

Forma básica

SQL="DELETE FROM ''tabla'' WHERE ''columna1'' = ''valor1''"

Ejemplo

DELETE FROM My_table WHERE field2 = 'N';

Recuperación de clave

Los diseñadores 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 automáticamente la base de datos, generando una clave primaria de una sentencia SQL INSERT para su uso en otras sentencias SQL. La mayoría de los sistemas no permiten sentencias SQL INSERT para retornar fila de datos. Por lo tanto, se hace necesario aplicar una solución en tales escenarios.
Implementaciones comunes incluyen:
  • Utilizando un procedimiento almacenado específico de base de datos que genera la clave suplente, realice la operación INSERT, y finalmente devuelve la clave generada.
  • Utilizando una sentencia SELECT específica de base de datos, sobre una tabla temporal que contiene la última fila insertada. DB2 implementa esta característica 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 después de la sentencia INSERT con función específica de base de datos, que devuelve la clave primaria generada por el registro insertado más recientemente.
  • Utilizando una combinación ú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 función de PHP mysql_insert_id() de MySQL después de la sentencia INSERT.
  • Utilizando un INSERT con la cláusula RETURNING para Oracle, que sólo se puede utilizar dentro de un PL/SQL bloque, en el caso de PostgreSQL se puede usar también 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 instrucción:
SET NoCount ON;
INSERT INTO phone_book VALUES ( 'Cristobal Jeldrez','0426.817.10.30' );
SELECT @@IDENTITY AS ID

Disparadores

Los disparadores, también conocidos como desencadenantes (triggers en inglés) son definidos sobre la tabla en la que opera la sentencia INSERT, los desencadenantes son evaluados en el contexto de la operación. Desencadenantes BEFORE INSERT permiten la modificación de los valores que se insertará en la tabla. Desencadenantes AFTER INSERT no puede modificar los datos de ahora en adelante, pero se puede utilizar para iniciar acciones en otras tablas, por ejemplo para aplicar mecanismos de auditoría.

Sistemas de gestión de base de datos

Los sistemas de gestión de base de datos con soporte SQL más utilizados son, por orden alfabético:

Cómo instalar Linux Mint 14 Nadia paso a paso

Si sos un recién iniciado en Linux probablemente te hayan recomendado probar Linux Mint: una distribución muy sencilla y fácil de usar que, además, tiene un aspecto visual amigable y relativamente familiar para el que viene de Windows.

En esta nueva entrega te explicamos cómo instalar Linux Mint 14 Nadia paso a paso... sí, para dummies

Pre-instalación

Antes de poder instalar Linux Mint 14 hay que realizar 3 pasos:
  1. Descargar la imagen ISO de Linux Mint.
  2. Quemar la imagen ISO a un CD/DVD o un pendrive.
  3. Configurar el BIOS para que arranque desde el CD/DVD o desde el pendrive, según lo que hayas elegido en el paso anterior. 

Instalación paso a paso

Aparecerá GRUB 2, el gestor de arranque de Linux Mint. Elegí la opción Start Linux Mint.



Una vez que arranque Linux Mint, hacé clic en el ícono Install Linux Mint:



Aparecerá el asistente de instalación. Lo primero que hay que elegir es el idioma de instalación. Seleccioná Español.



Confirmá que cumplís con los requisitos mínimos de instalación haciendo clic en Continuar. Cabe destacar que el único requisito indispensable es contar con el espacio en disco necesario. Tener una conexión a Internet es recomendable pero no un requisito excluyente. ya que vas a poder saltear la descarga de paquetes para cuando te venga más cómodo.



Esta es la parte más difícil: el particionado del disco. Aquí existen 2 caminos a seguir:

a) eliminar el sistema operativo anterior e instalar. Esta la opción más fácil: borrás todo e instalás por encima. No es necesario calentarse la cabeza con particionar el disco ni nada por el estilo.

b) particionar el disco en forma manual.



Si seleccionás la segunda opción, empezará el asistente para el particionado del disco.

Este paso es opcional. Únicamente, se recomienda para usuarios intermedios o avanzados que saben lo que esto implica. Cualquier paso incorrecto puede implicar la pérdida de datos en el disco. Si no te querés arriesgar mejor no lo hagas.



En términos generales, mi recomendación es dividir el disco en 3 particiones:

1.- La partición root. Donde estará se instalará el sistema. Hay que montarla en /. Recomiendo el formato de archivos EXT4. El tamaño mínimo debe ser de al menos 5 gigas (2gb para el sistema base y el resto para las aplicaciones que vas a instalar en el futuro). Repito, éste es el tamaño mínimo, no el ideal (que puede andar en los 10/15 gb).

2.- La partición home. Donde estarán todos tus documentos. Hay que montarla en /home. Recomiendo el formato de archivos EXT4. El tamaño es una elección netamente personal y depende exclusivamente de cuánto lo vas a usar.

3.- La partición swap. Espacio reservado en el disco para la memoria swap (cuando se te acaba la memoria RAM el sistema utiliza este espacio en disco para "expandirla"). Esta partición no puede ser omitida y debe existir sí o sí. El tamaño recomendado es de: a) para particiones de 1gb o menos, la swap debe ser el doble de tu memoria RAM; b) para particiones de 2gb o más, la swap debe tener al menos 1gb.



Cuando esté todo listo hacé clic en Aceptar y el sistema te va a preguntar si estás de acuerdo con los cambios.

Cuando esté todo listo, hacé clic en Instalar ahora. Lo primero será elegir la zona horaria:



Lo siguiente que configuraremos será el teclado. No te olvides de probar el teclado que hayas elegido (especialmente, las teclas complicadas como la ñ, ç y las combinaciones de teclas Altgr + alguna tecla). Si no funciona correctamente, probá otras distribuciones de teclado.



Después de configurar el teclado viene la configuración del usuario.

Simplemente hay introducir un nombre de usuario y contraseña, un nombre para la compu y determinar si es necesario solicitar la contraseña para iniciar sesión. Desde aquí también es posible cifrar la carpeta personal, cosa que no recomiendo (debido a que puede ralentizar el sistema) a menos que estés demasiado preocupado por la seguridad de los documentos almacenados en esa máquina.



Finalmente, comenzará la copia de archivos y se mostrarán imágenes que muestran algunas de las bondades de Linux Mint.



Una vez que esté todo listo, podés reiniciar o seguir probando el sistema.



Finalmente, reinicia y sacá el disco/pendrive.