Bases de datos en la enseñanza

2 / Diseño de tablas

El Asistente para tablas

El Asistente para tablas de OpenOffice Base incluye multitud de tablas prediseñadas que podemos configurar y utilizar en tan sólo unos minutos. A continuación vamos a crear una tabla utilizando el asistente para tablas.

Actividad 6

  1. Abre la base de datos base2.odb y en el margen izquierdo selecciona Tablas. Después, en la sección Tareas, haz doble clic sobre la opción Usar el asistente para crear tabla. Observa el aspecto del primer paso en la figura 2.29.

Primer paso del Asistente para la creación de tablas

Figura 2.29

  1. De las dos categorías disponibles, elegiremos Negocios para seguir esta actividad.
  2. A continuación, en la lista desplegable Tablas de muestra selecciona el modelo denominado Clientes.
  3. Dentro de la sección Campos disponibles encontrarás los campos predefinidos para este modelo. En este caso, nuestra intención es crear una tabla con los datos personales del profesorado, por lo que debemos elegir los campos siguientes: IDCliente, Nombre, Apellido, Dirección, Cuidad, EstadoOProv, CódPostal y Departamento. Haz doble clic en cada campo o utiliza el botón para pasarlos todos. En este punto, el aspecto del cuadro de diálogo debe ser el que muestra la figura 2.30.

Seleccionar los campos de la tabla en el Asistente

Figura 2.30

Si nos equivocamos al desplazar algún campo o la totalidad, podemos devolverlos a la ventana de origen haciendo clic en los botones .

  1. Podemos añadir campos procedentes de otros modelos de tablas. Basta con elegir otra opción en la lista Tablas de muestra y seleccionar los campos que deseemos. Cuando tengamos elegidos todos los campos que vayamos a utilizar pulsa el botón Siguiente.
  2. En el siguiente paso del asistente (figura 2.31), OpenOffice Base ofrece la posibilidad de modificar las propiedades de cada uno de los campos seleccionados e incluso añadir nuevos campos creados por nosotros mismos mediante en el botón . Igualmente podemos eliminar alguno de los campos, seleccionándolo en primer lugar y pulsando a continuación el botón . Aprovecha este paso del asistente para cambiar el nombre del campo EstadoOProv por simplemente Provincia y del mismo modo cambia IDCliente por IDProfesor conservando el resto de valores como vienen definidos en el modelo. En las propiedades del campo IDProfesor asignaremos a la opción Valor automático. Por último, selecciona en el margen izquierdo el campo Departamento y en la opción Tipo de campo elige Integer[INTEGER], esto nos servirá para vincular el código del departamento al que pertenece cada profesor.

Elegir el formato adecuado para cada campo

Figura 2.31

  1. Después de hacer clic en el botón Siguiente pasamos a la siguiente ventana del asistente. En ella deberemos establecer la clave principal de nuestra tabla y para ello tenemos tres posibilidades:
    • Si elegimos Autovalor, Base añade un nuevo campo que actuará como clave y cuyo valor se incrementará automáticamente cada vez que incluyamos un nuevo registro.
    • Otra posibilidad es elegir uno de los campos ya existentes en la tabla.
    • Como última opción, nos queda elegir una combinación de campos que sirva para identificar de forma inequívoca cada uno de los registros de la tabla.
  2. En el ejemplo elegido tenemos un candidato perfecto para ser clave de la tabla, se trata del campo IDProfesor. Después de activar su propiedad Valor automático será el propio programa el que se encargue de añadir un nuevo “valor único” a este campo cada vez que se añada un registro a la tabla. Por lo tanto, selecciona la segunda de las opciones y en la lista desplegable Nombre del campo elige el campo IDProfesor, como puedes ver en la figura 2.32.

Activar la casilla de verificación Autovalor tiene el mismo efecto que utilizar la propiedad Valor automático de las propiedades del campo. En este caso aparece activada, dado que ya configuramos este aspecto en el paso anterior.

Establecer la clave principal de la tabla

