Administración de bases de datos con LibreOffice Base Capítulo 1: LibreOffice Base Bases de datos Desde su nacimiento, la informática se ha encargado de proporcionar herramientas que faciliten la manipulación de los datos. Antes de la aparición de las aplicaciones informáticas, las empresas tenían como únicas herramientas de gestión de datos los ficheros con cajones, carpetas y fichas de cartón. En este proceso manual, el tiempo requerido para manipular estos datos era enorme. Pero la propia informática ha adaptado sus herramientas para que los elementos que el usuario utiliza en cuanto a manejo de datos se parezcan a los manuales. Por eso se sigue hablado de ficheros, formularios, carpetas, directorios, etc. Muchas veces, para referirse a una base de datos, simplemente se dice BD. Base de datos LibreOffice Base LibreOffice Base, al que de ahora en adelante se le llamará solamente Base, es una interfaz de base de datos de escritorio con todas las funciones, diseñado para satisfacer las necesidades de una amplia gama de usuarios. Pero Base también atiende a los usuarios avanzados y requerimientos empresariales, y proporciona controladores nativos para algunos de los motores de bases de datos multiusuario más utilizados: MySQL/MariaDB, Adabas D, MS Access y PostgreSQL. Además, el soporte incorporado para los controladores JDBC y ODBC estándar permite conectar a prácticamente cualquier otro motor de base de datos existente. Esta es la ventana del entorno de trabajo de Base 1 Administración de bases de datos con LibreOffice Base Cuando se crea una base de datos con Base, se genera un archivo con extensión: .odb Estructura mínima de almacenamiento en una base de datos relacional Las bases de datos relacionales se dividen, básicamente, en los siguientes componentes: Tabla Objeto de almacenamiento perteneciente a una BD. Es una estructura organizada en filas y columnas donde se almacenan registros o filas de datos. Cada tabla tiene un nombre único en la BD. Registro o fila Cada una de las filas de una tabla, esta compuesto por campos o atributos. Campo o columna Es cada una de las casillas de un registro donde se guardan los datos. Cada campo tiene un nombre único para la tabla de la cual forma parte, además es de un tipo (naturaleza) determinado, por tanto no podemos guardar limones en el cajón de las naranjas, en términos informáticos y a modo de ejemplo, no encontraremos un dato alfanumérico (letras y números) en un campo diseñado para guardar datos numéricos. Se describirán los tipos de datos más adelante. Bases de datos relacionales Base genera bases de datos relacionales. En un modelo relacional, cada grupo de datos está representado por tablas las cuales tienen relación entre sí. Campos o columnas de la tabla Tabla Estudiante CodigoEstudiante NombreEstudiante 10-2020 Marco del Cid 11-2020 Vilma Pérez 2 Administración de bases de datos con LibreOffice Base Registros o filas de la tabla Clave primaria En el diseño de bases de datos relacionales, se llama clave principal a un campo o a una combinación de campos que identifica de forma única a cada fila de una tabla. Una clave primaria comprende de esta manera una columna o conjunto de columnas. No puede haber dos filas en una tabla que tengan la misma clave primaria. Ejemplos de claves primarias son DPI (asociado a una persona) o ISBN (asociado a un libro), el código de un producto, el número de carné de un estudiante, por citar algunos ejemplos. En la tabla Estudiante, el código del estudiante es llave primaria o clave principal. En Base, las claves primarias, se acompañan de una llave. Llaves compuestas Se le llama así, a una llave que está conformada por más de un campo. En el siguiente ejemplo, un estudiante puede tener varias materias asignadas y, si llegara a reprobar la materia, podrá volver a asignársela. 3 Diagrama o Modelo Relacional Administración de bases de datos con LibreOffice Base En la tabla AsignacionMateria, la clave principal está formada por tres campos. CodigoEstudiante CodigoMateria FechaAsignacionMateria 10-2020 10 15/1/2020 85 11-2020 08 10/1/2020 90 12-2020 10 12/1/2020 42 13-2020 07 25/1/2020 70 12-2020 10 8/5/2020 71 NotaMateria Este alumno se ha asignado dos veces el mismo curso pero, en fechas distintas Como puede notarse, el estudiante con código: 12-020 se asignó la materia con código: 10 en fecha: 12/1/2020. Al no haber alcanzado una nota satisfactoria, se ha tenido que volver a asignar la materia en otra fecha, habiendo obtenido, esta vez, una nota aprobada. En este caso los dos campos se repiten, por lo que ambos deben formar la clave principal unido con la fecha de asignación de materia, para diferenciar cuando un estudiante se vuelve a asignar una materia (en caso de haberla reprobado) A continuación se muestra,un caso más, de clave primaria compuesta: La base de datos servirá para llevar registros de los productos, proveedores y pedidos. Tabla Producto: En esta tabla, la clave primaria es el código del producto. Tabla Proveedor: La clave principal es el código del proveedores Tabla Pedido: La clave principal consta de tres campos. 4 Administración de bases de datos con LibreOffice Base En la tabla Pedido, el campo CodigoProveedor no se puede definir como clave primaria porque ya es clave primaria en la tabla Proveedor. Así mismo, el campo CodigoProducto no se puede establecer como campo clave primaria en la tabla Pedido porque ya lo es en la tabla Producto porque: Un único campo no puede ser clave primaria en más de una tabla. En el caso de la tabla Pedido, los campos CodigoProveedor y CodigoProducto sí podrían (juntos) ser clave primaria compuesta pero, como a un mismo proveedor se le puede comprar el mismo producto varias veces, los datos se repetirían y, al ser ambos, clave primaria no se podría registrar este hecho. Para ello, debe incluirse como clave primaria, al campo FechaPedido. La siguiente tabla muestra lo explicado: CodigoProveed CodigoProduct or o FechaPedido Cantidad 10 100 20/1/2020 30 10 200 20/1/2020 45 20 300 7/3/2020 65 20 400 7/3/2020 72 10 200 9/4/2020 250 10 100 9/4/2020 52 5 Administración de bases de datos con LibreOffice Base Al proveedor con código 10 se le han comprado los productos con códigos 100 y 200 en distintas fechas, lo que hace que la clave principal: CodigoProveedor + CodigoProducto + Fecha sea única. Clave Foránea Una clave foránea es una columna o grupo de columnas de una tabla que contiene valores que coinciden con la clave primaria de otra tabla. Las claves foráneas se utilizan para unir tablas. En el ejemplo anterior, en la tabla Pedido hay dos claves foráneas: CodigoProveedor y CodigoProducto, debido a que cada uno de ellos, en sus correspondientes tablas (Proveedor y Producto) son claves primarias. Un campo que no esté definido como clave primaria, también, puede ser clave foránea, como se muestra en el siguiente ejemplo: Entidad débil Entidad fuerte Clave foránea o campo de enlace, el cual vincula la tabla Estudiante con la tabla Pago 6 Administración de bases de datos con LibreOffice Base Tabla Principal o entidad fuerte La tabla principal es la que tiene un único registro que puede estar relacionado con varios de la tabla secundaria. Por lo que si la relación es 1 a varios, la que tenga el 1 sería la principal. Tabla secundaria o entidad débil Es una tabla que depende de la existencia de otra . Por ejemplo la tabla Pago es una entidad débil porque depende de la tabla Estudiante. La tabla Estudiante es entidad fuerte porque puede existir sin la participación de la tabla Pago. Actividad 1.1 Ü En cada uno de los siguientes casos, identifique una clave principal que pueda identificar a cada objeto. 1) 2) 3) 4) 5) Un automóvil Un afiliado al IGSS Los libros en una biblioteca Los estudiantes en un colegio Una cuenta bancaria Actividad 1.2 Ü Escriba los campos de cada tabla para que permitan llevar registro de lo solicitado. Incluya la clave principal. 1) Medicamentos en un hospital 2) Empleados en una empresa 3) Vehículos en un parqueo 4) Pacientes en una veterinaria 5) Libros en una biblioteca 7 Administración de bases de datos con LibreOffice Base Sello o firma del docente: Fecha: Relaciones entre tablas Las relaciones son los vínculos que tiene una tabla con otras en una base de datos relacional. La diferencia de las bases de datos relacionales con respecto a una base de datos plana consiste en que los datos sólo se introducen una sola vez en una tabla, pero gracias a las relaciones pueden aparecer en las tablas que se quiera. Cualquier modificación sólo hay que efectuarla una sola vez y automáticamente se realizará en todas las demás tablas. De este modo se ahorra mucho tiempo, espacio y exactitud en los datos que siempre estarán actualizados independientemente de la tabla en la que estemos. Tipos de relaciones Existen tres tipos de relaciones, que se explican a continuación. Más adelante se verá cómo quedan guardadas relaciones de este tipo en Base. Relación uno a uno Cada registro de la tabla A se relaciona sólo con un registro de una tabla B. En la práctica se utilizan muy poco. En el siguiente diagrama relacional, se muestra el hecho de que en un aula puede haber, solamente, un proyector. Las relaciones uno a uno se dan de clave primaria a clave primaria. 8 Administración de bases de datos con LibreOffice Base Relación uno a varios Cada registro de la tabla A está relacionado con varios registros de la tabla B y cada registro de la tabla B está relacionado con un sólo un registro de la tabla A. Una relación de este tipo se daría entre las tablas Estudiante y Pago, debido a que un estudiante puede realizar varios pagos. El diagrama relacional, se muestra a continuación: La letra “n” significa: varios Relación varios a varios (muchos a muchos) Cada registro de la tabla A puede estar relacionado con más de un registro de la tabla B y cada registro de la tabla B puede estar relacionado con más de un registro de la tabla A. 9 Administración de bases de datos con LibreOffice Base En el ejemplo, la relación varios a varios existe entre las tablas Proveedor y Producto. Un proveedor puede abastecer varios productos y un producto puede ser solicitado a varios proveedores. Puede notarse que se trata de una relación uno a varios recíproca entre las dos tablas. Sin embargo, para poder implementarla, se hace necesaria una tercer tabla que una a las otras dos. Esta tabla se denomina: Tabla de Enlace. Se trata de una tabla secundaria que une a dos tablas primarias. El nombre de esta tabla , se puede obtener de la acción que se lleva a cabo entre las otras dos; en este caso: A un proveedor se le pueden PEDIR varios productos . Como los nombre de las tablas no deben ser verbos, se opta por su correspondiente sustantivo: Pedido. Tabla de enlace C Observación: Sin una tabla de enlace, no se puede realizar una relación varios a varios. Integridad Referencial En la relación que hemos definido en el apartado anterior, se impide que cualquier registro relacionado sea modificado o eliminado. Esta 10 Administración de bases de datos con LibreOffice Base propiedad es lo que se conoce como integridad referencial. Por ejemplo, a un estudiante que no esté registrado no se le puede registrar pago alguno. Primero ha de existir en la tabla Estudiante para que luego sea posible almacenar los pagos que realice. Cuando existe una relación entre 2 tablas, cualquier operación con los datos ha de respetar la relación. En caso contrario, no se realizará. Tipos de campos en Base Texto [VARCHAR]: Texto hasta 32700 caracteres, número de caracteres es variable, es aconsejable para un campo como puede ser Observaciones. Texto (fijo) [CHAR]: Texto hasta 255 caracteres, número de caracteres es fijo, es una buena definición para campos como Nombre, apellidos, domicilio, etc. Texto [VARCHAR_IGNORECASE]: No distingue entre mayúsculas y minúsculas, cuidado con este tipo de campo, ya que si es una base de datos que hace documentos para público puede tener algún problema. Nota [LONGVARCHAR]: Textos largos, 2 Gigabytes en caracteres, un buen formato para escribir largos textos. Tiny Integer [TINYINT]: Números enteros de -127 a 127. Small Integer [SMALLINT]: Números enteros entre -32.768 y + 32.768. Integer [INTEGER]: Números enteros hasta 10 dígitos. Acepta valor automático. Big Integer [BIGINT]: Números enteros hasta 19 dígitos. Acepta valor automático. Numero [NUMERIC]: Números enteros con muchísimos dígitos y 18 decimales. Decimal [DECIMAL]: Similar al anterior. Double [DOUBLE]: Números decimales con una precisión hasta 14 dígitos. 11 Administración de bases de datos con LibreOffice Base Float [FLOAT]: Números decimales con una precisión hasta 7 dígitos. Real [REAL]: Similar al anterior. Hora [TIME]: Datos tipo hora. Fecha [DATE]: Datos tipo fecha, formato adecuado para fecha de nacimiento, fechas de alta. Fecha/Hora [TIMESTAMP]: Datos fecha y hora, un buen formato para cuando tengamos que tener un registro de entrada y salida, en el cual debe figurar tanto la fecha como la hora. Sí/No [BOOLEAN]: Valores son true-false, verdadero-falso o 1-0, funciona como un biestable. Imagen [LONGVARBINARY]: Objetos OLE, imágenes, videos, etc... Actividad 1.3 Ü Dibujar el modelo relacional de cada caso que se presenta. Todas las relaciones son uno a varios. Identifique las tablas principales y secundarias. No olvide acompañar de una llave, sus claves primarias. Identificar, también, las claves foráneas. 1) 2) 3) 4) Un médico puede atender a varios pacientes Un departamento empresarial puede tener varios empleados A un equipo de fútbol le corresponden varios jugadores Un cuentahabiente puede realizar varios depósitos a su cuenta bancaria 5) A una categoría pueden pertenecer varios libros. Actividad 1.4Ü Dibujar el modelo relacional de cada caso que se presenta. Todas las relaciones son varios a varios. Identifique las tablas principales y secundarias. No olvide acompañar de una llave, sus claves primarias y foráneas. 12 Administración de bases de datos con LibreOffice Base 1) Un médico puede atender a varios pacientes y, un paciente puede ser atendido por varios médicos. 2) Un estudiante puede prestar varios libros en la biblioteca y, un libro puede ser prestado a varios alumnos. 3) Un cliente puede comprar varios productos y un producto puede ser vendido a varios clientes. 4) En una empresa, un vehículo puede ser conducido por varios empleados y, un empleado puede conducir varios vehículos. 5) En un curso pueden inscribirse varios estudiantes y , un estudiante puede inscribirse en varios cursos. Sello o firma del docente: Fecha: Creación de una base de datos en LibreOffice Base Para crear una BD en Base, deben seguirse los siguientes pasos: 1) Luego de poner en marcha Base, se mostrará el asistente de bases de datos, en el cual debe estar seleccionada la opción: Crear una base de datos nueva. 2) Clic en Siguiente > 13 Administración de bases de datos con LibreOffice Base 1 2 3) Si la base de datos va a ser utilizada por otras aplicaciones de la suite de LibreOffice, entonces marque la opción: Sí, registrar la base de datos, de lo contrario marcar la opción No. 4) Clic en Finalizar 14 Administración de bases de datos con LibreOffice Base 3 4 A continuación se debe seleccionar la carpeta donde se desea guardar la BD y digitar el nombre con el que se almacenará. 5) Clic en Guardar. 15 Administración de bases de datos con LibreOffice Base 5 6 6) Luego de lo anterior, se mostrará el entorno de trabajo de Base 7) Para crear una tabla, hacer clic en: Crear tabla en modo de diseño... 9) En la ventana de diseño de la tabla, se deben ingresar los nombre de los campos y el tipo de dato de cada uno. 16 Administración de bases de datos con LibreOffice Base Si deseamos que una clave principal tenga un valor automático, seleccionamos el campo y en esta propiedad marcamos Sí Estableciendo la clave principal Siguiendo con el ejemplo anterior, estableceremos el campo Codigo como clave principal. Para ello, hacer lo siguiente: 1) Clic derecho en encabezado de columna del campo a configurar. 2) Seleccionar: Clave principal 1 2 Guardar la estructura de una tabla 17 Administración de bases de datos con LibreOffice Base Una vez que se ha creado la estructura de una tabla, se debe guardar para que los cambios realizados sean permanentes. Esto se lleva a cabo de la siguiente manera: 1) Clic en la X para cerrar la ventana de diseño de tablas 2) Digitar el nombre con el que guardará la tabla. 3) Clic en Aceptar 1 2 3 La propiedad Valor automático Con esta propiedad podemos indicar si el valor de un campo será asignado, automáticamente por Base. Al establecerlo a: Sí, Base le dará un valor al campo, cada vez que se ingrese un registro. Si lo dejamos marcado en: No, el usuario deberá ingresar el valor para el campo. Los valores automáticos solamente funcionan con tipos de datos : Entero, Entero largo y Entero corto. Editar tablas Se entiende por edición, al proceso de modificar la estructura de una tabla; es decir, agregar o quitar campos, cambiar los tipos de datos, cambiar los nombres de los campos. Para editar una tabla se debe realizar lo siguiente: 1) Clic derecho sobre el nombre dela tabla a editar 18 Administración de bases de datos con LibreOffice Base 2) Clic en Editar... 1 2 3) La tabla se mostrará en vista diseño, con lo cual se podrán realizar las modificaciones deseadas. Eliminar campos de una tabla 19 Administración de bases de datos con LibreOffice Base En Base, se elimina un campo de una tabla de la siguiente forma: 1) Clic derecho sobre el encabezado de fila del campo a eliminar 2) Clic en Eliminar 3) Para que los cambios efectuados tengan efecto, cerrar la ventana de diseño de tablas (haciendo clic en la X) 4) Clic en Sí, para guardar los cambios. 1 2 4 Guardar una base de datos 20 Administración de bases de datos con LibreOffice Base Para guardar una base de datos se puede proceder de dos formas: Forma 1: 1) Clic en Archivo 2) Clic en Guardar Forma 2: • Clic en el icono de Guardar Ingresar registros a una tabla 1) Para ingresar registros a una tabla, hacer doble clic sobre su nombre. 21 Administración de bases de datos con LibreOffice Base 2) Luego de lo cual, se mostrará la ventana de vista de datos de la tabla 3) Para que los registros se guarden, hacer Clic en el icono Guardar registro actual. 2 3 Cómo el campo Codigo se ha configurado con Valo automático, el usuario no debe ingresar su valor. Por eso se muestra <Campo automático> Relacionando tablas en Base 22 Administración de bases de datos con LibreOffice Base El proceso se explica mediante un ejemplo, en el cual se establecerá una relación de uno a varios: Un departamento puede tener varios empleados (un empleado puede pertenecer a un sólo departamento). A) Crear una base de datos llamada Empresa B) Crear las siguientes tablas • Tabla : Departamento —CodigoDepartamento automático en Sí) NombreDepartamento • Tabla : Empleado —CodigoEmpleado CodigoDepartamento NombreEmpleado No use tildes ni espacios para los nombres de campos. Entero (con propiedad valor Texto Por lo general, los nombres de tablas se establecen en singular Entero Texto Texto Clave foránea Las tablas quedarán como se muestra a continuación: En las propiedades del campo Sueldo, por ser de tipo Decimal, establecer en 2 la cantidad de decimales 23 Administración de bases de datos con LibreOffice Base En el entorno de Base, se muestran las dos tablas creadas. C) Para relacionar las tablas, hacer lo siguiente: 1) Clic en Herramientas 2) Hacer clic en Relaciones… 1 2 3) Se mostrará la ventana de diseño de relaciones 24 Administración de bases de datos con LibreOffice Base 4) Seleccionar, una a una, cada tabla y hacer clic en Añadir o hacer doble clic sobre el nombre de cada una. 5) Luego de lo anterior, las tablas se mostrarán en el diseñador 6) Clic en Cerrar 3 4 6 5 7) Arrastre y suelte el campo: CodigoDepartamento de la tabla Departamento, hacia el campo: CodigoDepartamento de la tabla Empleado. 7 Tabla primaria Tabla secundaria Arrastrar campos, siempre, de tabla primaria hacia tabla secundaria En el supuesto de que un departamento fuera eliminado de la tabla, los 25 Administración de bases de datos con LibreOffice Base correspondientes empleados (de ese departamento), también serían eliminados de la tabla empleados; es decir, se respetará la Integridad Referencial. 8) Se muestra la ventana de Relaciones, en la cual se marcarán las opciones: Actualización en cascada y Eliminar en cascada. Con estas dos opciones marcadas, Base hará que se establezca la Integridad Referencial. 9) Clic en Aceptar 8 9 26 Administración de bases de datos con LibreOffice Base 10) En la ventana de diseño de relaciones, se mostrarán las tablas con una relación uno a varios. Puede agregar más tablas de la base de datos, haciendo clic sobre este icono. Línea de relación 11) Al cerrar la ventana de relaciones, se deben guardar los cambios realizados, haciendo clic en Sí. 12) A continuación se ingresan los registros, comenzando con la entidad fuerte o tabla principal. Para este caso, la tabla: Departamento. 27 Administración de bases de datos con LibreOffice Base 13) Luego, se ingresan registros en la tabla secundaria (entidad débil) El departamento con código cero tiene 3 empleados, el departamento 1 tiene 2 ¿Qué sucede, si en la tabla Empleado agregamos un código de departamento que no existe en la tabla Departamento? Este mensaje indica que el registro ingresado no es válido por infringir la integridad referencial Se genera un error porque el departamento con código 3 no existe en la tabla Departamento. Hacer clic en Aceptar y corregir el registro con un dato válido Modificar o eliminar una relación 28 Administración de bases de datos con LibreOffice Base Para tal propósito, hacer clic derecho sobre la línea de relación a cambiar y seleccionar la acción requerida (Eliminar o editar) . Errores en la creación de relaciones Cuando se crean las estructuras de las tablas, debe tomarse en cuenta que las claves principales y las correspondientes claves foráneas, deben ser del mismo tipo de datos. Por ejemplo: Si la clave principal CodigoProducto es de tipo Entero y la clave foránea CodigoProducto (en la otra tabla) es de tipo Texto, se generará el siguiente error. Hacer clic en Aceptar y hacer las correcciones. Cambiar el nombre de una tabla 29 Administración de bases de datos con LibreOffice Base 1) Hacer clic derecho sobre nombre de la tabla. 2) Clic en Cambiar nombre... 1 2 Actividad 1.5Ü Desarrollar las bases de datos que se piden a continuación. Implementar las soluciones en Base, estableciendo las relaciones que corresponden. 1) Una base de datos para una pequeña empresa debe contener información acerca de clientes, artículos y pedidos. Hasta el momento se registran los siguientes datos en documentos varios: • Para cada cliente: Número de cliente (único), Direcciones de envío (varias por cliente), Saldo, Límite de crédito (depende del cliente, pero en ningún caso debe superar los Q10,000.00 , Descuento. • Para cada artículo: Número de artículo (único), proveedor que distribuye, Existencias de ese artículo en cada fábrica, Descripción del artículo. Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera está formada por el número de cliente, dirección de envío y fecha del pedido. El cuerpo del pedido son varias líneas, en cada línea se especifican el 30 Administración de bases de datos con LibreOffice Base número del artículo determinado que se fábricas. Sin embargo, Número de la fábrica pedido y la cantidad. Además, se ha debe almacenar la información de las dado el uso de distribuidores, se usará: (único) y Teléfono de contacto. 2) Le contratan para hacer una BD que permita apoyar la gestión de un sistema de ventas. La empresa necesita llevar un control de proveedores, clientes, productos y ventas. Un proveedor tiene un código nombre, dirección, teléfono y página web. Un cliente también tiene NIT, nombre, dirección, pero puede tener varios teléfonos de contacto. Un producto tiene un id único, nombre, precio actual, stock y código del proveedor . Además se organizan en categorías, y cada producto va sólo en una categoría. Una categoría tiene id, nombre y descripción. Por razones de contabilidad, se debe registrar la información de cada venta con un id, fecha, cliente, descuento y monto final. Además se debe guardar el precio al momento de la venta, la cantidad vendida y el monto total por el producto. 3) Crear una base de datos para un sistema de control de vuelos adaptado a las siguientes reglas de gestión (indicar las entidades, interrelaciones, etc., que se deducen de cada una de las reglas): a) De cada aeropuerto se conoce su código, nombre, ciudad y país. b) En cada aeropuerto pueden tomar tierra diversos modelos de aviones (el modelo de un avión determina su capacidad, es decir, el número de asientos. c) En cada aeropuerto existe una colección de programas de vuelo. En cada programa de vuelo se indica el número de vuelo, línea aérea y días de la semana en que existe dicho vuelo. d) Cada programa de vuelo despega de un aeropuerto y aterriza en otro. e) Los números de vuelo son únicos para todo el mundo. f) En cada aeropuerto hay múltiples aterrizajes y despegues. Todos los aeropuertos contemplados están en activo, es decir, tienen algún aterrizaje y algún despegue. g) Cada vuelo realizado pertenece a un cierto programa de vuelo. Para cada vuelo se quiere conocer su fecha, plazas vacías y el modelo de avión utilizado. h) Algunos programas de vuelo incorporan escalas técnicas intermedias entre los aeropuertos de salida y de llegada. Se entiende por escala técnica a un aterrizaje 31 Administración de bases de datos con LibreOffice Base y despegue consecutivos sin altas ó bajas de pasajeros. i) De cada vuelo se quieren conocer las escalas técnicas ordenadas asignándole a cada una un número de orden. Por ejemplo, el programa de vuelo 555 de Iberia con vuelos los lunes y jueves despega de Guatemala y aterriza en Canadá teniendo las siguientes escalas México, Estados Unidos. Formularios Los formularios son muy útiles a la hora de introducir datos, ya que aparte de la comodidad que ofrecen, con su uso se pueden evitar también los posibles errores que podrían ocurrir usando la vista Hoja de Datos. Los formularios se pueden vincular tanto a tablas como a consultas. Crear un formulario usando el asistente En la parte izquierda de la ventana principal hemos de hacer clic en el icono Formularios y a su derecha en Usar el asistente para crear formulario: 32 Administración de bases de datos con LibreOffice Base Se mostrará la siguiente ventana, y en el cuadro de diálogo Asistente para formularios: 1) Seleccionar la tabla de la cual se tomarán los campos para el formulario 2) Pueden seleccionarse los campos, uno por uno, haciendo doble clic sobre el nombre o seleccionando cada uno y haciendo clic sobre el botón >. Para pasar todos los campos al formulario, en un solo clic, presionamos el botón >>. 3) Se muestran los campos que se visualizaran en el formulario 4) Clic en Siguiente> 1 2 3 4 33 Administración de bases de datos con LibreOffice Base 5) En caso de que se desee agregar una tabla secundaria puede hacerse en esta ventana. De lo contrario clic en Siguiente> 5 6) La forma en que se visualizarán los controles se elige en este ventana 7) Clic en Siguiente> 6 7 34 Administración de bases de datos con LibreOffice Base 8) La ventana de modo de entrada de datos, ofrece varias opciones. Si desea que el formulario tenga todas las funcionalidades, deje marcada la opción: El formulario mostrará todos los datos. Clic en Siguiente> 8 9) Seleccionar el estilo deseado para el formulario. Clic en Siguiente> 9 35 Administración de bases de datos con LibreOffice Base 10) Ingresar el nombre para el formulario. Puede dejarse el nombre asignado por defecto. 11) Clic en Finalizar 10 11 12) Se muestra el formulario con los campos de la tabla seleccionada y el primer registro. 36 Administración de bases de datos con LibreOffice Base Usando la barra de navegación podrá: buscar, agregar, guardar, eliminar, filtrar y moverse entre registros (hacia el anterior o siguiente) 13) Al terminar de trabajar con el formulario, cerrarlo y guardar los cambios. 14) En entorno de Base, se mostrarán los nombres de los formularios creados. Formulario con subformulario Al trabajar con datos relacionales (datos relacionados que están almacenados en tablas independientes), a menudo necesita ver los datos de varias tablas o consultas en el mismo formulario. Por ejemplo, puede que quiera ver al mismo tiempo datos de los departamentos de una tabla e información sobre los empleados desde otra tabla. Los subformularios son una herramienta útil para hacerlo. Con este tipo de formularios, hay una sección de encabezado (entidad fuerte) y una de detalle (entidad débil) 37 Administración de bases de datos con LibreOffice Base Para la creación de un formulario con subformualrio, seguir el siguiente proceso: 1) Clic en: Crear un formulario mediante asistente… 2) Seleccionar la tabla principal (para la sección de detalle) 3) Trasladar todos los campos de la tabla al formulario, haciendo clic en el botón >> 4) Los campos se mostrarán en el cuadro de la derecha 5) Clic en Siguiente> 2 3 4 38 Administración de bases de datos con LibreOffice Base 6) Se mostrará la ventana para agregar la entidad débil como subformulario. Marcar la casilla: Agregar subformulario y el botón de radio: Subformulario basado en relación existente. 7) Seleccionar, con un clic, el nombre de la tabla secundaria para la sección de detalle 8) Clic en Siguiente> 6 7 9) Seleccione cada campo de la tabla secundaria, haciendo doble clic. No elija la clave foránea (para este caso, el campo CodigoDepartamento no seleccionarlo) 10) Los campos pasaran al cuadro de la derecha. Clic en: Siguiente> 39 Administración de bases de datos con LibreOffice Base 9 10 Las claves foráneas no deben pasarse a este cuadro 11) Esta ventana permite organizar los controles en los formularios. Para la tabla principal (detalle), seleccione: En columnas. Para la tabla secundaria, elija: Como hoja de datos. Clic en Siguiente> 11 12) Dejar marcada esta opción. Clic en Siguiente> 40 Administración de bases de datos con LibreOffice Base 12 41 Administración de bases de datos con LibreOffice Base 13) Seleccionar el estilo deseado. Clic en Siguiente> 13 Puede cambiar el aspecto de los campos, seleccionando estas opciones 14) Digitar el nombre para el formulario. Clic en Finalizar. 14 42 Administración de bases de datos con LibreOffice Base 15) Se muestra en formulario, con la tabla principal como encabezado y el subformulario con los campos y registros de la tabla secundaria. La tabla principal es el encabezado La tabla secundaria es el detalle 43