Informática
Bases de datos

Tu Instituto Online
   


 
Nivel Básico Base: Ejercicio de recopilación. Gimnasio
Duración aproximada: 2-3 sesiones.
   
Objetivos Objetivos
  • Crear la base de datos Gimnasio.
  • Repasar todos los conceptos vistos anteriormente.
   
Fuentes de información Fuentes de información
   
Contenidos
Contenidos
 

1. Base de datos: Gimnasio

El gimnasio Michelines S.L. pretende crear una base de datos automatizada de todos sus clientes, así como de las actividades que se realizan. Para ello contrata los servicios de una empresa de servicios informáticos.

En el ejercicio se darán las directrices pero serás tú el que tendrás que realizar todos los pasos, tal y como se han visto en la teoría.

  
Ejercicios
Ejercicio
 

1.1. Crear base de datos

  • Crea una nueva base de datos llamada "gimnasio".
  • Deja las opciones por defecto que hayan seleccionadas.

1.2. Crear tablas

Una vez creada la base de datos, vamos a crear las tablas necesarias.

Tabla: SOCIO

  • Crea la tabla de socios del gimnasio con los siguientes campos y propiedades:

Campo

Tipo

Longitud

Descripción

Id_socio

Entero [INTEGER]

Dejar por defecto

Identificador (clave primaria)

Nombre

Texto[VARCHAR]

25

Nombre del socio

Apellidos

Texto [VARCHAR]

50

Apellidos del socio

DNI

Texto [VARCHAR]

10

DNI

Telefono

Texto [VARCHAR]

12

Teléfono de contacto

Direccion

Texto [VARCHAR]

50

Dirección

Cuota

Real [REAL]

Dejar por defecto

Importe de la cuota mensual

Actividad

Texto [VARCHAR]

20

Código de actividad que realiza

Horario

Hora[TIME]

Dejar por defecto

Horario de la actividad

Foto

Imagen [LONGVARBINARY]

Dejar por defecto

Foto tamaño carnet del socio

Observaciones

Nota [LONGVARCHAR]

Dejar por defecto

Observaciones varias

  • Fija como clave primaria el campo "Id_socio".
  • Por ejemplo:

  • Guarda la tabla con el nombre "SOCIO".

1.3. Establecer propiedades de campos

Formato de datos

  • Campo “Horario”. Establece un nuevo formato: elige la categoría Hora, formato HH:MM.
  • Campo “Cuota”. Establece un nuevo formato: elige la categoría Moneda.

Valor por defecto

  • Campo “Cuota”. Establece 0 como valor por defecto.

Valor requerido

  • Campo “Nombre”. Establece el campo como requerido.
  • Campo “Apellidos”. Establece el campo como requerido.

De este modo, para cada registro será obligatorio introducir el nombre y apellidos del socio.

1.4. Edición de tablas

Tipo de datos Autonumérico

Un cambio muy útil que podemos realizar en nuestra tabla de socios, es hacer que nuestra clave primaria tome valores automáticamente.

  • Campo “Id_socio”. Establece la propiedad Valor Automático a .

A partir de ahora, cada vez que introduzcamos una nueva fila en la tabla SOCIO, el campo Id_socio tomará el mayor valor asignado hasta ese momento incrementado en 1.

1.5. Introducción de datos

  • Abre la tabla SOCIO.
  • Inserta los siguientes datos:

1.6. Consultas

  • Crea una consulta llamada Actividades_socios con el asistente:
    • Tabla: SOCIO
    • Que contenga los campos id_socio, apellidos, nombre, actividad, horario y cuota
    • Que esté ordenada ascendentemente por el campo apellidos
  • Crea una consulta llamada Actividades_30 en vista diseño:
    • Tabla: SOCIO
    • Que contenga los campos id_socio, apellidos, nombre, actividad, horario y cuota
    • Que esté ordenada ascendentemente por el campo apellidos
    • Que el campo Cuota sea mayor o igual a 30 euros.

1.7. Crear formularios

Formulario: FSOCIO

  • Crea un formulario llamado FSOCIO con el asistente:
    • Tabla: SOCIO
    • Que contenga todos los campos de la tabla
    • La organización será En columnas - Etiquetas a la izquierda
    • El estilo el que más te guste

Vamos a introducir las fotos de nuestros socios del gimnasio.

  • Descarga 5 fotos de Internet que quieras. Procura que las fotos no ocupen mucho espacio para no superar el límite de tamaño a la hora de subir al portal la base de datos.
  • Mediante el formulario, introduce una foto para cada socio del gimnasio.
  • Por ejemplo:

