Informática Aplicada a las Ciencias Sociales.
Prácticas Bases de Datos, Openoffice Base
Capítulo 3. Tipos de datos y edición de tablas

Este tema está dividido en dos apartados.
En el primero se van a mostrar los tipos de datos que pueden tener los atributos, además de las opciones existentes dentro de cada tipo.
En el segundo apartado vamos a ver cómo editar tablas ya creadas, bien sea para añadir, eliminar o modificar atributos representados en columnas.

1. Tipos de datos

En el segundo apartado de la unidad anterior vimos cómo a cada columna de nuestra tabla hay que asignarle el tipo de dato que va a almacenar, aunque simplemente enumeramos los tipos más conocidos, sin explicar en profundidad qué es un tipo de dato y los distintos tipos de datos que permite guardar OOo Base. En este primer apartado de esta unidad vamos a ver por qué hay que elegir entre diferentes tipos de datos y cuáles son.

unidad3_html_6f2a076a.png

Figura 3.1.Tabla de películas y sus tipos de dato

En primer lugar, vamos a responder a la pregunta de por qué hay distintos tipos de datos. Para ello basta con pensar en la tabla Peliculas que creamos en la unidad anterior. Cada campo de dicha tabla estaba definido para almacenar un tipo de información concreta (ver Figura 3.1); por ejemplo, la columna Director siempre va a almacenar el nombre del director por lo que, si queremos introducir el nombre de un director, teclearemos un texto que incluya su nombre y al menos el primer apellido; es decir, la naturaleza de los valores introducidos es de tipo texto. En cambio, en la columna Año vimos que siempre almacenábamos la fecha del estreno, por lo que al introducir un valor para este campo necesitamos que, de alguna manera, nuestra base de datos sepa distinguir lo que es el día, el mes y el año.
Es decir, ambos almacenan una información muy concreta en cada caso y para nosotros es muy fácil ver la naturaleza de los valores que almacena cada uno de esos campos. Dicha naturaleza es lo que se conoce como tipo de dato y lo ofrecen las bases de datos para, entre otras cosas, facilitar el almacenamiento de los valores y por tanto la gestión de la memoria lo que, entre otras cosas, influye en la rapidez de respuesta en la búsqueda de valores. Además dentro de cada tipo de datos existen una serie de propiedades, por ejemplo, el tamaño máximo permitido o el control de una flecha válida, que ayudan a definir un campo con más concreción.
Dentro de OOo Base en particular podríamos clasificar los distintos tipos de datos en cuatro grandes grupos:

  • Alfanuméricos. (ver Tabla 3.1). Se utilizan para almacenar textos que pueden contener letras y números, pero teniendo en cuenta que los números serán tratados como un carácter más. El más utilizado es el tipo Texto [VARCHAR].

tabla31_1.jpg

Tabla 3.1.Tipos de datos alfanuméricos

  • Numéricos, enteros (ver Tabla 3.2) y reales (ver Tabla 3.3). Se utilizan para almacenar valores numéricos sobre los que, al contrario que en los tipos alfanuméricos, se podrán realizar operaciones aritméticas. En las propiedades de los reales hay que indicar cuántas de las cifras del tamaño asignado serán decimales (se conoce también como la escala). Los más utilizados son Integer [INTEGER] y Número[NUMERIC].

tabla32_1.jpg

Tabla 3.2.Tipos de datos enteros

tabla33.jpg

Tabla 3.3.Tipos de datos reales

  • Temporales (ver Tabla 3.4). Se utilizan para guardar fechas y/o horas.

tabla34.jpg

Tabla 3.4.Tipos de datos temporales

  • Especiales (Ver Tabla 3.5). Tipos de datos que no entran en ninguna de las clasificaciones anteriores. El más utilziado es el tipo Sí/No [BOOLEAN]

tabla35.jpg

Tabla 3.5.Tipos de datos especiales

Además, dependiendo del tipo de dato, podemos tener hasta seis propiedades (ver Figura 3.2) que se pueden configurar para mantener la consistencia y el formato de la información introducida. Éstas son:

unidad3_html_9cc73bc.jpg

Figura 3.2. Propiedades de los campos

  • Valor automático. Si se pone afirmativo permite que OOo Base dé automáticamente un valor secuencial a este campo. Se suele utilizar cuando la clave primaria de nuestra tabla va a ser un entero al que iríamos dando valores consecutivos cada vez que introducimos una nueva fila (como en el caso de nuestra tabla películas). Sólo está disponible con los tipos Integer y BigInt.
  • Entrada requerida. Sirve para indicar si será obligatorio o no introducir un valor en este campo para cada fila de la tabla. Cualquier campo que definamos como clave primaria automáticamente exige la introducción de un valor siempre.
  • Tamaño o longitud. Especifica la longitud máxima permitida.
  • Decimales. Sirve para especificar cuántas cifras del tamaño asignado serán decimales.
  • Valor Predeterminado. Permite asignar un valor por defecto para este campo a todas las filas que se vayan introduciendo. Es posible modificar posteriormente este valor en cada fila.
  • Ejemplo de formato. Permite especificar el formato del campo. Muy útil sobre todo para los campos de tipo Fecha y Hora para indicar el formato de introducción de los mismos y también para los campo de tipo real donde vayamos a guardar valores monetarios indicando la moneda que se usará.