Figura 2.32

  1. Después de hacer clic en Siguiente llegamos a la última ventana del asistente donde debemos asignar un nombre a la tabla que, en este caso, llamaremos Profesores (figura 2.33). A partir de aquí disponemos de tres opciones: Insertar datos inmediatamente, Modificar el diseño de la tabla y Crear un formulario basado en esta tabla. Selecciona la segunda ellas para comprobar el trabajo realizado por el asistente.

Último paso del asistente, asignar un nombre a la nueva tabla

Figura 2.33

 

Para seguir trabajando con el curso es necesario añadir algunas tablas más. Por este motivo la siguiente actividad será añadir todas las tablas que necesitamos. Muchas de estas tablas: Alumnos, Profesores, Cursos, Departamentos, Tutorías... nos pueden servir de base para desarrollar casi cualquier necesidad que se nos plantee en la actividad diaria del centro como por ejemplo: Gestionar los horarios de tutoría, controlar diferentes aspectos de nuestros alumnos como faltas de asistencia, notas, méritos…

Actividad 7

A continuación crearemos el resto de tablas necesarias para completar los ejemplos del resto del curso. En este caso podemos distinguir tres tipos de tablas:

  • En primer lugar tenemos las tablas básicas que nos servirán para la mayoría de las bases de datos que necesitemos diseñar en nuestro centro. Nos referimos a: Cursos, Alumnos, Profesores y Departamento.
  • También tenemos las tablas relacionadas con el ejemplo de la gestión de Actividades Deportivas. En este caso serían: Actividades, Calendario, Equipos y Participantes.
  • Por último, planteemos las tablas necesarias para nuestro otro ejemplo, la gestión de tutorías de nuestro centro. En este caso, como tablas específicas serían necesarias: Tutorías y ProfesoresCursos.

No existe ningún problema en que todas estas tablas se encuentren dentro de un mismo archivo de bases de datos de OpenOffice, simplemente utilizaremos las que sean necesarias en cada caso.

Para la correcta realización de esta actividad hay que tener en cuenta lo siguiente:

  • El Asistente no sería una buena opción para diseñar estas tablas por lo que recomendamos utilizar la vista diseño y todo lo aprendido hasta ahora.
  • Debe tenerse cuidado a la hora de establecer las claves primarias de cada tabla, ya que una vez guardada la tabla no es posible modificarlas. El campo o campos clave que hay que establecer en cada caso se encuentran resaltados en negrita e identificados como tales en la Descripción.
  • Recuerda evitar las tildes y los espacios en los nombres de los campos.

Empecemos con las tablas comunes, teniendo en cuenta que las tablas Alumnos y Profesores ya se han creado en actividades anteriores.

Tabla Cursos

Nombre del campo

Tipo de dato

Propiedades

Descripción

IdCurso

Integer [INTEGER]

Valor automático a “Sí”

Identificación para cada curso (CAMPO CLAVE)

Curso

Texto [VARCHAR]

Por defecto

Nombre del curso, 1B, 2C, 3A,…

Tabla Departamentos

Nombre del campo

Tipo de dato

Propiedades

Descripción

IdDepartamento

Integer [INTEGER]

Por defecto

Código del departamento (CAMPO CLAVE)

Nombre

Texto [VARCHAR]

Por defecto

Denominación del departamento.

Ahora crearemos las tablas vinculadas al ejemplo de Actividades Deportivas.

Tabla Actividades

Nombre del campo

Tipo de dato

Propiedades

Descripción

IdActividad

Integer [INTEGER]

Valor automático a “Sí”

Identificación para cada actividad (CAMPO CLAVE)

Actividad

Texto [VARCHAR]

Por defecto

Nombre de la actividad

Tabla Equipos

Nombre del campo

Tipo de dato

Propiedades

Descripción

IdEquipo

Integer [INTEGER]

Valor automático a “Sí”

Identificación para cada equipo (CAMPO CLAVE)

Equipo

Texto [VARCHAR]

Por defecto

Nombre del equipo

Tabla Calendario

(Ten en cuenta que la clave de esta tabla está formada por cuatro campos.)

Nombre del campo

Tipo de dato

Propiedades

Descripción

Jornada

Integer [INTEGER]

Por defecto

Identificación para Jornada.

Actividad

Integer [INTEGER]

Por defecto