1.8. Diseño de formularios

Vamos a cambiar aspectos estéticos del diseño del formulario FSOCIO para que se muestre mejor la fotografía y las observaciones de cada socio.

Campo “Foto”

La foto de los socios se muestra pequeña y no se puede apreciar bien.

  • Campo “Foto”. Muévelo a la derecha del formulario. Hazlo más grande.
  • Campo “Observaciones”. Muévelo a la izquierda del formulario.

Campo “Observaciones”

Las observaciones de cada socio se muestran cortadas y no se pueden leer bien.

  • Haz doble clic en el campo “Observaciones”.
  • Cambia la propiedad Alineación vert al valor “Superior”.
  • Cambia la propiedad Varias líneas al valor “Sí”.

Comprobamos que ahora se visualiza todo correctamente. Por ejemplo:

Color de fondo

Vamos cambiar el color de fondo del formulario de socios.

  • Edita el formulario FSOCIO.
  • Ve al menú Formato → Página, pestaña Área. Cambia el color por el que quieras. Haz clic en Aceptar.
  • Guarda los cambios en el diseño del formulario.
  • Comprueba que ahora se visualiza el color seleccionado. Por ejemplo:

1.9. Relaciones

Si nos fijamos en la base de datos, podemos ver que se está repitiendo el mismo valor muchas veces, por ejemplo, “Aerobic2D” aparece en varias filas. Es decir, al introducir el mismo valor de forma redundante se está posibilitando que en algún momento lo escribamos mal, por ejemplo, “Aerobi2d”, y tengamos una nueva actividad que no es realizada por ningún socio, ya que ni siquiera existe. La solución a los problemas anteriores está en separar la información que aparece repetida continuamente en una nueva tabla ACTIVIDAD e indicar de alguna forma en nuestra base de datos que hay filas de la tabla SOCIO y de la tabla ACTIVIDAD que están relacionadas.

1.9.1. Crear tablas

Tabla: ACTIVIDAD

  • Crea la tabla de actividades realizadas en el gimnasio con los siguientes campos y propiedades:

Campo

Tipo

Longitud

Descripción

Id_actividad

Texto[VARCHAR]

20

Código de actividad

Descripcion

Texto[VARCHAR]

50

Descripción

Lunes

Sí/No [BOOLEAN]

Dejar por defecto

Día lunes

Martes

Sí/No [BOOLEAN]

Dejar por defecto

Día martes

Miércoles

Sí/No [BOOLEAN]

Dejar por defecto

Día miércoles

Jueves

Sí/No [BOOLEAN]

Dejar por defecto

Día jueves

Viernes

Sí/No [BOOLEAN]

Dejar por defecto

Día viernes

Sábado

Sí/No [BOOLEAN]

Dejar por defecto

Día sábado

Domingo

Sí/No [BOOLEAN]

Dejar por defecto

Día domingo

  • Fija como clave primaria el campo "Id_actividad".
  • Por ejemplo:

  • Guarda la tabla con el nombre "ACTIVIDAD".

1.9.2. Introducción de datos

  • Introduce varios registros con los distintas actividades del gimnasio. Por ejemplo:

1.9.3. Inconsistencia de datos

Antes de definir una relación, debemos asegurarnos que los datos son coherentes, es decir, que los campos que están relacionados contienen la misma información.

En nuestro caso, debemos comprobar que los valores contenidos en el campo "Actividad" de la tabla SOCIO se corresponden con algún registro de la tabla ACTIVIDAD. Por ejemplo, si tenemos un socio que realiza la actividad "Aerobic2D", ésta ha de estar presente en la tabla ACTIVIDAD y el texto ha de coincidir tanto en mayúsculas como minúsculas.

Comprobar consistencia de datos

  • Verifica que los datos contenidos en el campo "Actividad" de la tabla SOCIO son coherentes con los datos de la tabla ACTIVIDAD. En caso necesario, modifica los datos que corresponda.

1.9.4. Identificar la relación

Existe claramente una relación del tipo uno a muchos (1:n) entre las tablas SOCIO y ACTIVIDAD. Si consideramos que un socio sólo puede realizar una actividad, éste sería el tipo de relación que existe entre la tabla ACTIVIDAD y la tabla SOCIO ya que, por ejemplo, la actividad “Natacion2D” será realizada por varios socios, pero dado un socio sólo realizará una actividad.

   
Ojo