2. Edición de tablas

Antes de comenzar con este apartado ya debería estar clara la diferencia entre la ventana de introducción de datos en la tabla (Figura 3.3) y la ventana de edición de la tabla (Figura 3.4).

unidad3_html_m2bd8826.png

Figura 3.3. Ventana de introducción de datos

La primera se utiliza para introducir datos en la tabla seleccionada tal y como vimos en el tercer apartado de la unidad anterior.

unidad3_html_4863b02f.png

Figura 3.4. Ventana de edición de tabla

La segunda ventana es la misma que utilizamos para crear una tabla pero, en este caso, con el objetivo de añadir o eliminar columnas (atributos) de nuestra tabla, o bien, de modificar alguna propiedad de las mismas.
En este apartado nos vamos a centrar en la edición de las columnas de una tabla ya creada, en este caso nuestra tabla Peliculas. Para abrir esta tabla para editarla tenemos que situarnos en la pantalla principal de OOo Base en el apartado de Tablas y hacer un clic con el botón derecho del ratón y seleccionar la opción Editar (Figura 3.5).

unidad3_html_m2aedd23.png

Figura 3.5. Selección de edición de tabla

Para añadir nuevas columnas a nuestra tabla hay que seguir el mismo proceso que en la creación de una tabla; es decir, introducir un valor para el nombre del campo, elegir un tipo de campo y escribir una descripción de ese campo.
Para eliminar columnas de nuestra tabla nos situamos al inicio del campo y seleccionamos la opción eliminar (Figura 3.6). Antes de eliminar una columna de nuestra tabla debemos saber que al hacerlo se borrarán todos los valores que tuviéramos dados a esta columna en nuestra filas por lo que, sobre todo en el caso de la columna que sea clave primaria, hay que pensar muy bien si de verdad es conveniente eliminar esa columna.

unidad3_html_63b70bcc.png

Figura 3.6. Opción Eliminar columna de una tabla

En el caso de haber borrado una columna de la tabla accidentalmente siempre tenemos la opción de cerrar la ventana de edición sin guardar los cambios realizados.

2.1 Modificación de columnas existentes
Las modificaciones que se pueden realizar sobre las columnas existentes pueden ser de dos tipos:

  • cambios de nombre del campo o de la descripción del mismo.
  • cambio en las propiedades del campo, desde ser o no clave primaria, a cambiar el tipo de campo y las propiedades asociadas a ese tipo de campo.

unidad3_html_26053fa0.png

Figura 3.7. Cambio de nombre de campo

En el caso de las primeras, basta con situarse en el valor que queramos modificar y cambiar el contenido del texto. Por ejemplo, podemos cambiar el nombre de la columna Vista por el de Visionada como se muestra en la figura 3.7.
Más importantes para la integridad de la tabla, y en algún caso más complejas de realizar, son las operaciones que contemplan el cambio de tipo de datos o el cambio de las propiedades del campo.
El primero de este tipo de cambios es asignar que un campo es o no clave primaria. Hacer este cambio es muy sencillo, tal y como vimos en la unidad anterior, cuando fijamos la columna Id_pelicula como clave primaria de Peliculas. Pero las consecuencias que conlleva dicho cambio para nuestra tabla pueden ser críticas. Para empezar, OOo Base no nos va a permitir introducir datos en una tabla que no tenga clave primaria por lo que en caso de desasignar una columna como clave primaria debemos asignarselo a otra, pero con cuidado, ya que una vez que nuestra tabla ya tiene datos es muy difícil encontrar otra columna que cumpla las condiciones necesarias para ser clave primaria (recordamos que la primera es que ese campo siempre tiene que tomar valor para cada fila de la tabla, y, la segunda, que dicho valor no puede repetirse entre ninguna fila) y nos podemos encontrar un aviso como el que aparece en la figura 3.8: si por ejemplo intentamos fijar el campo Director como clave primaria y damos a guardar la tabla.

 

unidad3_html_m5b14260.png
Figura 3.8 Error al cambiar clave primaria

Este error se produce porque hemos incumplido la segunda condición de una clave primaria (no repetir valor) porque el valor Ridley Scott aparece en más de una fila en esa columna.
El siguiente tipo de cambio que vamos a estudiar es el cambio de tipo de dato. Para realizar este tipo de cambio hay que tener en cuenta que habrá que elegir un tipo de dato compatible con los valores ya introducidos.
Por ejemplo, si cambiamos el tipo de dato del campo Visionada a tipo Texto, en lugar de Sí/No, OOo Base es capaz de realizarlo porque convierte las casillas marcadas al texto true (verdadero en inglés) y las desmarcadas a false (falso en inglés) tal y como se muestra en la figura 3.9.

unidad3_html_cc29d47.png

Figura 3.9 Tabla Peliculas tras cambio en columna Visionada

