28
Feb 13

Pildoritas de Bases de Datos: Diseño de Bases de Datos

pildoras bbdd
Con este post se da el pistolezado de salida a las Pildoritas de Bases de Datos, que como ya avancé en el anterior artículo va a girar en torno al Diseño de Bases de datos. Para adentrarnos en este tema vamos a hacer un pequeño ejemplo con el que primeramente realicemos un modelo Entidad / Relación, para después pasar a su posterior Normalización.

Por tanto, vamos a comenzar enunciando un pequeño problema práctico enfocado en el sector de los servicios TIC:

Una importante cárnica del sector de la informática decide que es buena idea hacer una aplicación donde administrar los proyectos que tiene dado de alta. Dicha aplicación tendrá un registro de los departamentos que componen cada proyecto, así como de los empleados asignados a los mismos.

Vamos a suponer que esta cárnica ha vislumbrado durante un pequeño lapsus de tiempo el camino del buen desarrollo software y tiene unos departamentos estructurados y comunes a todos los proyectos (usan metodologías, esas leyendas urbanas que sólo conoces a través de un sello en la documentación). Por tanto, un proyecto puede tener de 1..N departamentos y un departamento a su vez puede estar de 1..N proyectos

Los empleados pueden trabajar para varios proyectos, pero no podrán pertenecer a más de un departamento por proyecto al mismo tiempo: Como en la vida real, ¡programadores multitarea!!

Por último, como a nuestra cárnica le encanta subcontratar a otras mini-cárnicas pertenecientes a antiguos jefes de dicha cárnica, no hay restricción alguna de que en un departamento y proyecto los empleados puedan pertenecer a multitud de empresas diferentes.

Modelo Entidad / Relación

Un primer acercamiento, que no el único, para construir la bases de datos que compondría dicha aplicación sería el siguiente:

Entidad Relacion - Ejemplo
Para la realización de los modelos Entidad / Relación he utilizado un software con licencia GPL, el DBDesigner, uno de los más conocidos. Es la primera vez que lo utilizo y pese a algunos inconvenientes, mi opinión del mismo es bastante buena. Hay otros muchos programas gratuitos muy buenos y todos funcionan más o menos igual. Si vais a utilizar MySQL os recomiendo su GUI Tool, el MYSQL Workbench, el cual tiene una función bastante buena de modelos entidad relación y su paso automático a tablas bajo el motor MySQL.

Partes del Modelo Entidad / Relación

No vamos a extendernos en demasía en la explicación del modelo Entidad / Relación, ya que se presupone cierto conocimiento de los lectores de estas pildoritas, pero si que vamos a destacar las partes más importantes del mismo y a identificarlas en nuestro ejemplo para mayor claridad.

Entidad

Representa una “cosa” con existencia propia (algo así como una clase en Java). En este caso las entidades son: Empleado, Compañía, Proyecto y Departamento.

Atributos

Son las propiedades que definen a una entidad. Por ejemplo, en el caso de Empleado sus atributos son: DNI, Nombre, Apellidos, Teléfono y Puesto.

Algunos atributos específicos se denominan claves. Se llaman claves porque a partir de este atributo (o conjunto de atributos) podemos identificar inequívocamente a un individuo de esa entidad de cualquier otro (algo así como identificar objetos de una misma clase).

Por último, tenemos las relaciones, que es cómo interactúan entre sí las entidades. Hay diferentes tipos de relaciones teniendo en cuenta su cardinalidad. Los tipos de cardinalidades son los siguientes:

Relaciones

  • Uno a Uno (1…1): Una entidad A se relaciona únicamente con una entidad B y viceversa. Por ejemplo, un empleado tiene un único DNI y un DNI pertenece a un único empleado. Por norma general una de las entidades pasará a ser atributo de la otra.
  • Uno a Varios (1..N): Una entidad A se relaciona con cero o varias entidades B, pero la entidad B sólo se relaciona con una única entidad de A. Un ejemplo de esta relación es la existente entre Empleado y Compañía. La Compañía puede tener 0..N empleados pero un empleado sólo pertenecerá a una única compañía. Esta relación se traduce en el modelo físico en una FK (clave foránea) de la entidad A (en nuestro ejemplo compañía) en la entidad B (en este caso empleados).
  • Varios a Varios (N..M): Una entidad A se relaciona con cero o varias entidades B y viceversa. Por ejemplo, en nuestro ejemplo una relación de este tipo sería la existente entre proyectos y departamentos. Un proyecto puede tener 0..N departamentos y un departamento a su vez puede ser parte de 0..N proyectos. Esta relación se traduce en la creación de una tabla intermedia donde se vincularan las claves de ambas entidades.