Identificativo correspondiente a la actividad y que se relaciona con la tabla Actividades. (CAMPO CLAVE)

Fecha

Fecha [DATE]

Por defecto

Fecha en la que se celebra el encuentro. (CAMPO CLAVE)

Hora

Hora [TIME]

Por defecto

Hora a la que se celebra el encuentro. (CAMPO CLAVE)

Lugar

Texto [VARCHAR]

Por defecto

Si el centro dispone de más de una pista deportiva, este campo guarda el lugar donde se celebra el encuentro. (CAMPO CLAVE)

EquipoA

Integer [INTEGER]

Campo requerido

Identificativo del primer equipo.

EquipoB

Integer [INTEGER]

Campo requerido

Identificativo del segundo equipo.

ResultadoEquipoA

Integer [INTEGER]

Por defecto

Guarda los tantos anotados por el EquipoA.

ResultadoEquipoB

Integer [INTEGER]

Por defecto

Guarda los tantos anotados por el EquipoB.

*** La clave de esta última tabla está formada por los campos Actividad, Fecha, Hora y Lugar.

Tabla Participantes

Nombre del campo

Tipo de dato

Propiedades

Descripción

Alumno

Integer [INTEGER]

Por defecto

Código de alumno. (CAMPO CLAVE)

ParticipanteEquipo

Integer [INTEGER]

Por defecto

Código del equipo. (CAMPO CLAVE)

ParticipanteActividad

Integer [INTEGER]

Por defecto

Código de la actividad. (CAMPO CLAVE)

En la tabla “Participantes” necesitamos utilizar los tres campos disponibles para componer la clave única. Además, teniendo en cuenta que esta tabla es una de las más importantes de nuestro ejemplo estudiemos mejor el sentido de cada uno de sus campos:

Alumno

Hace referencia la código de expediente del alumnos, con este dato obtendremos después el resto de información necesaria para identificar el alumno.

ParticipanteEquipo

Código del equipo del que forma parte el alumno. Por ejemplo, el equipo “LocosDelBalón” tiene asociado el código 0, pues bien, este será el dato que necesitamos para completar esta tabla.

ParticipanteActividad

De nuevo utilizamos un código, pero esta vez corresponde a la actividad en la que participa el equipo: “Fútbol”, “Baloncesto”…

En cualquier caso, para poder introducir datos en la tabla Participantes, es necesario crear previamente las tablas implicadas. Una de ellas, “Alumnos”, ya forma parte de nuestra base de datos pero “Equipos” y “Actividades” aún no.

Por último, diseñaremos las tablas para trabajar con las propuestas relacionadas con el ejemplo de gestión de tutorías. La tabla “Tutorías” y “Profesores” nos permitirá añadir más variedad a los ejemplos utilizados durante el curso. Más concretamente la tabla “Tutorías” nos permitirá disponer de todos los horarios de tutorías de los profesores del centro.

Tabla Tutorías

Nombre del campo

Tipo de dato

Propiedades

Descripción

IdTutoria

Integer [INTEGER]

Valor automático a “Sí”

(CAMPO CLAVE)

Profesor

Integer [INTEGER]

Por defecto

Código del profesor.

Curso

Integer [INTEGER]

Por defecto

Código del curso asociado a la tutoría (1B, 1C, 2A...).

DiaSemana

Texto [VARCHAR]

Por defecto

Lunes, Martes, Miércoles…

HoraTutoria

Hora [TIME]

Por defecto

Hora disponible para la tutoría.

Tabla ProfesoresCursos

Nombre del campo

Tipo de dato

Propiedades

Descripción

Profesor

Integer [INTEGER]

Por defecto

Código del profesor. (CAMPO CLAVE)

Curso

Integer [INTEGER]

Por defecto

Código del curso asociado al profesor (1B, 1C, 2A...). (CAMPO CLAVE)

Tutor

Sí/No [BOOLEAN]

Valor predeterminado, configurar a “No”.

Si es tutor del curso el campo estará a “Sí”

La tabla “ProfesoresCursos” nos permitirá identificar de forma precisa los grupos (cursos) a los que imparte clase cada profesor. Además con el campo “Tutor” sabremos qué curso está directamente tutelado por el profesor.