image
Valora:   4.35/5 de 20
Inicio » MySQL » Manual de MySQL » Base de datos




Crear tabla

Por MySQL-Hispano.org.

Crear la base de datos es la parte m�s f�cil, pero en este momento la base de datos est� vac�a, como lo indica el comando SHOW TABLES:

mysql> SHOW TABLES;
Empty set (0.00 sec)

La parte un tanto complicada es decidir la estructura que debe tener nuestra base de datos: qu� tablas se necesitan y qu� columnas estar�n en cada tabla.

En principio, necesitamos una tabla que contenga un registro para cada una de nuestras mascotas. �sta puede ser una tabla llamada mascotas, y debe contener por lo menos el nombre de cada uno de nuestros animalitos. Ya que el nombre en s� no es muy interesante, la tabla debe contener alguna otra informaci�n. Por ejemplo, si m�s de una persona en nuestra familia tiene una mascota, es probable que tengamos que guardar la informaci�n acerca de quien es el due�o de cada mascota. As� mismo, tambi�n ser�a interesante contar con alguna informaci�n m�s descriptiva tal como la especie, y el sexo de cada mascota.

�Y que sucede con la edad?. Esto puede ser tambi�n de inter�s, pero no es una buena idea almacenar este dato en la base de datos. La edad cambia conforme pasa el tiempo, lo cual significa que debemos de actualizar los registros frecuentemente. En vez de esto, es una mejor idea guardar un valor fijo, tal como la fecha de nacimiento. Entonces, cuando necesitemos la edad, la podemos calcular como la diferencia entre la fecha actual y la fecha de nacimiento. MySQL proporciona funciones para hacer operaciones entre fechas, as� que no hay ning�n problema.

Al almacenar la fecha de nacimiento en lugar de la edad tenemos algunas otras ventajas:

Podemos usar la base de datos para tareas tales como generar recordatorios para cada cumplea�os pr�ximo de nuestras mascotas. Podemos calcular la edad en relaci�n a otras fechas que la fecha actual. Por ejemplo, si almacenamos la fecha en que muri� nuestra mascota en la base de datos, es f�cil calcular que edad ten�a nuestro animalito cuando falleci�. Es probable que estemos pensando en otro tipo de informaci�n que ser�a igualmente �til en la tabla "mascotas", pero para nosotros ser� suficiente por ahora contar con informaci�n de nombre, propietario, especie, nacimiento y fallecimiento.

Usaremos la sentencia CREATE TABLE para indicar como estar�n conformados los registros de nuestras mascotas.

mysql> CREATE TABLE mascotas( 
    -> nombre VARCHAR(20), propietario VARCHAR(20),
    -> especie VARCHAR(20), sexo CHAR(1), nacimiento DATE,
    -> fallecimento DATE);
Query OK, 0 rows affected (0.02 sec)
mysql>

VARCHAR es una buena elecci�n para los campos nombre, propietario, y especie, ya que los valores que almacenar�n son de longitud variable. No es necesario que la longitud de estas columnas sea la misma, ni tampoco que sea de 20. Se puede especificar cualquier longitud entre 1 y 255, lo que se considere m�s adecuado. Si resulta que la elecci�n de la longitud de los campos que hemos hecho no result� adecuada, MySQL proporciona una sentencia ALTER TABLE que nos puede ayudar a solventar este problema.

El campo sexo puede ser representado en una variedad de formas, por ejemplo, "m" y "f", o tal vez "masculino" y "femenino", aunque resulta m�s simple la primera opci�n.

El uso del tipo de dato DATE para los campos nacimiento y fallecimento debe de resultar obvio.

Ahora que hemos creado la tabla, la sentencia SHOW TABLES debe producir algo como:

mysql> SHOW TABLES;
+---------------------+
| Tables_in_zoologico |
+---------------------+
| mascotas            |
+---------------------+
1 row in set (0.00 sec)
mysql>

Para verificar que la tabla fu� creada como nosotros esperabamos, usaremos la sentencia DESCRIBE:

mysql> DESCRIBE mascotas;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| nombre       | varchar(20) | YES  |     | NULL    |       |
| propietario  | varchar(20) | YES  |     | NULL    |       |
| especie      | varchar(20) | YES  |     | NULL    |       |
| sexo         | char(1)     | YES  |     | NULL    |       |
| nacimiento   | date        | YES  |     | NULL    |       |
| fallecimento | date        | YES  |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)
mysql>

Podemos hacer uso de la sentencia DESCRIBE en cualquier momento, por ejempo, si olvidamos los nombres � el tipo de las columnas en la tabla.







Comparte



Enlaces
Cocina Facil IngenieroSoftware.com  
Última modificación:31 de Agosto de 2017. Spain - Espa�a.
© 1998-2004 por . Todos los derechos reservados.