Una vez hemos realizado una primera aproximación funcional de los datos, vamos a normalizarla para evitar datos redundantes.

Normalización

La Normalización de Bases de Datos son una serie de reglas a tener en cuenta una vez hemos pasado el modelo Entidad / Relación a modelo relacional. Esto significa que tenemos que usar bases de datos relacionales, nada de NoSQL y tecnologías similares. Esto tampoco es una gran restricción, ya que la mayoría de tecnologías utilizadas hoy en día siguen este modelo: SQL Server, Oracle, MySQL, PostgreSQL...

Gracias a la normalización se consigue que nuestra base de datos no tenga problemas de actualización de los datos en las tablas, que se protega la integridad de los datos y que estos no sean redundantes.

En concreto hablaremos de las tres formas normales. Hay 5 y otra llamada BCNF, pero con cubrir las tres primeras se cubren las necesidades de la gran mayoría de bases de datos. Si queréis entrar más en detalles os recomiendo comenzar por el artículo de Normalización de la Wikipedia.

Primera Forma Normal (1FN)

  • Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son indivisibles, mínimos.
  • La tabla contiene una llave primaria única.
  • La llave primaria no contiene atributos nulos.
  • No debe existir variación en el número de columnas.
  • Los Campos no llave deben identificarse por la llave (Dependencia Funcional)
  • Debe Existir una independencia del orden tanto de las filas como de las columnas, es decir, si los datos cambian de orden no deben cambiar sus significados
  • Una tabla no puede tener múltiples valores en cada columna.
  • Los datos son atómicos (a cada valor de X le pertenece un valor de Y y viceversa).

Como se puede observar nuestro modelo Entidad / Relación cumple todas estas premisas. Esto se debe a que cualquier Bases de datos relacional cumple la Primera Forma Normal, así que hagas con el motor que hagas tu bases de datos estas normas serán de obligado cumplimiento si es una bases de datos relacional, y como ya he comentado, en el mercado es lo que encontrarás el 90% de las veces.

Segunda Forma Normal (2FN)

  • El modelo es 1FN
  • Los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal

Esto se puede traducir en que, si tenemos en una tabla más de una clave primaria, no debe haber dependencias parciales. Por poneros un ejemplo:

Entidad Relacion - No 2FN
Como podéis ver, hemos añadido un atributo a la propia relación entre empleados, proyectos y departamentos, en este caso la compañia. La compañía depende del empleado, pero no así del resto de claves, como son el proyecto y departamento. Por tanto, esta relación no sería 2FN. Como podéis percataros si dejáramos el esquema así tendríamos datos redundantes. Por ejemplo, si un empleado estuviera en dos proyectos diferentes, tendríamos dos veces repetido el dato de la compañía. Por tanto, lo aconsejable es que la compañía se relacione directamente con el empleado, como es nuestro caso.

Algunos habréis pensado, ¿y por qué la compañía no es un atributo como tal de la tabla empleados? Ahora veréis por qué, pillines 😛

Tercera Forma Normal (3FN)

  • El modelo es 2FN
  • Ningún atributo no-primario de la tabla es dependiente transitivamente de una clave primaria.

¿Qué significa esto en cristiano? Pues que si tienes un campo o grupo de campos cuyos valores pueden repetirse en más de un registro, se deben colocar dichos campos en una tabla independiente.

¡Oh, Wait! ¡Nuestro modelo no está en 3FN, Unbelievable!

Como se puede ver, la tabla Empleado tiene un atributo, Puesto, que puede repetirse para varios empleados diferentes. La forma de conseguir que nuestro modelo si sea 3FN es convertir el atributo Puesto en una tabla independiente, lo cual dejaría nuestro modelo Entidad / Relación de la siguiente forma:

Entidad-Relacion-3FN

Si seguimos buscando encontraremos más campos susceptibles de ser separados como entidades. El Area del Departamento y el Tipo de Compañia deberían ser separados en tablas independientes si queremos cumplir la 3FN, pero hay que tener claro que la aplicación de las formas normales no siempre es viable ni acertada de aplicar.

