19 diciembre 2012

María, la de las bases de datos

MariaDB reune al mítico equipo creador de MySQL —vaya por delante que este lenguaje futbolero va más por lo irónico que por fanatismo tecnológico— en un proyecto que se dice sucesor del mismo. ¿Por qué? Pues por que se lo vendieron a Sun Microsystems, y este terminó en Oracle, y ahora dicen que hay que garantizar el software libre. Pues será. Estas cosas de la empresa y los empresarios.

27 septiembre 2012

Otra instancia MySQL en el mismo servidor

Se nos ha planteado un interesante ejercicio: poner en marcha una segunda instancia del gestor MySQL instalado en una máquina concreta. No es una segunda instalación, es aprovechar lo ya instalado pero con dos servidores de bases de datos.

Tener dos instancias tiene toda la justificación que nuestras necesidades precisen. Podría ser que una se dedicara a desarrollo, para hacer las modificaciones y pruebas necesarias antes de trasvasar todo el trabajo al otro, al de producción, digamos "el de verdad". También serviría para tener una copia de respaldo. O simplemente por tener dos espacios diferenciados tanto en bases de datos como usuarios, una medida de seguridad adicional.

Sea como fuere, mostramos aquí el procedimiento para hacerlo, o uno de ellos. Lo cierto es que parece laborioso pero no es nada complicado. Tan solo necesitamos saber dónde están las cosas. Eso sí, la cantidad de cosas que pueden variar de un ordenador a otro, versiones, configuraciones, elecciones en la instalación, etc. hace que todo esto tenga más de una posibilidad de ser incompleto.


04 septiembre 2012

Configurar phpMyAdmin y habilitar el "diseñador"

Una advertencia antes de que continúes: es perfectamente posible que durante la instalación de mi Xampp dijera que no a alguna opción, por lo que puede que a ti no te haga falta nada de esto. Si ya ves y puedes trabajar con el "diseñador" de phpMyAdmin, no sigas leyendo. Si ni sabes lo que es el diseñador, igual no te pasa nada por continuar.

Si tienes Xampp instalado te sonará, y si no phpMyAdmin es un programa, en PHP, fíjate, que actua como frontal de una base de datos MySQL. ¿La gracia? Pues que ya no hay que instalar más cosas. Y que es muy popular.

El escenario típico es una máquina donde, ya que hemos instalado Xampp, estará ejecutándose un servidor MySQL y un servidor PHP, por lo que invocaremos al programa con el panel de control de Xampp o invocando la URL.

03 agosto 2012

Resultados del curso 2011-12

Se ha terminado el curso 2011-12. Como manda tal circunstancia, se debe analizar lo acontecido, aunque sea someramente, y extraer conclusiones para el siguiente periodo lectivo.

20 julio 2012

Verdad y mentira



En error500 una reflexión sobre la renovación del tópico "lo que No creas nada que no venga con los enlaces a las fuentes para poder contrastarlo.
está en los libros es la verdad":

Valga el insistir en la necesidad de la referencia a las fuentes de donde se extrae la información que conforma cualquier trabajo a mostrar al público. Y nos incluimos en el "público", los profesores, digo.

http://img.blogs.es/error500/wp-content/uploads/old/kiosko-prensa.jpg

04 junio 2012

Breve historia de Napster

Ameno repaso histórico a un momento crucial y no suficientemente valorado. Napster, los orígenes de P2P, la muerte de un modelo de negocio. Poco que ver con bases de datos, pero historia al fin y al cabo.

Desde Genbeta, por P. Roberto J., "Napster. Clásicos del software (XI)"

16 mayo 2012

MySQL: Copiar, duplicar o mover una tabla

Nuestro compañero Sergio, muy amablemente, nos ha hecho llegar este video donde explica qué hacer ante ciertas situaciones en las que debemos duplicar o reubicar una tabla en MySQL. Utiliza PHPMyAdmin, un interfaz muy popular sobre todo entre los usuarios de Apache y los paquetes tipo Xampp. Evidentemente, para todo lo que incluye este trabajo, se ha de disponer de un usuario con los permisos adecuados.

Al final, describe las mismas operaciones pero desde el cliente de línea de comandos propio del producto (el gran olvidado por nosotros :) ) y con órdenes SQL. Recuérdese, no obstante, que estamos hablando de MySQL, no todos los motores de bases de datos tienen las mismas opciones en su versión del lenguaje, o los tienen pero con algunas diferencias de sintaxis y resultado.

El video, añadido a nuestros favoritos, es este: http://youtu.be/-F7xZiIoQ9k

