domingo, noviembre 16, 2008

Procedimientos almacenados (stored procedures) en MySQL (2)

Para ello crearemos primero el esqueleto del cuerpo en un script de SQL que llamaremos spVenta.sql, al procedimiento almacenado que crearemos en éste lo llamaremos vendeProducto. De tal forma que nuestro script quedará así:

USE prueba;

DELIMITER //

CREATE PROCEDURE vendeProducto

BEGIN

END

//

Expliquemos de qué se trata, la primera línea contiene la sentencia USE prueba; lo que le indica a MySQL que utilice la base de datos llamada prueba, notarán que es la única línea que es cerrada con un punto y coma, éste signo de puntuación (;) es utilizado de manera predeterminada por MySQL para separar sentencias o bloques de código.

La segunda línea DELIMITER // le indica a MySQL que substituya al punto y coma (;) como separador de código y en su lugar utilice la doble diagonal (//), se pueden utilizar distintos delimitadores, por ejemplo, el producto phpMyAdmin utiliza en su lugar un doble signo de pesos ($$) en lugar de la doble diagonal; el por qué hemos substituido el punto y coma por una doble diagonal se debe a que dentro de los procedimientos almacenados las instrucciones se separan precisamente con punto y coma, lo que ocasionaría, de no cambiar el delimitador, que el motor de base de datos se confunda y envíe error al tratar de crear un procedimiento almacenado al no saber donde comienza y dónde termina éste.

La tercera línea CREATE PROCEDURE vendeProducto es la que en realidad inicia el cuerpo del procedimiento almacenado, siendo vendeProducto el nombre del mismo, posteriormente las siguientes dos líneas BEGIN y END contendrán el código del procedimiento y la última línea con la doble diagonal indicará al motor de base de datos el final del bloque de código que esperamos que procese.

En este momento deberemos cargar los scripts schema.sql y spVenta.sql, para ello iniciaremos una sesión desde la consola de MySQL y ejecutaremos las siguientes instrucciones una vez que hayamos ingresado.

Source schema.sql;

Source spVenta.sql;

sábado, noviembre 15, 2008

Procedimientos almacenados (stored procedures) en MySQL (1)

De acuerdo a la Wikipedia, un procedimiento almacenado es:

Un procedimiento almacenado (stored procedure) es un programa (o procedimiento) el cual es almacenado físicamente en una base de datos. Generalmente son escritos en un lenguaje de bases de datos propietario como PL/SQL para Oracle database o PL/PgSQL para PostgreSQL. La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y solo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.

Sus ventajas son varias, entre las que destacamos que permiten ejecutar sentencias de SQL una tras otra, ya que algunas veces los programas de cómputo requieren antes de la ejecución (inserción, borrado ó modificación) de un query determinar o desencadenar otra serie de condiciones, piensa por ejemplo, que tienes una tabla donde manejas el inventario de productos y otra donde manejas las ventas, si pretendes registrar la venta de un producto tendrías que descontarlo del inventario, para tal efecto desde la aplicación (sin procedimientos almacenados) ejecutarías un par de queries, el primero para registrar la venta y el segundo para descontar en el inventario las unidades salientes, aunque en el mundo real es mucho más complejo ya que primero tendrías que determinar si existen unidades de ese producto, si hay descuentos aplicables, etc, etc, etc. Toda esa parte se puede encapsular en un procedimiento almacenado.

Para entender cómo funcionan primero tendremos que crear una base y sus respectivas tablas a fin de seguir los conceptos con ejemplos, para ello crearemos un script de SQL que llamaremos schema.sql

 

Delimiter ;

Create database prueba;

 

Create table inventario(

Id_producto int,

Producto varchar(255),

Precio double,

piezas int,

Primary key(id_producto)

);

 

Create table movimiento(

Fecha_venta datetime,

id_producto int,

cantidad_vendida int

);

Insert into inventario values (1, 'Paquete cervezas 6 pzas.', 10.50, 5);

Insert into inventario values (2, 'Refresco de lata', 1.50, 10);

Insert into inventario values (1, 'Agua embotellada 1 litro', 1.30, 3);

 

Supongamos que tenemos que crear un stored procedure que por cada producto vendido registre la venta efectuada en la tabla movimiento y también descuente la cantidad existente en almacén de dicho producto utilizando el campo piezas de la tabla inventario.

viernes, noviembre 14, 2008

Fotos, porristas de los Raptors de Toronot

Por cortesía del amigo Kravitz que se fué a dar el rol a Toronto, la ciudad de los Jochos más ricos del planeta, y visitó la casa de los Raptors. Y desde allá nos trajo éstas fotos de las porristas, que por cierto me parecieron más guapas que las de los Halcones Marinos de Seattle de la NFL.






jueves, noviembre 13, 2008

Por andar queriendose poner bella

Una foto publicada en el portal del Universal muestra a una Koreana deformada por el uso de aceite inyectado en la cara para ponerse bella.



