| |
Clase 4: Más información
sobre Microsoft Access® y las bases de datos relacionales
Todas
las pantallas han sido capturadas de MS Access®
23 de enero de 2002
Objetivo:
Introducción al modelo de
base de datos relacional y consultas de dificultad media
(funciones de agrupación y consultas para las
que es necesario el uso de más de una tabla).
Resumen:
Debate sobre bases de datos, introducción
al modelo relacional y ejemplos de los tipos de consulta
que se podrían pedir en las prácticas.
Puntos principales:
Debate sobre el formato de los
datos y su estructura.
Características principales del modelo de base
de datos relacional.
Consultas de dificultad intermedia:
- función de agregado.
- generador de expresiones.
- actualización de la base
de datos.
- combinación de varias tablas.
Repaso de
bases de datos:
- Una forma de entender en qué
consiste una base de datos es verla en su formato
ASCII (sólo texto), modo habitual de intercambio
de datos entre programas. El formato ASCII es importante
también porque gran cantidad de la información
que se encuentra en internet está disponible
en este estándar básico.
Consultas a una base de datos
de fichero plano: base de datos de la encuesta
a los empleados del Ministerio de Transporte de EEUU
(DOT).
- Cómo importar un archivo
de tipo *.dbf: Para utilizar un archivo *.dbf en MS
Access, hay que ir a Archivo y elegir Nueva...;
luego, seleccionar Base de datos en blanco
y pulsar Aceptar. En la ventana Archivo
nueva base de datos, introducimos un nombre para
el archivo, como por ejemplo, mi_dot.mdb; debemos
comprobar que en el apartado Guardar en aparece
la carpeta en la que lo queremos guardar. La ventana
tendría el siguiente aspecto:

Creación de "mi_dot.mdb" en la ventana
Archivo nueva base de datos
A continuación, hacemos
clic en Crear. Entonces, debería aparecer
la siguiente ventana (mi_dot: Base de datos):

La nueva ventana de base de datos
de "mi_dot"
Ahora vamos a Archivo...
Obtener datos externos... y elegimos la
opción Importar... En la ventana 'Importar',
debemos especificar dónde se encuentra el archivo
*.dbf que queremos importar. En nuestro caso, es
K:\11.208\data\; luego, nos aseguraremos de que en el
apartado 'Tipo de archivo' pone dBase IV (*.dbf). A
continuación, seleccionamos empleados.dbf
y hacemos clic sobre el botón Importar.
Entonces, Access mostrará una ventana en la que
dirá "'empleados' ha sido importada con éxito".
Cerramos la ventana 'Importar'. En la ventana 'mi_dot:
Base de datos', podremos ver ya 'empleados' en la lista,
a continuación de las tablas.
- Repaso de la documentación
de bases de datos: definiciones
de datos y formularios
de las encuestas
- Repaso del diseño de
consultas sencillas.
- Uso de Y frente a O:
- Cuando se introducen expresiones
en más de una celda del apartado 'Criterios',
Microsoft Access las combina utilizando los operadores
Y u O. Si las expresiones se encuentran en diferentes
celdas de la misma fila, Microsoft Access utilizará
el operador Y, lo que significa que en los resultados
aparecerán sólo los registros que
cumplan los criterios de todas las celdas. Si las
expresiones se encuentran en diferentes filas de
la tabla de diseño, Microsoft Access utilizará
el operador O, por lo que en los resultados se mostrarán
todos los registros que cumplan alguno de los criterios
que figuran en las celdas.
- Funciones de agregado (Cuenta,
Var...); agrupar por.
- Expresiones y expresiones calculadas
(es necesario crear primero un nuevo campo).
- Pero antes hagamos una consulta
sencilla: cuántos empleados del DOT condujeron
en solitario como medio principal de transporte
al trabajo en 1989. Echemos una ojeada al diccionario
de datos y a la encuesta.
Consulta de los empleados que condujeron principalmente
en solitario
Resultado de la consulta anterior
- Obsérvese que estamos
viendo el registro y que, por tanto, realizar la
cuenta a partir del identificador de encuesta (campo
clave) daría el mismo resultado.


- Obsérvese, sin embargo,
que las funciones del apartado 'Total' pueden proporcionar
cálculos realizados a partir del campo seleccionado.
Así, por ejemplo, podemos calcular la media
de las horas de viaje de los que conducen en solitario.
- La función 'Agrupar
por' también permite mejorar en gran medidalos
niveles de selección. Podemos examinar la
media de las horas de viaje de cada división
del DOT.
- Y podemos ir más allá
y comprobar la media de las horas de viaje en función
del condado de residencia de los empleados de una
rama concreta del DOT.


- Y, por supuesto, también
de los códigos postales dentro de los condados.


- También puede ser
útil el cáculo de expresiones mediante
el uso de dos o más campos. Podemos contar
el número de personas por familia (F_TAM)
y el número de trabajadores en activo que
hay en las familias (F_EMPL), ¿pero cuál
es su porcentaje?



- Sólo necesitamos la
siguiente expresión:

- Sin embargo, esto no nos permite
utilizar la función 'Agrupar por', por lo
que debemos añadir la función 'Suma':


