Informática
Bases de datos

Tu Instituto Online
   


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

1. Base de datos: Agenda electrónica

La AIPGPDP (Asociación de Internautas Para Garantizar la Privacidad de los Datos Personales) ha decidido crear una base de datos para los contactos personales. Se pretende evitar el acceso a información privada que provocan los portales de Internet.

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 "agenda".
  • 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: CONTACTO

  • Crea la tabla de contactos de la agenda electrónica con los siguientes campos y propiedades:

Campo

Tipo

Longitud

Descripción

Id_contacto

Integer [INTEGER]

Dejar por defecto

Identificador (clave primaria)

Nombre

Texto[VARCHAR]

25

Nombre del contacto

Apellidos

Texto [VARCHAR]

50

Apellidos del contacto

DNI

Texto [VARCHAR]

10

DNI

Telefono

Texto [VARCHAR]

12

Teléfono

Ecorreo Texto [VARCHAR] 50 Correo electrónico

Fechacumple

Fecha [DATE]

Dejar por defecto

Fecha de cumpleaños

Direccion

Texto [VARCHAR]

50

Dirección

Poblacion

Texto [VARCHAR]

50

Población

Provincia

Texto [VARCHAR]

20

Provincia

Codpostal

Texto [VARCHAR]

5

Código postal

Categoria

Texto [VARCHAR]

20

Código de categoría (clasificación)

Foto

Imagen [LONGVARBINARY]

Dejar por defecto

Foto del contacto

Observaciones

Nota [LONGVARCHAR]

Dejar por defecto

Observaciones varias

  • Fija como clave primaria el campo "Id_contacto".
  • Guarda la tabla con el nombre "CONTACTO".

Tabla: CATEGORIA

  • Introduce los campos que se indican a continuación:

Campo

Tipo

Longitud

Descripción

Categoria

Texto[VARCHAR]

20

Código de la categoría de clasificación de contactos

Descripción

Texto [VARCHAR]

50

Descripción de la categoría

  • Fija como clave primaria el campo "Categoria".
  • Guarda la tabla con el nombre "CATEGORIA".

Tabla: PROVINCIA

  • Introduce los campos que se indican a continuación:

Campo

Tipo

Longitud

Descripción

Provincia

Texto[VARCHAR]

20

Provincia

  • Fija como clave primaria el campo "Provincia".
  • Guarda la tabla con el nombre "PROVINCIA".

1.3. Establecer propiedades de campos

Tabla CONTACTO. Formato de datos

  • Campo “Fechacumple”. Establece un nuevo formato: elige la categoría Fecha, formato DD/MM/AAAA.

Tabla CONTACTO. Valor requerido

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

De este modo, para cada registro será obligatorio introducir el nombre, apellidos y código de categoría del contacto.

1.4. Edición de tablas

Tabla CONTACTO. Tipo de datos Autonumérico

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

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

1.5. Relaciones

Tras el diseño de tablas, podemos comprobar que la tabla de contactos tiene campos en común con la tabla de categorías y la tabla de provincias. Por tanto, debemos relacionar las tablas mediante esos campos en común.

Los números indican la cardinalidad. Es decir:

Relación categoría-contacto

  • (N) Dada una categoría, puede haber muchos contactos que pertenezcan a ella.
  • (1) Dado un contacto, sólo puede pertenecer a una categoría de clasificación.

Relación categoría-provincia

  • (N) Dada una provincia, puede tener muchos contactos que vivan en ella.
  • (1) Dado un contacto, sólo puede vivir en una provincia.

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

En nuestro caso, en la tabla CONTACTO tenemos un campo “Categoria” que hace referencia a la clasificación del contacto: amigo, familia, conocido, etc. Por tanto, la columna debe ser del mismo tipo de datos que la columna que sea clave primaria en la otra tabla y los valores que podrá contener será cualquiera de los valores que tome la clave primaria en dicha tabla.

Del mismo modo, en la tabla CONTACTO tenemos un campo “Provincia” que hace referencia a la provincia en que vive nuestro contacto.

   
Ojo

Los campos relacionados no tienen que 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 CONTACTO el campo “Categoria” debe ser del mismo tipo de datos que el campo de la tabla CATEGORIA. Lo mismo sucede con el campo “Provincia” y la tabla PROVINCIA.

   
 
  • Relaciona las tablas CONTACTO, CATEGORIA y PROVINCIA mediante los campos correspondientes:

  • Guarda los cambios.

1.7. Crear formularios

Formulario: FCONTACTO

  • Crea un formulario llamado FCONTACTO con el asistente:
    • Tabla: CONTACTO
    • 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

Formulario: FCATEGORIA

Crea un formulario llamado FCATEGORIA con el asistente:

  • Tabla: CATEGORIA
  • Que contenga todos los campos de la tabla
  • La organización será Hoja de datos
  • El estilo el que más te guste

Formulario: FPROVINCIA

Crea un formulario llamado FPROVINCIA con el asistente:

  • Tabla: PROVINCIA
  • Que contenga todos los campos de la tabla
  • La organización será Hoja de datos
  • El estilo el que más te guste

