Ir al contenido principal

Día 4. Creamos el primer formulario

 Probando, para informar del bug que había detectado el día anterior, me he dado cuenta de que en realidad no es un bug. Resulta que he recordado que a los números de coma flotante no se les puede limitar el número de decimales, ellos deciden cuantos decimales ponen. Tampoco se les puede limitar el tamaño, sino que el tamaño, en realidad, es el número de bites que emplean para representar cada número y esto va implícito en el tipo de datos (FLOAT o DOUBLE).

Aunque, si creas un campo con números en coma flotante, en la tabla se muestra con un decimal, podemos modificar este comportamiento (los decimales que se muestran, no el número real de ellos). En el vídeo de hoy lo muestro. También veremos en el vídeo, con algunos ejemplos, que los dichosos números de coma flotante no son exactos.

Por otro lado, en el vídeo anterior dije que ya sabía que es imposible modificar el tipo de datos en las tablas, y que esto era un bug conocido por mí. Como ocurre muchas veces, y en un solo día hemos visto dos ejemplos, casi siempre que pensamos que algo es un bug, en realidad el bug somos nosotros y nuestro desconocimiento.

Al modificar los tipos de datos, Firebird impide realizar las modificaciones que suponen pérdida de datos y la única solución que propone es eliminar los datos y crear una columna nueva (si no los puede convertir no sabe que hacer con ellos). Sin embargo, permite sin ningún problema modificar los tipos de datos cuando no suponen ninguna pérdida. Por ejemplo, puede convertir un entero (INT) a doble precisión (DOUBLE), pero no al revés, porque, en este segundo caso, ¿qué hace con los decimales?.

Hoy vamos a ver y solucionar el problema que dije que había con el NIF y de paso hablaremos de la conveniencia o no de utilizar índices.

Y comenzaremos con el primer formulario. Con los formularios, si nos da tiempo, veremos que podemos solucionar el problema del desbordamiento de datos (eso que vimos de que cuando no cabe, da la vuelta y comienza por los negativos).





Comentarios

Entradas populares de este blog

Día 16. Empleo de la tabla desde-hasta. Subconsultas

Hoy vemos como emplear la tabla desde-hasta de tipos de IVA que creamos el último día. Para ello, en primer lugar creamos una consulta para ver el funcionamiento. A continuación esa consulta, la empleamos como subconsulta en la consulta que ya teníamos con todos campos.

Día 18. ¡Vuelvo a desnormalizar!

Tras añadir una cantidad apreciable de nuevos datos para poder hacer pruebas, en primer lugar vemos y comentamos un poco el rendimiento de las consultas que teníamos hechas para obtener los datos de la vista y los informes. Como comentario, añadido a lo que se comenta en el vídeo, podemos ver que las consultas, ya con una cantidad apreciable de datos, tardan bastante menos que con HSQLDB. De hecho, se obtienen los datos de casi 17500 registros, con combinación de 5 tablas, en milésimas de segundo, aunque Base tarda un poquito más en mostrar los resultados. Os recuerdo que no he actualizado los informes, a pesar de que he cambiado la consulta y vistas subyacentes, por lo que habría que actualizarlos (pero de momento no lo haré, creo que no aportaría nada nuevo). En la segunda parte vuelvo a desnormalizar la tabla Detalles. La desnormalización, en este caso la justifico, y explico que, bajo mi punto de vista, las normas de normalización, no siempre son imperativas. Para la desnormalizaci...

Día 2. Requisitos de las facturas y primeras tabla

Lo primero que tenemos que saber, es que datos debemos guardar en la base de datos. Para ello, como yo estoy en España, busco la información en la página de la Agencia Tributaria española. Allí dice que la información que debe tener una factura es: Número y, en su caso, serie. La numeración de las facturas dentro de cada serie será correlativa. La fecha de su expedición. Nombre y apellidos, razón o denominación social completa, tanto del obligado a expedir factura (este creo que soy yo) como del destinatario de las operaciones. Número de Identificación Fiscal Domicilio, tanto del obligado a expedir factura como del destinatario de las operaciones Descripción de las operaciones, consignándose todos los datos necesarios para la determinación de la base imponible del Impuesto y su importe, incluyendo el precio unitario sin Impuesto de dichas operaciones, así como cualquier descuento o rebaja que no esté incluido en dicho precio unitario El tipo impositivo o tipos impositivos, en su caso, ...