Crear una tabla
Existen dos formas de crear tablas en Base, utilizando el Asistente o bien empleando la herramienta de diseño de tablas. El asistente ofrece algunas facilidades pero también ciertas limitaciones por lo que en primer lugar nos decantaremos por la opción de diseño de tablas.
En la ventana Diseño de tabla que podemos observar en la figura 2.01, encontramos la típica barra de menús de OpenOffice.org y debajo una barra de herramientas reducida cuyas funciones se activarán en cuanto empecemos a introducir información.
Figura 2.01
Campos de la tabla
Como ya hemos comentado, la estructura interna de la tabla está formada por campos. Estos campos determinan el carácter de la información que almacenan y se identifican mediante un “nombre de campo”. En principio puede ser válida cualquier denominación. Sin embargo, es conveniente cumplir algunas normas:
- El nombre del campo debe describir, en la medida de lo posible, la información que almacena.
- Intenta que no sea tan corto que no permita adivinar su contenido, ni tan largo que resulte incómodo trabajar con él.
- Es aconsejable no utilizar símbolos o caracteres especiales (guiones, espacios en blanco,…) que puedan generar problemas con ciertas operaciones o al trasladar la base de datos a otros sistemas.
- Elige con cuidado el tipo de datos para optimizar al máximo la base de datos. A continuación comentamos las características de los tipos de datos disponibles en Base.
- No dudes en utilizar la columna Descripción para indicar el propósito de cada uno de los campos.
- El nombre de los campos no puede empezar por espacios ni contener signos de puntuación ni corchetes.
- No pueden existir dos campos con el mismo nombre en la misma tabla.
Tipos de datos
El Tipo de datos determina el carácter de la información que contiene el campo. No es lo mismo almacenar valores numéricos con los que posteriormente podremos realizar operaciones matemáticas, que guardar textos como los nombres de los alumnos.
Después de introducir el nombre del campo, al desplegar el cuadro de lista asociado a la columna Tipo de campo aparecerá una larga lista de posibilidades como puedes ver en la figura 2.02.
Figura 2.2
Entre ellas, las más importantes son:
- Tiny Integer: Utilizado habitualmente para números enteros pequeños comprendidos entre -128 y 128.
- BigInt: Corresponde a un número entero de hasta 19 cifras.
- Nota: Tipo carácter, destinado a almacenar textos de gran longitud como pueden ser comentarios, etc.
- Texto fijo: Muy útil para almacenar datos de tipo carácter con una longitud fija, que especificamos en la propiedad Longitud.
- Número: Es el tipo numérico más flexible. Permite determinar su tamaño y su precisión en cuanto al número de valores decimales que puede representar.
- Decimal: Número en punto flotante equivalente al anterior.
- Integer: Es el tipo de datos normalmente utilizado para almacenar enteros. Admite valores comprendidos entre -2147483648 y 2147483648.
- Small Integer: Este tipo de datos de números enteros sólo se suele utilizar si se necesita economizar espacio de almacenamiento, ya que su rango va desde -32768 hasta +32767.
- Double: Tipo de datos numéricos con decimales en el que se aplica el redondeo.
- Texto [VARCHAR]: Tipo de campo destinado a cadenas de caracteres cuya longitud no es fija. En la propiedad Longitud se determina su longitud máxima.
- Sí/No: Este tipo de datos, conocido como “booleano”, se utiliza para representar datos Verdadero/Falso o Sí/No o 1/0.
- Fecha, Hora y Fecha/Hora: Estos tipos de datos se utilizan para almacenar información referida a horas, fechas o su combinación. El formato de presentación lo podemos seleccionar en la propiedad Formato.
Para nuestros propósitos no es necesario que conozcas en detalle la descripción de cada uno de los tipos de datos. Por este motivo, nuestra recomendación es que imprimas esta página y la tengas a mano cada vez que necesites crear una tabla o añadir un nuevo campo.
Propiedades de los tipos de datos
Cada vez que elegimos un tipo de dato, la parte inferior de la ventana de diseño muestra una serie de opciones que permiten ajustar el comportamiento del campo a las necesidades de cada situación. En la figura 2.3 puedes ver las propiedades del tipo Texto. En este caso, cabe destacar la segunda de las opciones denominada Longitud, con la que podrás establecer el tamaño máximo de la cadena de caracteres que contendrá el campo.
Figura 2.3
La longitud máxima del tipo Texto es de 255 caracteres. Si piensas que el campo superará este límite es necesario utilizar el tipo Nota.
Existen propiedades compartidas por más de un tipo de dato y otras específicas sólo disponibles en algunos de ellos. A continuación comentamos las más importantes:
- Valor automático: Al activar esta opción será OpenOffice Base el encargado de añadir nuevos valores al campo. Los valores son secuenciales y distintos por lo que esta propiedad resulta especialmente útil para asociarla a campos clave de la base de datos. Sólo aparece en los campos de tipo Integer.
- Expresión incremento automático: Como muestra la figura 2.04, esta propiedad aparece automáticamente tras definir la opción anterior como Sí. Su función es la de establecer el valor de incremento del campo, y por lo general, la expresión predeterminada cumplirá perfectamente nuestras pretensiones.
Figura 2.4
- Tamaño: Especifica el número de caracteres para los campos de tipo texto o la longitud máxima en los tipos numéricos. Las posiciones decimales también cuentan y se restarán del tamaño total.
- Decimales: Determinar el número de valores decimales que deseamos almacenar en el campo.
- Ejemplo de formato: Haz clic en el pequeño botón que aparece a la derecha de este campo para mostrar el cuadro de diálogo que puedes ver en la figura 2.05. En él podremos definir de forma precisa el modelo de representación para los datos en el campo. Las posibilidades de este cuadro de diálogo son realmente interesantes por lo que ampliaremos su descripción en los próximos apartados.
Figura 2.5
- Valor predeterminado: Aquí podemos escribir el valor por defecto que tomará el campo después de añadir un nuevo registro.
- Entrada requerida: Si decides elegir la opción Si para esta propiedad estarás obligando al usuario a introducir un dato en este campo, si no lo haces el registro no se podrá guardar en la tabla.
Al situar el cursor sobre cualquier propiedad, Base mostrará en el margen derecho una descripción detallada de la misma.
Actividad 1
Una vez descrita la teoría básica sobre tablas, campos y tipos en OpenOffice Base disponemos de la información suficiente para crear nuestra primera tabla. La primera tabla que debemos crear estará destinada a guardar los datos personales de todos los alumnos.
- Abre la base de datos base1.odb proporcionada para trabajar en las diferentes actividades de este capítulo.
- Fíjate en el margen izquierdo de la ventana de OpenOffice Base y haz clic sobre el elemento denominado Tablas.
- En la sección Tareas, selecciona Crear tabla en vista Diseño.
- Una vez en la ventana de diseño, haz clic en el primer campo y escribe “Expediente”.
- Utiliza la tecla Tab para pasar a la siguiente columna donde debemos elegir el tipo de dato para el campo. El pequeño botón situado a la derecha permite desplegar la lista de tipos como muestra la figura 2.06.
Figura 2.6
- En esta lista, elige el tipo Integer [INTEGER] para el campo Expediente.
- Una vez determinado el tipo en la columna Descripción podemos escribir el siguiente texto “Número de expediente del alumno”.
- Ahora debemos bajar la mirada, y fijarnos en las propiedades del campo. Aquí nos interesa sobre todo la propiedad Entrada requerida que debemos establecer en “Sí”. Es necesario obligar a introducir un número de expediente para no tener problemas a la hora de identificar cada alumno. El resto de propiedades las puedes dejar tal y como están. En la figura 2.07 puedes comprobar el aspecto de la ventana de diseño después de añadir nuestro primer campo.
Figura 2.7
- Siguiendo el mismo procedimiento, añade el resto de campos de la tabla según las indicaciones que tienes a continuación. Con respecto a las propiedades, por ahora con las opciones por defecto será suficiente.
Nombre del campo |
Tipo de campo |
Descripción |
Expediente |
Integer |
Número de expediente del alumno |
Nombre |
Texto [VARCHAR] |
Nombre del alumno |
Apellidos |
Texto [VARCHAR] |
Apellidos del alumno |
Grupo |
Small Integer |
Grupo de clase del alumno |
FechaNacimiento |
Fecha[DATE] |
Fecha de nacimiento del alumno |
Para desplazarte entre las columnas Nombre del campo, Tipo de campo y Descripción puedes utilizar la tecla Tab, los cursores o hacer clic sobre la celda que quieres rellenar.
- Una vez concluida la definición de los campos de la tabla el aspecto de la ventana de diseño deberá ser similar al que muestra la figura 2.08.
Figura 2.8
- El siguiente paso será guardar la estructura de la tabla que hemos creado. Selecciona Archivo>Guardar como o haz clic sobre el icono
situado en la barra de herramientas para mostrar el cuadro de diálogo que aparece en la figura 2.09.
Figura 2.9
- A nuestra primera tabla la llamaremos Alumnos. Inmediatamente después de hacer clic sobre el botón Aceptar, aparece una ventana de aviso para advertirnos de que no hemos definido ninguna llave primaria (figura 2.10). Hasta que no lo hagamos no podremos introducir datos en la tabla. A pesar de ello y de momento, elegiremos No. Un poco más adelante hablaremos de las llaves y claves primarias
Figura 2.10
Una vez creada nuestra tabla, podemos seguir trabajando con ella, modificarla o dejarla tal cual y salir de la ventana de diseño. Para salir, selecciona Archivo>Terminar, o teclea la combinación de teclas Control+ Q o cierra la ventana con el ratón.
Campos claves
En cualquier base de datos los registros incluidos en sus diferentes tablas deben estar perfectamente identificados y de esto se encargan las claves o llaves. Trasladando este concepto a la vida real, cada ciudadano tiene un número de DNI, puede haber dos personas con igual nombre e incluso apellidos iguales, pero ambos se diferenciarán por su número de DNI, que es único en “teoría”.
Cada tabla debe contener al menos un campo que permita identificar unívocamente cada registro. Este campo puede ser real, como el propio DNI de una persona. O puede ser un valor que nos inventemos para conseguir el mismo fin, como un número que asignemos automáticamente a cada registro, asegurándonos (realmente lo hará Base) de que no se repita. Otra opción es utilizar una combinación de campos para identificar los registros de la tabla. Por ejemplo podríamos definir la combinación de Nombre y Apellidos de nuestra tabla para este fin. Sin embargo, existe la probabilidad de que haya alumnos con igual nombre y apellidos, por lo que no sería una clave del todo válida.
Actividad 2
A continuación añadiremos una clave a nuestra primera tabla. Para ello elegiremos un campo ya definido y que tenemos la certeza de que no se va a repetir, el número de expediente de los alumnos.
- En la base de datos base1, abre de nuevo la tabla Alumnos en la vista Diseño, haz clic con el botón derecho sobre ella y selecciona el comando Editar como muestra la figura 2.11.
Figura 2.11
- Inmediatamente aparecerá la ventana de Diseño de tabla que ya conocemos. A continuación, haz clic con el botón derecho en el espacio vacío situado a la izquierda del campo Expediente y en el menú emergente que aparece selecciona el comando Llave primaria como puedes ver en la figura 2.12.
Figura 2.12
- Junto al campo modificado aparecerá un icono representando una pequeña llave como muestra la figura 2.13. También puedes observar que ha desaparecido la propiedad Entrada requerida, ya que a partir del momento en que un campo es clave o llave es obligatorio rellenar este dato para poder añadir el registro a la tabla.
Figura 2.13
- Para terminar, guarda los cambios realizados.
Una vez definida la llave primaria ya podemos introducir datos en nuestra tabla.
Si necesitamos utilizar más de un campo para componer la llave de una tabla, será suficiente con seleccionar en primer lugar los campos que deseamos utilizar para después hacer clic con el botón derecho y elegir el comando Llave primaria.