1.8. Introducción de datos

  • Abre el formulario FCATEGORIA.
  • Introduce los siguientes datos:

  • Guarda los cambios y cierra el formulario.
  • Abre el formulario FPROVINCIA.
  • Introduce los siguientes datos:

  • Guarda los cambios y cierra el formulario.

1.9. Diseño de formularios

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

Campo “Foto”

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

  • Edita el formulario FCONTACTO.
  • Campo “Foto”. Muévelo a la derecha del formulario. Hazlo más grande.

Campo “Observaciones”

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

  • Campo “Observaciones”. Muévelo a la izquierda del formulario.
  • 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í”.

Comprueba que ahora se visualiza todo correctamente.

Color de fondo

Vamos cambiar el color de fondo del formulario de contactos.

  • 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.

1.10. Campos con formato

La AIPGPDP (Asociación de Internautas Para Garantizar la Privacidad de los Datos Personales) quiere una máscara de entrada para la fecha de cumpleaños.

Campo “Fecha_cumple”

Debe aparecer en formato día, mes y año “dd/mm/aaaa”: día, mes y año (4 cifras) en formato numérico.

  • Edita el formulario FCONTACTO.
  • Pulsa sobre el icono de la barra izquierda llamado Más controles .
  • Haz clic en el icono Campo de fecha.
  • Dibuja el campo en el formulario y haz doble clic sobre él.
  • En la pestaña General, elige la propiedad Marco, pon el valor “Vista 3D”. Con esto logramos el efecto visual en 3 dimensiones.
  • En la propiedad Formato de fecha, selecciona la máscara DD/MM/YYYY. En la propiedad Control de formato, pon el valor Sí. Ahora sólo dejará introducir la fecha con este formato.
  • Selecciona la pestaña Datos. Despliega la lista y elige el campo “Fechacumple”.
  • Cierra la ventana de Propiedades.

Ahora enlazamos el nuevo campo con un campo de nuestra base de datos.

  • Haz clic en el campo antiguo y pulsa la tecla Supr.
  • Coloca el nuevo campo en su lugar.
  • Pulsa sobre el icono de la barra izquierda llamado Campo de etiqueta.
  • En el formulario, dibuja una etiqueta a la izquierda del nuevo campo. Haz doble clic sobre la etiqueta. En la propiedad Título escribe el texto “Fecha cumpleaños”.
  • Cierra el formulario.
  • Guarda los cambios.

1.11. Listas de datos

Vamos a modificar el formulario para que los campos de categoría y provincia sean listas desplegables con los valores que hemos introducido anteriormente en las tablas.

Campo “Categoría”

  • Edita el formulario FCONTACTO.
  • Pulsa sobre el icono de la barra izquierda llamado Listado.
  • Dibuja el nuevo control a la derecha del campo categoría.

Aparecerá el asistente para guiarnos en el proceso. Seguimos los pasos correspondientes.

  • Elige la tabla CATEGORIA. Haz clic en Siguiente.
  • Selecciona el campo “Categoria”. Haz clic en Siguiente.
  • Elige el campo “Categoria” tanto a la izquierda como a la derecha. Haz clic en Finalizar.

Acabamos de crear una lista que mostrará todas las categorías de contactos de la agenda. Ahora vamos a eliminar el campo “Categoria” antiguo.

  • Haz clic en el campo “categoria” y pulsa la tecla Supr.
  • Sitúa la lista en el mismo lugar que estaba el campo antiguo. Haz más ancha la lista.
  • Pulsa sobre el icono de la barra izquierda llamado Campo de etiqueta . En el formulario, dibuja una etiqueta a la izquierda de la lista de categorías.
  • Haz doble clic sobre la etiqueta. En la propiedad Título escribe el texto “Categoría”.

Campo “Provincia”

  • Crea la lista desplegable, pero en este caso con la tabla PROVINCIA.
  • Borra el campo antiguo.
  • Añade la etiqueta con el texto “Provincia”.
  • Cierra el formulario.

1.12. Introducción de datos

  • Abre el formulario FCONTACTO mediante doble clic.
  • Introduce datos de diferentes contactos en la agenda. Puede introducirse los datos que se desee.
  • Cierra el formulario.
  • Ve a la tabla CONTACTO. Ábrela y comprueba que se han guardado todos los datos. Por ejemplo:

Vamos a introducir las fotos de nuestros contactos en la agenda.

  • 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.
  • Abre el formulario FCONTACTO mediante doble clic.
  • Mediante el formulario, introduce una foto para cada contacto de la agenda.

1.13. Orden de tabulación

Vamos a cambiar el orden de tabulación para que sea consecutivo.

  • Edita el formulario FCONTACTO.

Primero vamos a renombrar todos los campos para que sepamos cuál es cuál.

  • Ve al campo “Id_contacto”. Haz doble clic sobre él. En la propiedad Nombre, escribe el texto “Id_contacto”. Cierra las propiedades.
  • Repite el mismo proceso con cada una de las etiquetas, poniendo el nombre del campo correspondiente.

