MySQL es un RDBMS (Sistema de Gestión de Bases de Datos Relacionales), esto significa que los datos se organizan en tablas y se pueden establecer relaciones entre unas tabla y otra.
Organizar datos en tablas
Las tablas RDBMS se organizan como otras tablas que tú ya debes conocer, es decir, en filas y columnas. El lugar donde una fila y una columna se cruzan, es llamado campo.
El enfoque de cada tabla es un objeto (una cosa) sobre la cual quieres almacenar información. Algunos ejemplos de objetos son: clientes, productos, libros, proyectos, etc.
Debes crear una tabla para cada objeto y el nombre de la tabla debe identificar claramente los objetos que contiene con una palabra o término descriptivo. El nombre debe ser una cadena de caracteres, que contenga letras, números, signos de subrayado, o símbolos, sin espacios entre sí. Lo usual es que se le bautice con una palabra en singular, por ejemplo, “cliente” y una tabla que contenga órdenes de clientes se deberá llamar “ordencliente”.
Ten en cuenta que las mayúsculas o minúsculas del nombre de la tabla son importantes en Linux o Unix, aunque no en Windows. OrdenCliente y ordencliente significan lo mismo para Windows, pero no para Linux o Unix.
En lenguaje de base de datos un objeto es una entidad y una entidad tiene atributos. En una tabla cada fila representa una entidad, y las columnas contienen los atributos de cada entidad. Por ejemplo, en una tabla de clientes, cada fila contiene información para un solo cliente. Algunos de los atributos contenidos en las columnas podrían ser el nombre, apellido, número de teléfono, y la edad.
Los pasos para organizar los datos en tu tabla son los siguientes:
1. Dale un nombre a tu tabla, para ellos sigue los consejos que te acabamos de dar.
2. Identifica los objetos, observa el listado de información que quieres alojar en la base de datos, analízala e identifica esos objetos. Nombre, dirección, edad, RUT, pueden ser algunos de esos objetos.
3. Identifica y crea una tabla distinta según tus objetos. Puede que sea mejor separar la información de contacto de la información personal en distintas bases de datos.
4. Identifica los atributos para cada objeto; separa la información que se almacena lo que más te sea posible. Por ejemplo, si almacenas nombres de personas en una tabla, puede separar el nombre en primer nombre y apellido. Hacer esto te permitirá ordenar por el apellido, lo que será más útil de si llegaran a estar juntas.
5. Define y nombra columnas por cada atributo que identificaste en el paso anterior. Da a cada columna un nombre que identifique claramente la información que contiene. Los nombres de columna deben ser una sola palabra, sin espacios. Por ejemplo, PrimerNombre ó primer_nombre
Algunas palabras están reservadas por MySQL y SQL para su propio uso y no se puede utilizar como nombres de columna. Algunas de las palabras que se utilizan actualmente en SQL o se reservan para uso futuro, son ADD, ALL, AND, CREATE, DROP,GROUP, ORDER, RETURN, SELECT, SET, TABLE, USE, WHERE, y muchos otras que no se puede utilizar como nombres de columna. Para una lista completa de las palabras reservadas, consulte el manual de MySQL en línea en www.mysql.com/doc/en/Reserved_words.html.
6. Identificar la clave principal.
Cada fila de una tabla necesita un identificador único. Ninguna fila de una tabla debe ser exactamente igual a otra. Al diseñar tu tabla, tú decides qué columna tiene el identificador único, llamado la clave principal.
7. Definir los valores predeterminados.
Puede definir un valor predeterminado que MySQL asignará a un campo cuando no hay datos introducidos en él. Por ejemplo, si tu aplicación almacena una dirección que incluye un país, puedes especificar, Chile como el predeterminado. Si el usuario no escribe un país, Chile será automáticamente ingresado.
8. Identificar las columnas que requieren datos.
Puedes especificar que a ciertas columnas no se les permite estar vacías (también llamado NULL). Por ejemplo, la columna que contiene la clave primaria no puede estar vacío. Eso significa que MySQL no creará la fila y devolverá un mensaje de error. El valor puede ser un espacio en blanco o una cadena vacía (por ejemplo, “”).