Vamos a simplificar la realidad y suponemos que un socio sólo puede realizar una actividad. Posteriormente trataremos las relaciones muchos a muchos, ya que presentan mayor complejidad.

   
 

Interpretación de la relación

Las relaciones entre tablas es un concepto un tanto abstracto. Sin embargo, si representamos gráficamente nuestro diseño, el significado queda mucho más claro.

Donde tenemos que:

  • Cada rectángulo se corresponde con una tabla.
  • Las flechas indican que las 2 tablas están relacionadas.
  • Los números indican la cardinalidad. Es decir:
    • (N) Dada una actividad, puede haber muchos socios que la realicen.
    • (1) Dado un socio, sólo puede realizar una actividad.

1.10. Establecer una relación uno a muchos (1:n)

En nuestro caso, en la tabla SOCIO tenemos un campo “Actividad” que hace referencia a la actividad que realiza el socio. Por tanto, la columna debe ser del mismo tipo de datos que la columna que sea clave primaria en la otra tabla (Id_actividad) y los valores que podrá contener será cualquiera de los valores que tome la clave primaria en dicha tabla.

   
Ojo

Los campos relacionados no tienen porqué tener los mismos nombres, pero deben tener el mismo tipo de datos y el mismo tamaño. Es decir, deben contener el mismo tipo de información. En la tabla SOCIO el campo “Actividad” debe ser del mismo tipo de datos que el campo "Id_actividad" de la tabla ACTIVIDAD.

   
 

Crear relación

  • Cierra todas las tablas abiertas.
  • Relaciona el campo “Actividad” de SOCIO con el campo “Id_actividad” de ACTIVIDAD. Por ejemplo:

  • Guarda los cambios.

1.11. Integridad referencial

En la relación que hemos definido se impide que cualquier registro relacionado sea modificado o eliminado. Esta propiedad es lo que se conoce como integridad referencial.

Una vez establecida una relación, comprobaremos que es correcta. Para ello sólo tenemos que intentar realizar alguna operación no permitida y ver que se cumple la integridad referencial.

Caso 1. Introducir un socio cuya actividad no existe en la tabla ACTIVIDAD

  • Introduce un nuevo socio que realice una actividad que no exista en la tabla ACTIVIDAD. Por ejemplo:

  • Guarda los cambios.
  • Comprueba que Base nos muestra un mensaje de error porque estamos insertando un registro con una actividad que no existe en nuestra base de datos.

  • Pulsa Aceptar. Deshaz los cambios.

Caso 2. Modificar una actividad que es realizada por varios socios

  • En la tabla ACTIVIDAD modifica datos en el registro “Aerobic2D” para que ahora sea “Aero2D”. Por ejemplo:

  • Guarda los cambios.
  • Comprueba que Base nos muestra un mensaje de error porque estamos modificando una actividad que contiene socios relacionados en la tabla SOCIO.

  • Pulsa Aceptar. Deshaz los cambios.

Caso 3. Eliminar una actividad realizada por socios

  • En la tabla ACTIVIDAD elimina el registro con el tipo “Aerobic2D”. Por ejemplo:

  • Comprueba que Base nos muestra un mensaje de error porque estamos borrando una actividad que es realizada por socios relacionados en la tabla SOCIO.

  • Pulsa Aceptar.

1.12. Informes

  • Crea un informe llamado Inf_socios con el asistente:
    • Tabla: SOCIO
    • Que contenga todos los campos de la tabla
    • Se ordenará por el campo nombre de manera ascendente
    • El diseño el que más te guste

Cerrar la base de datos

  • Guarda los cambios.
  • Cierra la base de datos "Gimnasio".

Subir el fichero

  • Sube la base de datos "gimnasio" a la plataforma.
   
   
Creditos Créditos
Licencia de Creative Commons

Este documento es de dominio público bajo licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.
TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. v. 2.0.2.1.0

No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.

Los reconocimientos se realizan en el apartado Fuentes de información.

Los iconos empleados están protegidos por la licencia LGPL y se han obtenido de:
https://commons.wikimedia.org/wiki/Crystal_Clear
https://www.openclipart.org


Licencia de Creative Commons

Todas las capturas de pantalla tienen copyright y pertenecen a TuInsitutoOnline.com.

TuInstitutoOnline.com permite su uso siempre y cuando se muestren desde el dominio www.tuinstituoonline.com y NO PERMITE enlazar a ellas desde otros lugares.

Además, la estructura diseñada para mostrar el contenido de las unidades es propiedad de TuInstitutoOnline.com.

TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. Versión 2021.