Después establecemos el orden de tabulación correcto.

  • En la barra de herramientas inferior, haz clic en el icono Secuencia de activación.
  • Mueve los distintos campos para que quede el orden correcto. Utiliza los botones para desplazar hacia arriba o hacia abajo. Por ejemplo:

  • Guarda los cambios y cierra el formulario.
  • Haz doble clic en el formulario. Comprueba que ahora está correcto el orden de tabulación. Para ello, pasa con la tecla tabulador de un campo a otro.
  • Cierra el formulario.
  • Guarda los cambios.

1.14. 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. Borrar una categoría a la que pertenecen contactos

  • Ve a la tabla CATEGORIA.
  • Elimina una categoría que tenga contactos asociados, por ejemplo “Familia”.
  • Guarda los cambios.
  • Comprueba que Base nos muestra un mensaje de error porque estamos borrando una categoría a la que pertenecen contactos relacionados en la tabla CONTACTO.
  • Pulsa Aceptar. Deshaz los cambios.
  • Cierra la tabla CATEGORIA.

También podemos probar desde el formulario.

  • Ve al formulario FCATEGORIA y haz doble clic sobre él.
  • Elimina una categoría que tenga contactos asociados, por ejemplo “Familia”. Responde Sí a la pregunta que se formula. Guarda los cambios.
  • Por ejemplo:

  • Cierra el formulario.

Caso 2. Borrar una provincia en la que viven contactos

  • Ve a la tabla PROVINCIA.
  • Elimina una provincia que tenga contactos asociados, por ejemplo Madrid o Valencia.
  • Guarda los cambios.
  • Comprueba que Base nos muestra un mensaje de error porque estamos borrando una provincia en la que viven contactos relacionados en la tabla CONTACTO.
  • Pulsa Aceptar. Deshaz los cambios.
  • Cierra la tabla PROVINCIA.

También podemos probar desde el formulario.

  • Ve al formulario FPROVINCIA y haz doble clic sobre él.
  • Elimina una provincia que tenga contactos asociados, por ejemplo Madrid o Valencia. Responde Sí a la pregunta que se formula. Guarda los cambios.
  • Por ejemplo:

  • Cierra el formulario.

1.15. Consultas

  • Crea una consulta llamada CD_CONTACTOS_RESUMEN:
    • Tabla: CONTACTO
    • Que contenga los campos "Apellidos", "Nombre", "Telefono", "Ecorreo" y "Categoria"
    • En el apartado Alias de cada campo escribe "Apellidos", "Nombre", "Teléfono", "Correo electrónico" y "Categoría"
    • Que esté ordenada ascendentemente por el campo "Apellidos" y "Nombre"
  • Crea una consulta llamada CP_CONTACTPROV, que nos devuelva los datos de los contactos de una provincia determinada:
    • Tabla: CONTACTO
    • Que contenga los campos "Apellidos", "Nombre", "Telefono", "Ecorreo", "Categoria" y "Provincia"
    • En el apartado Alias de cada campo escribe "Apellidos", "Nombre", "Teléfono", "Correo electrónico", "Categoría" y "Provincia"
    • Que esté ordenada ascendentemente por el campo "Apellidos" y "Nombre"
    • Que tenga un parámetro en el campo "Provincia"
  • Crea una consulta llamada CP_FECHACATEG, que nos devuelva los datos de los contactos que hayan nacido después de una fecha determinada y que sean de una categoría determinada:
    • Tabla: CONTACTO
    • Que contenga los campos "Apellidos", "Nombre", "Telefono", "Ecorreo", "Categoria" y "Provincia"
    • En el apartado Alias de cada campo escribe "Apellidos", "Nombre", "Teléfono", "Correo electrónico", "Categoría" y "Provincia"
    • Que esté ordenada ascendentemente por el campo "Apellidos" y "Nombre"
    • Que tenga un operador de comparación en el campo "Fecha".
    • Que tenga un parámetro en el campo "Categoria".
  • Crea una consulta llamada CG_PROVINCIA, que muestre el nombre de cada provincia almacenada y el total de contactos que tenemos de cada provincia:
    • Tabla: CONTACTO
    • Que contenga los campos "Provincia" e "Id_contacto"
    • En el apartado Alias de cada campo escribe "Provincia" y "Total contactos"
    • Que esté ordenada ascendentemente por el campo "Provincia"
    • Que agrupe por provincia y cuente por "Id_contacto"

1.16. Subformularios

Crear subformulario SFPROVINCIA

  • Crea un subformulario de nombre SFPROVINCIA haciendo que, cada vez que nos movemos entre los distintos registros, nos muestre la información de todos los contactos pertenecientes a esa provincia.

Formulario FCONTACTO. Añadir subformulario

  • Modifica el formulario FCONTACTO para hacerlo más intuitivo, de forma que cada vez que nos movemos entre los distintos registros, nos muestre la descripción de la categoría a la que pertenece un contacto.
  • Guarda los cambios.

Guardar la base de datos

  • Guarda los cambios en la base de datos.
  • Cierra la base de datos "agenda".

Subir el fichero

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

El texto de esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.
TuInstitutoOnline.com G.García, P.Gargallo, A.Martínez. v. 2.0.1.6.0

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