Pero tiene más.

13 mayo 2012

Ahí va, la 4FN, y la 5FN


Ronald Fagin
Ronald Fagin
Llevamos un par de cursos introduciendo la cuarta y quinta formas normales. Siempre hemos dicho que esto de las formas normales, a partir de la tercera, es cosa de tesinandos que buscan la idea original que les dé la salida a su sufrimiento académico. Exagerando hasta la caricatura, claro. 

El caso es que rescato un comentario en la entrada sobre la 4FN de Wikipedia que me ha parecido curioso.(1)(2)

4NF en la práctica

Un artículo de 1992 de Margaret S. Wu observa que la enseñanza de la normalización de la base de datos se detiene típicamente justo antes de la 4NF, quizás debido a una creencia que las tablas que violan la 4NF (pero que hacen frente a todas las formas normales más bajas) son raramente encontradas en aplicaciones empresariales. Sin embargo, esta creencia puede no ser exacta. Wu reporta que en un estudio de cuarenta bases de datos de organizaciones, más del 20% contenía una o más tablas que violaban la 4NF mientras que satisfacen todas las formas normales más bajas.(3) 


11 abril 2012

Los deberes que todo el mundo hace y las pilas que todos se ponen

Que el mundo de la comunicación es canibalismo puro se intuye. Que el discurso mediocre lo inunda todo se sabe. Sean oradores experimentados, futbolistas de dudosa educación o profesionales del servicio público, el mimetismo en las formas habladas y escritas se aproxima a lo que es la parrilla de programación de las más de 70 emisiones en TDT, un repetir lo que hace el otro sin más objetivo que rellenar 24 horas que tiene el día.

Si alguien, a estas alturas, todavía utiliza metáforas como "hacer los deberes" y "ponerse las pilas", o insiste en la supuesta gracia del "sí o sí", solo está mostrando al mundo que o bien no tiene mucho que decir y sí mucho tiempo en el que hacerse notar, o bien su capacidad de trasladar una idea a una secuencia de palabras es, cuando menos, sospechosa de mejora. Es el "copia y pega", ha calado hasta profundidades no vistas, hay tanto que hablar, que no decir, que es más fácil repetir y repetir, y volver a repetir lo que en el primero, este ciertamente acertado y original, era ocurrencia, gracia y oportunidad.

Lo dicho, en cuanto escuches la referencia a los deberes de un señor hecho y derecho, o señora, y más que olvidado de sus tiempos de colegio huye, corre, cambia de canal, pasa a la siguiente página. 

Qué le vamos a hacer, la vida es así. Al menos, "cambiar el chip" está en desuso. Pero "fútbol es fútbol".

"Hacer los deberes". Alberto Bustos, El blog de la lengua española.




18 marzo 2012

Numerando

Que a Codd le apetecía utilizar los conjuntos para definir su modelo relacional ya lo sabíamos o estáis a punto de saberlo. Una característica importante de los conjuntos, matemáticamente hablando, es su ausencia de orden. Así, pues, partiendo de esta sencilla tabla


create table tabla(
num integer primary key,
tipo char(1),
precio decimal(6,2)
)

la teoría nos dice que aunque obtengamos la siguiente salida

select * from tabla; 

08 febrero 2012

Pedazo de...

Una muestra de cómo eran las cosas antes, pero no "tan antes" según se mire: el primero son 4 KB y el segundo un disco duro de 5 MB de época.




 Desde retronaut.co

01 febrero 2012

Recuperar filas aleatoriamente de una tabla con Transact-SQL

Yo lo he leído en el blog de James D. McCaffrey pero no tengo más mérito, es uno de los muchos resultados de su búsqueda en Google sugerida por un alumno que ya lo había encontrado antes. Sea como sea, no conocía este método para obtener una fila de una tabla de forma aleatoria.

Se basa en una combinación de newid() y top(). La primera función devuelve un valor uniqueidentifier, valioso para crear datos ficticios con los que probar una base de datos, por ejemplo. O para lo que nos ocupa:

select @result = (select top(1) pid from @mytable order by newid() )



Ya puestos, como sospecho que top() es la respuesta de Microsoft al limit de MySQL, también he buscado lo mismo para este motor. No pierdo tiempo, la primera página que me ha ofrecido Google, de El blog de Neurotic:

SELECT * FROM nombre_tabla WHERE condicion
ORDER BY RAND()
LIMIT 1; 


Ahora ya que cada cual se meta o no en la guerra de si una es más elegante, simple, intuitiva, etc. que la otra.