Por ejemplo, aunque la 3FN es recomendable ya que evitamos datos repetidos, el utilizar muchas tablas pequeñas puede perjudicar al rendimiento de nuestra bases de datos e incluso superar la capacidad de memoria de la que dispone nuestro servidor. Muchas veces es recomendable que los datos que cambien con frecuencia estén en 3FN y no así los restantes, controlando las repeticiones (por ejemplo al realizar un borrado) vía aplicación, por ejemplo.

Es más, se pueden realizar diferentes modelos de entidad / relación que cumplan las funcionalidades especificadas por el cliente igual de bien.

Por ejemplo, el modelo que hemos utilizado durante todo el ejemplo, si os fijáis, no cumple en sí mismo uno de los puntos importantes, y es que podemos tener un empleado que trabaje para diferentes departamentos del mismo proyecto. ¿Significa que mi modelo esté mal? Por supuesto que no, y no sólo porque yo sea jodidamente awesome, que también, sino porque, por ejemplo, este control lo podemos realizar desde un trigger en la misma BBDD o por medio del propio código fuente de la aplicación.

No obstante, si queremos dejar el modelo de entidad relación niquelado con respecto al enunciado inicial, deberíamos cambiarlo y dejarlo así:

Entidad-Relacion-Final

Paso a Tablas

Y ya para acabar, lo más sencillo, el paso a tablas. Esto tiene 0 de mérito, porque estas cosas ya la hacen los programas como el DBDesigner, no obstante, os dejo aquí el script de bases de datos autogenerado para que os hagáis una idea de cómo se acaban creando los elementos de la base de datos.

CREATE TABLE Compañia (
  idCompañia INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  Nombre VARCHAR(20) NOT NULL,
  CIF VARCHAR(20) NOT NULL,
  Tipo VARCHAR(20) NOT NULL,
  PRIMARY KEY(idCompañia)
);

CREATE TABLE Departamento (
  idDepartamento INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  Nombre VARCHAR(20) NOT NULL,
  Área VARCHAR(20) NOT NULL,
  PRIMARY KEY(idDepartamento)
);

CREATE TABLE Empleado (
  DNI VARCHAR(20) NOT NULL,
  Puesto_idPuesto INTEGER UNSIGNED NOT NULL,
  Compañia_idCompañia INTEGER UNSIGNED NOT NULL,
  Nombre VARCHAR(20) NOT NULL,
  Apellidos VARCHAR(45) NOT NULL,
  Telefono INTEGER UNSIGNED NOT NULL,
  PRIMARY KEY(DNI),
  INDEX Empleado_FKIndex1(Compañia_idCompañia),
  INDEX Empleado_FKIndex2(Puesto_idPuesto)
);

CREATE TABLE Empleado_has_Proyecto_has_Departamento (
  Proyecto_has_Departamento_Departamento_idDepartamento INTEGER UNSIGNED NOT NULL,
  Proyecto_has_Departamento_Proyecto_idProyecto INTEGER UNSIGNED NOT NULL,
  Empleado_DNI VARCHAR(20) NOT NULL,
  PRIMARY KEY(Proyecto_has_Departamento_Departamento_idDepartamento, Proyecto_has_Departamento_Proyecto_idProyecto, Empleado_DNI),
  INDEX Empleado_has_Proyecto_has_Departamento_FKIndex1(Empleado_DNI),
  INDEX Empleado_has_Proyecto_has_Departamento_FKIndex2(Proyecto_has_Departamento_Proyecto_idProyecto, Proyecto_has_Departamento_Departamento_idDepartamento)
);

CREATE TABLE Proyecto (
  idProyecto INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  Nombre VARCHAR(20) NOT NULL,
  Fecha inicio DATE NOT NULL,
  Fecha Fin DATE NOT NULL,
  PRIMARY KEY(idProyecto)
);

CREATE TABLE Proyecto_has_Departamento (
  Proyecto_idProyecto INTEGER UNSIGNED NOT NULL,
  Departamento_idDepartamento INTEGER UNSIGNED NOT NULL,
  PRIMARY KEY(Proyecto_idProyecto, Departamento_idDepartamento),
  INDEX Proyecto_has_Departamento_FKIndex1(Proyecto_idProyecto),
  INDEX Proyecto_has_Departamento_FKIndex2(Departamento_idDepartamento)
);