lunes, noviembre 10, 2008

La consola más utilizada en México

De acuerdo a la encuesta en línea del diario El Universal, al momento de escribir este post, Xbox es la consola de videojuegos más utilizada seguida de PlayStation, no se hace diferencia entre generación de consolas con excepción del Wii (lo cual me parece un error) lo curioso es que las consolas de Nintendo están en último lugar dividiendo los usuarios caseros y los móviles. Un servidor tenía la idea de que PlayStation era la consola dominante en México, esta encuesta no es del todo fiable ya que para comenzar la muestra es relativamente pequeña (520 participantes), además de estar segmentada a visitantes de dicho portal y finalmente lo comentado anteriormente con respecto a la falta de especificación de generaciones de consolas (Xbox, Xbox 360, PS2 y PS3), aunque sí muestra que por lo menos los usuarios de Xbox han crecido con respecto a la generación anterior de consolas.

Película, Recomendación en Bluray - Héroes temporada 2



La historia de los adolescentes que han evolucionado genéticamente para tener otras habilidades superiores a las del ser humano continúa, vuelve Sylar en formato de alta definición.

La primera temporada de ésta serie salió únicamente en el difunto HD DVD (ahora ya sacaron la versión en Bluray de ésta misma primera temporada) y la verdad su calidad era muy buena, su único defecto (para los latinos) es que no contaba con subtítulos en español, aún así el arte del paquete era verdaderamente muy bueno y la calidad de sonido y video eran inmejorables.

Ésta segunda temporada en Bluray conserva la calidad del video en alta definición grabado en formato widescreen (16:9) que encaja perfectamente en las televisiones de éste formato. El audio es DTS-HD 5.1, lo que proporciona la atmósfera adecuada para disfrutar de éste título de lo mejor posible. El códec de video es el VC1, proporcionando una suprema calidad de video a 1080p que es lo mejor al momento.

El defecto, en México, es el precio, costando poco más de $600 pesos mexicanos, por lo que la verdad si recomiendo que si deseas poseer éste item lo adquieras mejor en línea en páginas como Amazon por $39.95 dólares.

En cuestión de la historia, al igual que la mayoría de las series de televisión en la temporada 2008, se vió afectada por la huelga de escritores ocurrida en los Estados Unidos, por lo que el final carece un tanto de emoción al haber forzado un tanto el cierre que originalmente estaba planeado para más capítulos. Aún así, es entretenido y se centra principalmente en la historia de lo ocurrido a Peter después de la batalla final de la temporada 1 y la readaptación de Claire en una nueva Ciudad donde se esconden de "La compañía".

En lo personal, disfruto mucho de las series grabadas en HD pues creo que guardan la mejor relación costo/beneficio por las horas de video que brindan, además que su formato de grabación de video widescreen abarca por completo la pantalla lo que hace que no desperdicies un solo milimetro de ésta. Totalmente recomendado.

viernes, noviembre 07, 2008

jueves, noviembre 06, 2008

Holograma tipo Star Wars

En el noticiario de la CNN se transmitió el primer holograma televisivo al estilo de Star Wars, el diálogo entre Yessica Yellin y el comentarista Wolf es difundido ahora a través de la red para la sorpresa de todos.






Rescatemos algunos de los comentarios que los usuarios de YouTubee han escrito al respecto:

Help me, Obi-Wolf. You're my only hope!

35 HD cameras to do the job that 1 HD camera and a split screen could do better. Now that's what I call progress CNN.
(35 cámaras de alta definición para hacer el trabajo que una cámara de alta definición y una pantalla dividida podría hacer mejor. Eso es lo que llamo progreso CNN)

Ahora bien, la verdad es que no creo que sea un holograma sino un efecto visual, lo cual me parece que sería no solo un timo al televidente sino también algo muy pend... ya que creo que lo interesante de un holograma es verlo en persona (para verlo realmente en 3D), para verlo por TV prefiero una señal de cámara tradicional.

Película, recomendación en DVD - Dead Silence (El títere)



Dead Silence (título renombrado en México por "El títere") es una película de terror desarrollada en la época actual, entra en el terreno de lo sobre natural pero no por eso la podríamos calificar como un churro, sino al contrario es de esas pocas películas que logran utilizar éstos elementos del más allá sin que termines aburrido, desesperado o simplemente creyendo que es exagerada.

De principio a fin te lleva cambiando de teoría al respecto de la trama, situación que la hace más entretenida; la trama se lleva a buen ritmo por lo que tienes momentos de aburrimiento. La acción es casi inmediata así que no te dará tiempo ni de calentar motores.

Aunque ésta película tiene casi año y medio, es una buena recomendación para pasar una noche de video en casa.

Una hora y media de terror, recomendada para los que gustaron de Saw ("El juego macabro" en México) ya que es de los mismos creadores.

miércoles, noviembre 05, 2008

QEPD