Cuando cambiamos entre tipos de datos numéricos, por ejemplo, entre uno de tipo real y otro de tipo entero hay que tener cuidado de que el tamaño del nuevo tipo sea lo suficientemente grande y tener en cuenta que sólo se respetará la parte entera de los valores previamente almacenados.
Este tipo de conversiones no siempre se pueden realizar. Así, por ejemplo, aunque sería posible cambiar el campo Año de tipo Fecha a tipo Texto, no nos va a dejar convertirlo a uno de tipo Integer, ya que aunque en el primer paso no es complicado para OOo Base transformar una fecha a una cadena de texto, en el segundo caso no es capaz de convertir una fecha a un número y nos muestra una pantalla como la que se ve en la figura 3.10.

unidad3_html_md3bb3f3.png

Figura 3.10. Advertencia antes de cambiar columna a un tipo de dato no compatible con actual

Es decir, la solución que nos propone es eliminar por completo esa columna y crear una nueva con el nombre que ya tenía y el nuevo tipo, pero perdiendo los valores que ya teníamos introducidos en ese campo.
Un cambio muy útil que podemos realizar en nuestra tabla es hacer que nuestra clave primaria tome valores automáticamente, por ejemplo para poner un código de referencia a un producto. Para ello, para la tabla Peliculas, lo primero que debemos cambiar es el tipo de dato de Id_Pelicula a Integer, ya que estaba definido como tipo Número. Este cambio no nos debe causar problemas ya que los valores de Id_pelicula que estábamos dando eran todos enteros. A continuación fijaríamos esta columna con la propiedad Valor Automático a Sí y guardaríamos la tabla. La nueva estructura de la tabla se muestra en la figura 3.11.

unidad3_html_m71c487e9.png

Figura 3.11. Campo Id_pelicula con valor automático

A partir de ahora, cada vez que introduzcamos una nueva fila en la tabla Peliculas al campo Id_pelicula se le asignará el mayor valor asignado hasta ese momento incrementado en 1.
El último tipo de modificación que vamos a ver es del Ejemplo del Formato. Esta propiedad es importante en muchos campos pero, posiblemente, donde más cuidado hay que tener con ella es en los campos de tipo temporal para no tener problemas cuando introduzcamos fechas y horas.
Vamos a ver algún ejemplo de esta propiedad con nuestro campo Año. Para ello, seleccionamos dicho campo y pinchamos en el botón que hay a la derecha de la propiedad Ejemplo de Formato y que destaca además porque tiene 3 puntos suspensivos dentro (ver Figura 3.12).

unidad3_html_7bfcc580.png

Figura 3.12. Selección de entrada a propiedad Ejemplo de Formato

Nos debe aparecer entonces una ventana como la de la figura 3.13.

unidad3_html_m30b4ea3b.png

Figura 3.13. Ventana de formato de campo

Como podemos ver, esta ventana tiene bastante información. Para empezar, en la parte superior derecha podemos elegir el idioma. La elección de idioma no es un tema trivial ya que, por ejemplo, los formatos de fecha predefinidos no serán los mismos para idiomas de países anglosajones que para países europeos continentales. Una vez que hemos elegido el idioma, el siguiente paso es escoger la categoría del formato que vamos a definir en la ventana superior izquierda; en nuestro caso la categoría del formato es Fecha. Dentro de la categoría fechas existen una serie de formatos predefinidos que se muestran en la ventana superior central. Un ejemplo de cómo se vería el formato elegido se muestra en el rectángulo que aparece en el centro de la ventana a la derecha. Además, todos los formatos predefinidos pueden ser adaptados por el usuario y guardados para su uso posterior en la parte inferior de la ventana llamada Código del formato.
Vamos a ver un ejemplo para ilustrar mejor este punto. Hasta ahora nuestro campo Año estaba predefinido como DD/MM/AA; es decir, dos cifras para el día, dos para el mes y dos para el año. Vamos a suponer que a partir de ahora queremos que el mes se introduzca y se muestre con su nombre en lugar de con su número y separado por la preposición de del día y del año. Elegimos la opción correspondiente en los formatos predefinidos de fecha (ver figura 3.14) y damos al botón Aceptar.

unidad3_html_m7115e359.png

Figura 3.14. Selección del nuevo formato

Si abrimos después de este cambio la tabla Peliculas el resultado obtenido debería ser el que se muestra en la figura 3.15. Debido a que es más sencillo la introducción de fechas con el formato original es recomendable dejar las fechas en dicho formato.

unidad3_html_2ee07c57.png

Figura 3.15. Tabla películas tras cambio de formato en campo Año

3. Ejercicios propuestos.

1.Modificar el nombre del campo Vista de la tabla Peliculas por el nombre Visionada.
2.Modificar la tabla Peliculas para que al campo Id_pelicula se le den valores automáticamente con cada nueva fila.



Fuente: Tutorial de OpenOffice.org Base
Autor: Álvaro E. Prieto Ramos. Universidad de Extremadura
Bajo licencia de Creative Commons.

 

Búsquedas