CREATE TABLE Puesto (
  idPuesto INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  Nombre VARCHAR(20) NULL,
  Descripción VARCHAR(45) NULL,
  PRIMARY KEY(idPuesto)
);

Bueno, con esto acabamos nuestra primera Pildorita de Bases de Datos. Si os ha gustado, cosa que dudo, estad atentos al blog para los próximos posts 🙂

Índice de Pildoritas

Share
20
Feb 13

El curioso caso de Beatriz Talegón

Estos días está de rabiosa actualidad (siempre he querido decir esta gilipollez :D) la miembro del PSOE Beatriz Talegón y su discurso digno de un comandante revolucionario. Si no sabéis de que va el tema, que ya es raro, os dejo el vídeo en cuestión:

He discutido en varias ocasiones sobre esta política, que ha surgido de repente como una seta, y me han acusado de conspiranoica, con comentario jocoso incluido sobre que si creo que es la reina reptiliana, y los que más, venidos por parte de los hombres, que le tengo envidia por ser mujer. Que digo yo, ¿por qué los tíos en el momento que criticas a una tía resulta que es por envidia? Si en vez de Beatriz Talegón hubiera salido un tal Pepito Talegón diciendo lo mismo y teniendo la trayectoria de esta chica la criticaría exactamente igual.

¿Y cuál es esa opinión mía digna de una psicótica con gorrito de papel platina? Pues que todo esto no es más que una campaña de marketing viral como un castillo de grande, y que esta señorita no es más que un reclamo para la multitud de socialistas descontentos con el PSOE.

Llevo meses viendo como TVE, LaSexta y e incluso muchas cadena de derechas hacen de forma disimulada campaña pro-PSOE. Se habla de que es necesario un partido en la oposición fuerte, que el PSOE tiene que volver a sus raíces (cuando sus raíces han estado podridas desde el principio), etc. Está claro el miedo que le da a los grupos de poder que llegue a la jefatura del estado un partido de izquierdas de verdad, fuera del estatus quo en el que viven los partidos parasitarios de este sistema. Está claro que para que este sistema se siga manteniendo es necesario que el PSOE remonte el vuelo.

Aunque en Internet es plausible que un vídeo de una convención del PSOE se suba a youtube y se convierta en trending topic en cuestión de horas, No creo que la soflama de frases populistas que dijo tengan tanta importancia como para que cope durante semanas todos los medios de comunicación, ni que se le dediquen entrevistas interminables dignas de una campaña electoral. Al fin y al cabo, no es más que lo mismo que llevamos oyendo durante bastante tiempo por parte de un grupo del propio PSOE, el de Chacón. Además leo a diario decenas de artículos, documentales y discursos en meneame mucho más profundos que este, y no veo que se abran informativos con ninguno de ellos.

Lo siento pero no me creo que esto sea azaroso. Creo que se ha gestado una campaña de marketing viral de libro con esta señorita.

Porque no sólo son notables las circunstancias alrededor del discurso, sino el mismo mensaje y la protagonista de éste. Seguramente si este discurso saliera de la boca de una persona que no pertenezca a la casta política sería más creíble, pero en este caso todo apunta a que Talegón es todo lo contrario: Una política de profesión, que vive gracias a un sistema injusto fundamentado en el bipartidismo del PPSOE.

Llegados a este punto, a parte de llamarme paranoica, alguien dirá, ¿y tú como sabes que esta señora es una falsa, si acaba de salir por primera vez?

Pues porque si le preguntáis al dios Google éste os dirá que Beatriz Talegón no es muy coherente con sus palabras. No se puede criticar que los dirigentes políticos vayan a hoteles de cinco estrellas o estén alejados de la ciudadanía con la siguiente trayectoria (sacado de la wikipedia):

Entró en la vida política a los 22 años afiliándose a Juventudes Socialistas de España, antes de terminar sus estudios de derecho. Trabajó como asesora de la Dirección General de Asuntos Europeos en Castilla-La Mancha, bajo el Gobierno de José María Barreda, entre 2008 y 2011. Después pasó a ser asesora de la delegación socialista en el Parlamento Europeo. Su periplo público la ha llevado a ser concejal del Ayuntamiento de Cabanillas del Campo (Guadalajara), adjunta a la secretaría general del PSE en Castilla-La Mancha, secretaria general de las Juventudes Socialistas de España en Europa además de secretaria General de la Unión Internacional de Juventudes Socialistas (IUSY). Antes de acceder a este último puesto en abril de 2012, fue vicepresidenta de la IUSY desde 2010.En la actualidad (2013), vive en Viena.

