18 - Tipos de datos (numéricos)


Problema:

Trabajamos con la tabla "libros" de una librería.

Eliminamos la tabla, si existe:

 drop table if exists libros;

Creamos la tabla con la siguiente estructura:

 create table libros(
  codigo int unsigned auto_increment,
  titulo varchar(20) not null,
  autor varchar(30),
  editorial varchar(15),
  precio decimal(5,2) unsigned,
  cantidad smallint unsigned,
  primary key (codigo)
 );

Note que definimos el campo "cantidad" de tipo "smallint unsigned", esto es porque los valores para este campo serán siempre positivos (mayores o iguales a 0), además la cantidad disponible no superará los 60000 aprox., así que no es adecuado usar int (cuyo rango llega hasta 4000 millones aprox.), así ocupamos menos espacio (3 bytes para mediumint contra 4 bytes para int). Es importante elegir el tipo de dato más preciso.

Como en el campo "precio" almacenaremos valores entre 0.00 y 999.99 definimos el campo como tipo "decimal (5,2)", así evitamos tantos decimales innecesarios que teníamos antes con el tipo "float".




Retornar