Tablas
Una tabla es una estructura que contendrá un subconjunto de los datos en una base de datos. es la estructura principal donde se guardará la información, ya que toda información de la base de datos estará contenida en tablas. La tabla, a su vez, tiene una estructura (campos) y una serie de registros (los datos en sí); todos los registros tendrán los mismos campos, ni uno más ni uno menos. Considerando solamente que una tabla tiene campos y los datos están en registros, no habría mucha diferencia con, por ejemplo, una hoja de cálculo (que tiene columnas y tiene filas); pero una tabla en una base de datos es mucho más que campos y registros, y se revisarán algunas de esas estructuras.
Campos
Una tabla tiene una estructura de datos que la definimos con los campos que puede contener. Cuando creamos una tabla debemos indicarle a la base de datos cuántos campos tendrá, de qué tipo serán (números, fechas, texto, etc.), de qué longitud será (en el caso de los textos principalmente) y cómo se llamará cada campo. Es necesario cuidar que todos sean campos con nombres únicos (no puede haber dos campos con el mismo nombre en la misma tabla) y que todos ellos tengan un tipo y una longitud al menos. Todo esto se define con instrucciones SQL de DDL (Data definition Language).
Cuando creamos la tabla e indicamos los campos que tendrán (con su tipo y longitud) lo que estamos indicándole a la base de datos que verifique que cada registro en dicha tabla tenga todos esos campos, y que el contenido de cada campo coincida con el tipo y con la longitud definida para cada campo.
Registros
Si los campos son la definición de la estructura que tendrán los datos, los registros son los datos propiamente dicho. Es cada una de las filas, tuplas o ejemplos. Cada registro contará con los campos -o estructura- que se definieron para su tabla y podrán guardar cualquier dato, siempre y cuando cumplan con las restricciones de cada campo (hasta ahora, solo hemos visto tipo y longitud).
Si hacemos un buen diseño de la base de datos, y por tanto de las tablas, entonces cada registro en una tabla debe ser único; y «único» no significa que todos y cada uno de los valores en todos los campos sean únicos en todos los registros (un campo de Sexo puede tener pocos valores posibles, y se puede repetir, por ejemplo), lo que significa es que no debe haber dos registros completamente iguales, es decir, debe haber una manera de identificar a cada registro de manera única.
La manera de identificar a cada registro como único se hace por medio de uno o más campos que le den «unicidad» al registro, es decir, que el valor de ese campo -o campos- si sea irrepetible en toda la tabla, todos los demás campos se pueden repetir, pero la base de datos se debe de asegurar que no haya dos registros exactamente iguales. A este campo -o campos- se le denomina llave principal.
Si se siguen las formas normales, entonces se puede asegurar que todas las tablas en la base de datos tengan su llave principal definida.
Además de asegurarse de que todos los datos respeten el tipo y longitud de su campo, y de que la tabla tenga definida su llave principal, existen otras restricciones que se pueden poner a las tablas para que sea el motor de base de datos que verifique que cada vez que se quiera dar de alta o modificar un registro se valique que los datos cumplan con dichas restricciones. Algunas de las restricciones que se pueden definir en los campos son:
- Que tenga ciertos valores o rango de valores (Turno que solo contenga «Matutino», Vespertino» o «Nocturno» por ejemplo)
- Que el valor de un campo esté en cierto rango (Que la Edad esté entre 0 y 100, por ejemplo)
- Que permita o no permita valores nulos
- Que se no haya valores repetidos en los registros (Número de matrícula o boleta para un alumno, o un número de empleado dentro de una empresa, por citar un ejemplo)
- Si se trata de una clave, que esa clave esté registrada en otra tabla (que la clave de la ciudad esté dentro de la tabla de ciudades, para evitar que los datos sean inexactos, por ejemplo).
Cada una de estas restricciones se hacen con comandos de DDL al momento de crear la tabla o posteriormente. A partir de ahí, la base de datos se asegurará que cada registro cumpla con las restricciones impuestas