Es decir, aquí la niña, desde su más tierna juventud, ha copado puestos de asesora y dirección del partido. El único puesto digamos legítimo es el de concejala en Cabanillas del Campo, aunque ya sabemos que con listas cerradas te comes a los concejales que el alcalde quiere. Eso sí, ella se vanagloria de haber sido cajera de supermercado para pagarse los estudios (yo también, por cierto, igual que infinidad de jóvenes en España)... que humilde y campechana ella.

También es de destacar el hecho de que sea Secretaria General de las Juventudes Internacionales del PSOE. No quiero ser malpensada, pero no hace falta que diga cómo se consigue llegar a un puesto semejante. Primero, con mucho enchufe, segundo, lamiendo culos y a todo diciendo “sí, mi amo”. Así que dudo que Talegón sea la personificación del Che Guevara.

Segundo y no menos importante: Seamos bien pensados y creámonos que esta muchacha de verdad ha llegado tan lejos por esfuerzo y méritos propios y que ha dado un mensaje contrario a los dirigentes de su partido sin que estos se lo esperaran. Si en un partido sale semejante elemento subversivo tener por seguro que ese vídeo, de baja calidad pero muy encuadrado y estabilizado por cierto, no sale en la vida, es más, jamás habría llegado a ostentar los cargos que ha ocupado. Los partidos políticos se encargan muy bien de elegir buenos borregos.

Me han rebatido diciéndome que quien iba a querer ponerla ahí si había criticado al Señor Rubalcaba. Pues muy fácil, el bando pro-Chacón, que para algo su papá en política, el señor Barreda, es pro-Chacón. También sumarle que el día que fue a la manifestación del 16F del PAH (donde fue abucheada), iba acompañada por López Alguilar, otro miembro del PSOE claramente pro-Chacón. Y ya si quiero ser rebuscada, resulta aún más sospechoso que la cadena de la que era propietario el marido de Chacón, LaSexta, haga la mayor de todas las coberturas del caso Talegón. Esto último hasta yo reconozco que es rizar el rizo, pero ya puestos... En fin, ¿a que empieza a oler cada vez peor?

Por otra parte, si nos vamos a lo verdaderamente importante, al mensaje del discurso, en el fondo es lo mismo de siempre y no critica los males de verdad. De poco me sirve que los políticos vayan a albergues si luego se sigue permitiendo que las grandes empresas no paguen impuestos, se lleven el dinero a paraísos fiscales y exploten trabajadores. O que no se suba el SMI, que no se nacionalicen bancos y otros sectores claves...Vamos, que Beatriz Talegón realmente no dice una mierda. Sólo vende demagogia vacía de contenido, lo de siempre en el PSOE.

Y ya por último, el despliegue de campaña hacia Talegón hecho por los medios resulta vergonzoso y muy poco disimulado, hasta la derecha se ha sumado a la cobertura. ¿De verdad creéis que si pudiera ser una política que quiere renovar por completo el PSOE la harían semejante publicidad?

Que sí, que puede ser todo muy rebuscado y que puede cumplirse perfectamente el principio de la Navaja de Ockham (En igualdad de condiciones, la explicación más sencilla suele ser la correcta), pero es que bajo mi raciocinio la explicación más simple es que Beatriz Talegón es un fraude. Si algo me va enseñando el día a día desde hace mucho es que no hay parte de este sistema que no esté podrida y controlada por las grandes corporaciones. Llevo viendo desde hace mucho como se silencia cualquier noticia que pueda menoscabar el sistema, a no ser que sea un tema tan extendido que sea complicado obviarlo (anda que no les costó al 15M que les hicieran caso en los medios). Esto no es más que un movimiento del PSOE para reconquistar a su electorado descontento.

Los ciudadanos tenemos que entender que no va a venir ningún mesías a solucionarnos la papeleta. De aparecer algo parecido a un mesías no olvidéis que esos supuestos salvadores no son tal cosa, ya que las épocas de crisis como ésta son caldo de cultivo perfecto para dictaduras. Nadie quiere un nuevo Hitler o un Pinochet, por lo que no nos queda otra que arrimar todos el hombro para cambiar las cosas.