- CÓMO AÑADIR
UN NUEVO CAMPO CON UNA EXPRESIÓN CALCULADA
Y GUARDAR EL RESULTADO EN UNA NUEVA TABLA:
- Puede ser muy útil
crear un nuevo campo y luego añadirle datos
basados en una expresión calculada. Para
ello, hay que ir a la pestaña Tablas
de la ventana principal de la base de datos y
pulsar Diseño. Situarse al final
de la tabla 'empleados' y hacer clic en la última
fila vacía. Introducir un nombre para el
campo (que no contenga espacios ni caracteres extraños).
Luego, hacer clic en la celda 'Tipo de datos' para
que aparezca el menú desplegable y seleccionar
"Numérico". Además, en la zona gris
situada bajo la pestaña "General", seleccionamos
"Doble" en el apartado 'Tamaño numérico'.
La ventana debería ser similar a ésta:

- Luego, cerramos la tabla
y guardamos los cambios. En este momento, la tabla
debería tener una nueva columna sin datos.
- Ahora, generemos una nueva
consulta con el campo que acabamos de crear y una
expresión calculada, para luego añadirlo
a una nueva tabla:


- Hacer clic en el botón
'Seleccionar consulta'
de la barra de herramientas y seleccionar la opción
Consulta de creación de tabla del
menú.

En la ventana Crear nueva
tabla, introduciremos el nombre que queramos
asignar a la tabla y eligiremos la opción
'Base de datos activa'. Una vez pulsado el botón
'Ejecutar consulta' ,
Microsoft Access nos pedirá, a través
de una ventana de aviso, que confirmemos la decisión
de crear una nueva tabla. Pulsamos Sí.
Ahora disponemos de una nueva tabla sobre la que
podemos seguir realizando consultas.
Bases de datos relacionales
- El modelo relacional es más
complejo que el anterior, pues dispone de múltiples
tablas que se pueden relacionar entre sí mediante
un identificador común.
- Estas relaciones enlazan diferentes
tablas con distintos tipos de datos, generando una
serie de información que de otro modo no sería
posible obtener. Por ejemplo, podremos enlazar la
tabla de los propietarios de los edificios con la
de las parcelas y con la de los incendios y determinar,
así, a quién pertenece la propiedad
que resultó más dañada por el
fuego.
- Ejemplos de relaciones entre
tablas: parcelas, incendios, impuestos y propietarios.
- Crear la base de datos "Parcelas_y_demas".
- Vayamos a Obtener
datos externos... y luego a Importar la
siguiente tabla: K:\11.208\Data\parcelas.dbf;
a continuación, repetiremos esta operación
tres veces más, para las tablas incendios.dbf, impuestos.dbf
y propietarios.dbf.
Este es el diccionario de datos
de dichas tablas:
|
PARCELAS
|
INCENDIOS
|
IMPUESTOS
|
PROPIETARIOS
|
| id |
identificador
único de parcela |
Id |
identificador
único
de parcela |
id |
identificador
único
de parcela |
numprop |
identificador
de propietario |
| bdb |
barrio/distrito
/bloque |
bdb |
barrio/distrito
/bloque |
bdb |
barrio/distrito
/bloque |
nomprop |
nombre
del propietario |
| parcela |
numero
de parcela dentro del bloque |
Parcela |
numero
de parcela dentro del bloque |
parcela |
numero
de parcela dentro del bloque |
direccion |
direccion
del propietario |
| dir1 |
número
(de la calle) |
F_incend |
Fecha
del incendio |
tip_pro |
tipo
de propiedad |
ciudad |
De
residencia del propiet. |
| dir2 |
nombre
de la calle |
Ignfactor |
Causa
u origen del incendio (factor de ignición) |
val_ter |
valor
del terreno |
estado |
De
residencia del propiet. |
| cod_post |
código
postal |
Perd_est |
Perdidas
estimadas |
val_edi |
valor
del edificio |
cod_post
|
código
postal de residencia del propietario |
| long |
longitud
(en pies cuadrados) |
|
|
impuesto |
impuesto
de
propiedad |
|
|
| nump |
identificador
de propietario |
|
|
|
|
|
|
| uso_ter |
tipo
de utilización
del terreno |
|
|
|
|
|
|
- Relacionar las tablas mediante
identificadores clave: Primero,
PARCELAS.ID con
INCENDIOS.ID e IMPUESTOS.ID; luego,
PROPIETARIOS.NUMPROP con PARCELAS.NUMP.
- Con las tablas relacionadas
se pueden realizar los mismos tipos de consulta que
con un fichero plano(Agrupar por, Ordenar por, etc.).
- NOTA: Uso del apartado
'Criterios' con tablas relacionadas entre sí:
- Si la consulta incluye tablas
relacionadas, deberemos tener en cuenta que los
valores que especifiquemos en el apartado de criterios
de los campos de dichas tablas son sensibles a mayúsculas
y minúsculas. Por lo tanto, deberán
coincidir exactamente con los valores de la tabla
en cuestión.
- Las relaciones entre
tablas pueden ser de gran utilidad en otras cuestiones:
por ejemplo, facilitan el análisis proporcionando
una vista de las tablas para traducir los códigos:
- Abrir la base de datos 'misempleados'.
- Ir a Obtener datos externos...
y elegir la opción Importar. Luego,
en K:\11.208\Data\ seleccionar 'dotmodo1.dbf'
y abrirla para comprobar que se trata de una tabla
sencilla:

Contenidos de la tabla dotmodo1

Tablas empleados y dotmodo1 relacionadas
mediante los campos MODO1_COD y MODO1_A

Resultado de la consulta anterior
|