Subido por Marco Del Cid

bases de datos con software libre (Marco del Cid)

Anuncio
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
Descargar