Juan Camilo Mouriño, Secretario de Gobernación

Película, recomendación en Bluray - The Incredible Hulk



Ésta película me la perdí en el verano en el cine, la verdad decidí no verla, tras la versión que protagonizara Eric Bana hace unos años y que fue una muy pobre producción en cuanto guión, actuación y efectos ésta nueva versión con Eduard Norton no generaba la mínima curiosidad.

Tras la recomendación de Erick decidí darle una oportunidad y verla en alta definición para apreciar esa diferencia en cuanto a efectos que me habían comentado con anterioridad.

En cuanto al argumento, la verdad es que éste es mejor en ésta película que en la anterior, aunque creo que sí tarda un poco en salir Abomination (el malo de la película). La película omite explicar nuevamente cómo fué que Bruce Banner se convirtió en The Hulk y se concentra en su búsqueda por la cura a éste mal o al menos el autocontrol para evitar causar daños. Tim Roth es el actor que interpreta al malo y al igual que en otras actuaciones (como Tade en Planet of the Apes) hace un buen trabajo al presentarse como un soldado un tanto transtornado por el gusto de combatir, que en su afan de convertirse en el super soldado da vida a Abomination. Al final, aparece Robert Downey Jr. en su papel de Ironman dejando la puerta abierta para una secuela en la que sean coestelares ambas estrellas de Marvel, de hecho durante toda la película se utiliza el armamento fabricado por la empresa de Tony Starks; la única duda argumental para éste proyecto futuro es si la película tratará sobre la relación amistosa entre The Hulk y Ironman o más bien se irá de lleno sobre el futuro (ya escrito en Comics) en cuanto a la pelea entre ambos héroes, mi opinión es que sería primero una batalla entre ambos para dejarlos como amigos hacia el final de la película, después de todo ambos son científicos y hollywood no tiene porque apegarse 100% al comic.

Otro detalle de la película es que, al igual que en Spiderman y Ironman, aparece en una escena Stan Lee, el creador del comic.

En cuanto a la calidad del video la película es suprema, tal cual esperamos de un disco bluray, la resolución es FullHD (1080p) codificado en VC1.

El audio es DTS HD, otra de las tecnologías de alta definición de sonido sin compresión, lo cual nos brinda una excelente atmósfera para el desarrollo argumental, la pista sonora está separa en 5.1 canales con lo que una vez más nos quedaremos esperando a que alguna productora se decida a sacar una pista en 7.1 canales. Lo que me llamó la atención al respecto es que, además de la pista DTS HD 5.1 en inglés, también se incluye una pista en el mismo formato para el idioma francés, lo que no había visto en otras películas que si bien incluyen pistas en 5.1 para distintos idiomas lo hacen sin utilizar tecnología HD. Un último detalle curioso, es que igualmente se incluye una pista en inglés en sonido estereofónico (2.0), lo que nos hace notar que no todas las productoras han asumido que quien tiene un bluray tiene necesariamente un home theater completo.

El empaque de la película viene en verde, lo que lo hace conservar mejor el tema de la película, además viene en una edición conmemorativa con portada 3D. Finalmente, como extra, viene acompañada de un DVD para copia digital como ha sucedido con otras películas que se han reseñado en éste espacio. Mi opinión, es que deberían igualmente venir acompañados de la versión de DVD tradicional como se estaba haciendo costumbre en los HD DVD.

En fin, una película recomendable si buscas un título de acción y no eres de los que buscan que todo tenga lógica, igualmente se recomiendan los efectos visuales, aunque a mi juicio cualquiera de éstas características no superan la película de Ironman.

martes, noviembre 04, 2008

Amazon vuelve a innovar

En esta ocasión lo hace al revolucionar junto con sus socios comerciales la apertura de paquetes, no sé ustedes pero a mi si me frustra tener que abrir esos empaques plásticos que requieren alguna navaja por su sellado hermético. Éste sentimiento es conocido como "wrap rage", hoy Amazon anuncia en su portal una iniciativa que ha tomado para contar con un "empaquetado libre de frustración" junto con empresas como Mattel, Fisher Price, Microsoft y otras. La idea es distribuir productos fáciles de abrir y con empaques reciclables.

El catálogo inicial es de 19 productos que comprenden juguetes y accesorios de cómputo, ésta iniciativa es una muestra más del por qué empresas como Amazon cuentan con la preferencia del consumidor al estar orientadas a brindar a éste el mejor servicio y experiencia de compra.



Elecciones USA

Así van las votaciones

La noticia del día

El día de hoy son las elecciones en los Estados Unidos, pero la noticia del día no es esa, sino el adolescente de 19 años que ha cambiado su nombre por "Captain Fantastic Faster than Superman Spiderman Batman Wolverine The Hulk and the Flash Combined", lo cual me parece bastante tonto, digo, a quién se le ocurre que Batman o Wolverine son suficientemente veloces como para compararlos con Flash o Superman?