Nadie es más listo y capaz que el pueblo en su conjunto.

Share
17
Feb 13

Pildoritas de Bases de datos

pildoras bbddA veces los desarrolladores de software no valoramos lo suficiente la importancia de las base de datos. Nos centramos en nuestros conocimientos en Java o C, en la estructuración de las clases, en los patrones de diseño que utilizamos; pero obviamos la importancia que tienen hoy en día las bases de datos en cualquier aplicación.

Hay más de un desarrollador que argumenta que él “pica código” y que no tiene por qué saber de bases de datos. Por desgracia en la mayoría de proyectos (al menos en Españistán) el mismo que pica Java se encarga de hacer las consultas a bases de datos, y si me apuras, hasta tendrá que definir el modelo de datos. Por tanto, no viene mal tener algunos conceptos claros sobre este “apasionante” mundo.

En un primer momento pensé enfocar esta serie de artículos en Optimización de SQL, pero al final la cosa se me ha ido de las manos. Considero que para que una aplicación sea eficiente a la hora de manejar datos tiene que realizarse siguiendo unas buenas prácticas en muchas fases del desarrollo, desde el diseño inicial, hasta la implementación o las pruebas.

Así que mi intención es entrar un poco en diseño de bases de datos y luego en optimización SQL. Si me veo con fuerzas (o más bien conocimientos suficientes), también abordaré un poco el tema del PL/SQL.

No voy a engañaros, no voy a asentar cátedra sobre el tema. No soy profesora de universidad, siquiera DBA de una empresa. Sólo soy una humilde desarrolladora que ha tenido día a día que comerse muchos marrones de bases de datos :_ snif

Esto sólo van a ser una serie de artículos donde daré algunos consejos para hacer un modelo de datos aceptable y consultas SQL medianamente eficientes, que visto lo visto en este sector no son muy comunes. Todo esto lo he aprendido por consejos de compañeros oldschool, por algún cursillo de la empresa, pero sobre todo, a través de Google, así que no voy tampoco a reinventar la rueda, sólo a agrupar las pautas que yo sigo para lidiar a diario con las bases de datos sin morir en el intento.

El primer artículo en entrar en chicha se centrará en una seria de pautas y buenas maneras a la hora de diseñar una base de datos, o un modelo de datos, como dirían los puristas 😉

Espero que de esta serie de artículos pueda salir algo decente y que lo que vaya escribiendo os pueda servir en vuestros desarrollos por poco que sea. Se intentará lo que se pueda :S

Índice de Pildoritas

Share
13
Feb 13

A la mierda con todo!!!

Desisto. Esto de migrar el blog es un coñazo. La migración ñapera de la BBDD que he hecho me ha generado ciertos problemas con los caracteres “raros”, y eso que he jugado de mil maneras con la codificación de la BBDD, pero nada. Al final, la única manera que encontré fue sustituir los caracteres que daban problemas por su código ASCII, pero son tantos que al final me rallé y pasé de hacer nada, por lo que, nuevamente, abandoné el blog a su suerte.

Así que nada, he decidido cortar por lo sano y borrar todo. Y Diréis “OLA KE ASE? TU TA LOKA O KE TE PASA?” pues un poco sí, porque me ha dado mucha penita borrar algunos posts de los que me sentía orgullosa y me supusieron un buen curro, como los experimentos para no dormir, las pilas de Bagdad o los símbolos secretos del Dólar. Tengo el script guardadito y un backup en XML genoso de wordpress, así que quien sabe, si un día me da la neura recupero todo eso y lo coloco en algún dominio secundario, aunque ya os digo que hoy por hoy es algo que ni contemplo…primero sería plan centrarme en escribir con cierta frecuencia y ya luego se verá u_U!

Aparte, le venía bien a este blog un cambio de cara y abandonar el batiburrillo de ideas que tenía en el anterior. He evolucionado como persona bastante, así que mis ideas, visiones y preocupaciones aunque tienen la misma raíz, han diferido un poco. Así que nada, esperemos que con esta nueva vuelta de tuerca (la número 1268 como poco), esperemos que este blog arranque y siga en marcha como es debido, que no paro de calar el motor u_U!

Share