Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


manual para comprender access, Apuntes de Tecnologías de la Información y la Comunicación

manual para comprender access y

Tipo: Apuntes

2022/2023

Subido el 07/12/2023

paula-millan-4
paula-millan-4 🇪🇸

3 documentos

1 / 42

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Bases de datos 61
3. Bases de datos con Access
3.1 Estructura y creación de una base de datos
3.1.1 Creación
Una base de datos es un conjunto de información con una cierta estructura
que se guarda en disco. Por ejemplo, la guía telefónica, el menú de un res-
taurante, los clientes de una empresa, las fichas de una biblioteca etc.
Un gestor de bases de datos es un programa que permite trabajar con esta
información consultándola y modificándola. Access es uno de tales progra-
mas.
Ejecuta Access. Si no está en el escritorio lo encontrarás buscando desde el
menú Inicio.
Para crear una base de datos nueva (en blanco) selecciona desde el menú
Archivo Base de datos en blanco.
Escoge la carpeta donde la quieras guardar. Como nombre escribe Biblio. El
ordenador te pone automáticamente la extensión: accdb.
Luego pulsa el botón Crear.
Aparecerá una tabla creada por defecto. Para empezar de cero cierra dicha
tabla pinchando en su cuadro de cierre:
3.1.2 Tablas
La información de una base de datos se estructura en forma de tablas.
Una tabla contiene información relativa a una serie de datos de la misma
naturaleza que llamamos filas (antiguamente se les llamaba registros). Por
ejemplo, en una tabla de cuentas corrientes cada fila contendrá los datos de
una cuenta. En una tabla de personal cada fila contendrá la información sobre
un empleado (nombre, cargo, edad etc.). En una tabla de libros podemos in-
cluir para cada libro su título, autor, fecha de edición y otros datos.
A cada uno de los datos de información que se guarda para cada fila (título,
autor etc.) se le llama campo.
Ejemplo de contenido de una tabla:
Título Autor Editor PreCom PreVen FechaEdicion
El Quijote
Cervan
Anay
a
23,00
29,50
1/7/90
La Biblia
Acme
22,00
40,00
2/5/88
La Celestina Rojas Acme 12,00 25,00 1/6/88
Chapeau el es-
mirriau
Ibáñez Bruguera 40,00 72,00 1/5/87
Misticismo
Russell
Acme
67,00
122,00
23/6/88
A la hora de crear una tabla lo primero hay que indicar es su estructura, es
decir, qué campos o columnas va a contener y qué tipo de información va a
contener cada campo. En nuestro ejemplo diremos que Titulo contendrá
texto y que PreCom contendrá un número.
Para crear una tabla y especificar su estructura o diseño haz Crear:Tablas:Di-
seño de tabla.
Debajo de Nombre del campo escribe titulo (sin acento). Pulsa tabulador. En
Tipo de datos te propone Texto corto, que es correcto, no lo modifiques.
Registro
o fila
Campo o columna
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a

Vista previa parcial del texto

¡Descarga manual para comprender access y más Apuntes en PDF de Tecnologías de la Información y la Comunicación solo en Docsity!

Bases de datos 61

Bases de datos con Access

Estructura y creación de una base de datos

Creación

Una base de datos es un conjunto de información con una cierta estructuraque se guarda en disco. Por ejemplo, la guía telefónica, el menú de un res-taurante, los clientes de una empresa, las fichas de una biblioteca etc.Un gestor de bases de datos es un programa que permite trabajar con estainformación consultándola y modificándola. Access es uno de tales progra-mas.Ejecuta

Access

. Si no está en el escritorio lo encontrarás buscando desde el

menú Inicio.Para crear una base de datos nueva (en blanco) selecciona desde el menú Archivo

Base de datos en blanco

Escoge la carpeta donde la quieras guardar. Como nombre escribe

Biblio

. El

ordenador te pone automáticamente la extensión: accdb.Luego pulsa el botón

Crear

Aparecerá una tabla creada por defecto. Para empezar de cero cierra dichatabla pinchando en su cuadro de cierre: 3.1.

Tablas

La información de una base de datos se estructura en forma de tablas.Una tabla contiene información relativa a una serie de datos de la mismanaturaleza que llamamos filas (antiguamente se les llamaba registros). Porejemplo, en una tabla de cuentas corrientes cada fila contendrá los datos deuna cuenta. En una tabla de personal cada fila contendrá la información sobreun empleado (nombre, cargo, edad etc.). En una tabla de libros podemos in-cluir para cada libro su título, autor, fecha de edición y otros datos.A cada uno de los datos de información que se guarda para cada fila (título,autor etc.) se le llama campo.Ejemplo de contenido de una tabla:

Título

Autor

Editor

PreCom

PreVen

FechaEdicion

El Quijote

Cervan

Anay

a

23,

29,

1/7/

La Biblia

Varios

Acme

22,

40,

2/5/

La Celestina

Rojas

Acme

12,

25,

1/6/

Chapeau el es-mirriau

Ibáñez

Bruguera

40,

72,

1/5/

Misticismo

Russell

Acme

67,

122,

23/6/

A la hora de crear una tabla lo primero hay que indicar es su estructura, esdecir, qué campos o columnas va a contener y qué tipo de información va acontener cada campo. En nuestro ejemplo diremos que Titulo contendrátexto y que PreCom contendrá un número.Para crear una tabla y especificar su estructura o diseño haz Crear:Tablas:Di-seño de tabla.Debajo de Nombre del campo escribe

titulo

(sin acento). Pulsa

tabulador

. En

Tipo de datos

te propone

Texto corto

, que es correcto, no lo modifiques.

Registro o fila

Campo o columna

62 Bases de datos En la parte inferior de la ventana puedes escoger otros atributos para elcampo que estás creando. Para empezar rellena únicamente la casilla Título.Esta casilla sirve para indicar lo que aparecerá en la parte superior de la co-lumna cuando hagas un listado. En tu caso pon Título.Nota: Es conveniente ser consistente a la hora de dar nombres a campos ytablas. Es bueno seguir las siguientes recomendaciones:

Poner los nombres de las tablas comenzando por mayúscula:

Libros

No usar acentos ni en tablas ni en campos:

titulo

No poner espacios ni en tablas ni en campos. Usar mayúsculas para juntar palabras:

fechaEdicion

Continúa introduciendo el resto de campos. Para PreCom y PreVen poncomo tipo de datos Moneda.Cierra la tabla y di que sí deseas guardar los cambios en el diseño.Te pedirá que le des un nombre a la tabla. Pon

Libros

Clave principal

Cierra la tabla. Te saldrá un mensaje diciendo que no hay ninguna clave prin-cipal definida. Dile que la cree él por ti. Automáticamente se creará un nuevocampo de nombre Id. 3.1.

Modificación del diseño.

Puedes modificar la estructura pinchando en

Libros

con

el botón derecho y a continuación en Vista

Diseño

Observa cómo aparece el campo Id y que su tipo de da-tos es

Autonumeración

. Esto quiere decir que no tendrás

que teclear el valor de ese campo cuando añadas un libro, automáticamentese irán insertando números correlativos.Añade un nuevo campo de nombre

unidades

Si pinchas con el botón derecho en cualquier parte de la fila podrás:Para probar estas posibilidades:

Elimina el campo

Id

Inserta antes de

Autor

un nuevo campo de nombre

Id

, tipo

Autonu-

mérico

y conviértelo en campo clave.

Traslada esta fila a la primera posición. Para ello: pincha una vez enel cuadradito sito a su izquierda y suelta el botón. después arrastradesde dicho cuadradillo hacia arriba.

Cierra la ventana diseño. Te pedirá que guardes los cambios. Dile que sí. 3.1.

Inserción de datos en la tabla

Una vez creada la estructura vas a empezar a llenar la tabla. Haz doble clicen el nombre

Libros

que aparece en la parte izquierda. Te aparecerá una cua-

drícula que recibe el nombre de hoja de datos.Ve pulsando tabulador y escribiendo datos de cinco libros. Observa que enla columna Id no tienes que teclear nada.

64 Bases de datos Observa las diferencias entre la clave principal

id

y la clave secundaria

idLi-

bro

La clave principal es única (no puede haber dos filas con la misma clave)La clave secundaria puede repetirse (un libro puede prestarse dos veces)La clave principal hace referencia a la propia tabla.La clave secundaria hace referencia a otra tabla (

idLibro

hace referencia a la

tabla

Libros

3.

Consultas

A veces interesa mostrar información parcial de una tabla, por ejemplo, eltítulo de los libros de una cierta editorial o los editados el presente año.Una consulta permite solicitar información de una base de datos medianteuna serie de criterios que establezcan qué información concreta se desea.A partir de ahora trabajarás con la base de datos “Biblio” descargable desdeinternet. 3.2.

Creación de la consulta

Para crear una consulta pincha en

Crear:Diseño de consulta

En la siguiente ventana tienes que indicar la tabla o tablas que van a interve-nir en la consulta:

En tu caso agrega la tabla

Libros

y pulsa en

Cerrar

En este primer ejemplo vas a mostrar el título y el autor de todos los libros.Para añadir el título simplemente haz doble clic en su nombre:Haz lo mismo con

Autor

. Observa cómo se genera una columna para cada

campo que vas a mostrar:

Bases de datos 65

Para ejecutar la consulta haz

Diseño:Ejecutar

Se mostrará el resultado de la consulta que en este caso consta de todos loslibros pero mostrando sólo

Titulo

y

Autor

Pincha en Ver para pasar a modo diseño y así modificar los parámetros de laconsulta.Vas a añadir la editorial, pero colocándola antes del autor. Como con dobleclic se coloca al final lo que hacemos es arrastrar

Editor

encima de

Autor

el

cual, gentilmente, se desplazará a la derecha para dejarle sitio:De una manera rápida puedes hacer que se muestren todas las columnas deuna tabla. Para ello haz doble clic en el asterisco:

Borrado y movimiento de columnas

Añade otro para el número de unidades.Selecciona la columna

Unidades

haciendo clic en su cabecera.

Pulsa

Supr

para eliminarla

Añádela de nuevo pero ahora haciendo clic en el botoncilloTraslada la columna

Autor

antes de la de

Titulo

. Para ello selecciónala. Des-

pués arrastra desde su cabecera hacia la izquierda.Prueba la consulta ejecutándola. 3.2.

Ordenación

Si quieres ordenar por

Editor

añade el campo, pulsa en la casilla

Orden

y

elige

Ascendente

Prueba la consulta.

Bases de datos 67

Constantes Su valor es fijo. Cada constante pertenece a un tipo de datos.Las constantes numéricas se indican con la notación habitual: 12

12,

Las fechas constantes deben encerrarse entre almohadillas: #2-3-1990#

#6/7/99#

#1/3/2009 17:35#

Las cadenas constantes deben entrecomillarse para no confundirlas con cam-pos: "Uds"

"euros"

También existen constantes lógicas:

Verdadero Falso

Campos Se pone el nombre del campo tal cual, sin comillas. Cuando se ejecute laconsulta el nombre del campo se sustituye por su valor para cada fila: preVen * 1,16 Al terminar de escribir la expresión Access lo encierra entre corchetes porser la forma ortodoxa de referirse a ellos. [preVen] * 1,16 Nota: En algún caso, Access actúa por su cuenta indebidamente y pone entrecomillas algo que es un campo, en ese caso es obligatorio utilizar los corche-tes para proteger el campo y que no lo ponga entre comillas.Si se pone el nombre de campo inexistente el sistema te preguntará por suvalor, que será el mismo para todas las filas: preVen * iva Esto mismo ocurrirá si te equivocas al escribir el nombre de un campo: preben * 1,

Las mayúsculas y minúsculas no se distinguen. Si pones PRECOM el sis-tema entenderá que te refieres a

preCom

. Los acentos sí se distinguen. Si

pones

título

, el sistema te preguntará por el valor de

título

ya que

título

titulo

Funciones Una función es una especie de máquina de calcular a la que le pasas unosdatos llamados parámetros y, tras hacer unos cálculos, devuelve un resultado.Hacer una llamada a una función consiste en poner en funcionamiento lamaquinita con unos parámetros concretos: redondear(preCom; 1) Observa que en el diseñador se usa ; para separar parámetros ya que la comase usa como separador decimal en las constantes numéricas.Únicamente como notación para indicar el resultado que devuelve una fun-ción usaremos

Así para indicar que

longitud("Pepe")

devuelve 4 pondremos de forma abre-

viada: longitud("Pepe")

4

Los parámetros de una función pueden ser a su vez expresiones:

redondear

longitud

"Pepe"

68 Bases de datos redondear(preVen - preCom; 1) A la hora de llamar a una función hay que tener cuidado en indicar el númerode parámetros que requiere la función redondear(preCom; 2; 2)

error

El tipo de los parámetros debe ser el esperado: raíz2("Pepe")

error

Access es muy permisivo en esto último e intenta hacer la llamada aunquelos tipos no sean correctos: raíz2("16")

4

Es correcto. Aunque "16" es una cadena él la convierte previamente en nú-mero para poder calcular la raíz cuadrada. Operadores La idea es exactamente la misma que en el caso de las funciones. La diferen-cia es que, al hacer la llamada se utiliza la notación matemática usual: Ganancia: preVen - preCom

Expresiones matematicas En ellas pueden aparecer los operadores aritméticos elementales:+, para sumar-, para restar o cambiar de signo* para multiplicar

/ para dividir^ para elevar un numero a una potencia.No existe el operador % como en Excel.Como en matemáticas el * y el / tienen más prioridad que el + y el -. Por eso:2 + 1*3 vale 5.Usa paréntesis para alterar la prioridad:(2+1) * 3 vale 9.El * y el / tienen la misma prioridad. En este caso se hace primero la opera-ción más a la izquierda. Así: 4 / 2 * 4

se interpreta como (4 / 2) * 4.

Otras operaciones típicas:raíz2(9)

3

abs(-4)

4

7 mod 2

1, es el resto de dividir 7 entre 2. mod

se llama como un opera-

dor, aunque no sea un símbolo Expresiones con cadenas Existen varias funciones que trabajan con cadenas y permiten extraer partesde una cadena. Ejemplos:Si nombre vale “pedro” izq(nombre; 2)

“Pe”

(los dos primeros caracteres de pedro)

der(nombre; 2)

“ro”

(los dos últimos caracteres de pedro)

medio(nombre; 2; 3)

“edr”

(a partir del segundo carácter pilla 3 caracte-

res) medio(nombre; 2)

“edro”

(a partir del segundo carácter pilla todos los

caracteres restantes)

*^18

70 Bases de datos 3.2.

Filtros

Para filtrar libros de modo que sólo aparezcan los que cumplan alguna con-dición se usa la fila de criterios.Por ejemplo vas a mostrar los libros de los que no haya unidades. Pon en laintersección de

Criterios

con

Unidades

un cero. Pasa a modo vista para com-

probar tu éxito.Otros criterios que puedes usar:Libros con más de 2 unidades:

>

Libros con 2 o más unidades:

>=

Libros con menos de 2 unidades:

<

Libros con 2 o menos unidades:

<=

Libros con un número de unidades distinto de 2:

<>

Libros de los que haya entre 1 y 3 unidades:

>=1 y <=

También puedes poner directamente

Entre 1 y 3

Libros de la editorial Anaya o Acme:

Anaya o Acme

en el criterio

Editor

Los que no sean de Anaya:

NoEs “Anaya”

(En Access 2010 No “Anaya”)

Los que no tengan editorial asignada (no se ha escrito ningún valor en elcampo editorial):

es Nulo

Las comparaciones anteriores se pueden hacer con fechas y con texto (se usael orden lexicográfico del diccionario). Así para mostrar los libros que em-piecen por

C

o posterior pon

>=C

en el criterio de

Titulo

Patrones Se pueden buscar libros cuyo título se ajuste a un cierto patrón. Por ejemplo:Los que empiecen por L:

Como L*

Los que empiecen por El:

Como El*

Los que contengan

el

dentro del título:

Como el

Los que empiecen por A, B o C:

Como [A-C]*

El * se sustituye por 0 o más caracteres. La? se sustituye por un caráctercualquiera. Por ejemplo:Los que en su segunda letra tengan una a:

Como ?a*

Combinación de criterios Puedes poner criterios en dos columnas. Por ejemplo, para mostrar los librosde Anaya sin existencias pon 0 en el criterio de

unidades

y

Anaya

en el cri-

terio

Editor

. Como ves un libro debe cumplir ambos criterios para que se

incluya en el listado.Puedes usar la segunda fila de criterios. Se mostrarán los libros que cumplanlos criterios de la primera fila más lo que cumplan los criterios de la segunda.Por ejemplo, para mostrar todos los libros de Anaya más todos los que setitulen el Quijote haz:Con esto saldrán los libros de Anaya más El Quijote.Supón que quieres mostrar los libros editados a partir de 1997 pero sin quesalga la fecha. Añade la columna

fechaEdicion

. En su criterio pon

>1/1/

(Al pulsar

intro

te pone la fecha entre caracteres

que es el formato ortodoxo

para indicar una fecha fija). A continuación, para que no salga la fecha perosí que se use el criterio del año 97 simplemente desactiva la casillita

Mostrar

Filtrado de valores repetidos Considera el problema de hacer un listado de las editoriales.Mostrar el nombre de las editoriales es algo sencillo:

Bases de datos 71

pero las editoriales salen repetidas. Para que aparezca cada editorial una solavez haz

Diseño:Mostrar u ocultar:Hojas de Propiedades

o pulsa

Alt-Intro

es-

tando en vista diseño. Te aparecerán unas propiedades especiales de la con-sulta: Haz doble clic en

Valores únicos

para cambiar el

No

por un

Reejecuta la consulta. Primeras filas Dada una consulta se le puede decir que muestre únicamente las primeras nfilas. Por ejemplo: mostrar los tres libros más caros.Para ello se hace la consulta normalmente y después en la hoja de propieda-des se indica el número de filas que se van a mostrar:Puedes añadir el símbolo % para indicar qué porcentaje de filas se van amostrar respecto del total.

Funciones y operadores usuales

Matemáticas -

Cambio de signo

a

con

a

valiendo

3

de-

vue

lve

el

valor

3

^

Potencia

3 ^ 2

>

9

*** /**

Multiplicación y división

3 * (4 / 2)

>

6

+

-

Suma y resta

2 + 5 - 3

>

4

m

ó

d

Módulo; resto de la división entera

7 mód 3

>

1

pues 7 entre 3

es 2 y “sobra” 1

abs(x)

Valor absoluto

abs(

>

5

abs(5)

−>

5

e

nt(x)

Parte entera, Primer entero menor que x,

ent(2,73)

>

2

ent(-2,73)

−>

sinDec

(x)

Sin decimales,

Devuelve x sin decimales

,^

sinDec

(

,73)

>

2

sinDec (-2,73)

−>

redon-dear(x; d)

Redondea

n

a

d

decimales, Se puede omitir d

en cuyo caso toma d = 0,

redondear (5,32; 1)

>

5,

redond

ear (7,6; 0)

−>

8

(no

raíz

(x)

Raíz cuadrada

raíz

(64)

>

8

sin(x)cos(x)tg(x)

Funciones trigonométricas, Ángulo en radia-nes,

cos(0)

>

1

ln

(x)

Logaritmo neperiano

ln

(1)

>

0

exp(x)

e

x^

exp(1)

>

2,7,,,

Cadenas +

Concatena dos cadenas

"Lu" + "pa"

>

"Lupa"

"Lu"+" "+"na"

−>

"Lu na"

izq

(c

;^

n)

n

primeros caracteres de la cadena

c

izq ("08:57”)

>

"08"

der

(c

;^

n)

n

últimos caracteres de la cadena

c

der

("08:

57

"

;^

>

"57"

medio

(c

;

p; n)

n

caracteres a partir del carácter que ocupa la posición

p

m

edio

("P

alo

s"

;^

2

;^

>

"alo"

(El 2º es

"a

", A partir

de ahí extraemos 3)

mayús

(c)

Cadena

c

convertida en mayúsculas

mayús("ola")

>

"OLA"

mayús("OLA")

−>

"OLA"

minús

(c)

Cadena

c

convertida en minúsculas

minús

("Hola")

>

"hola"

longi- tud

(c)

Número de caracteres que contiene

c

longitud("hola")

>

4

recor- tar(c)

Elimina los posibles espacios que haya alprincipio y al final de

c

recortar(" HOL ")

>

"HOL"

enCad (c;b)

Lugar en que la subcadena

b

aparece dentro

de

c

,^

Si

b

no está dentro de

c

vale

0

,

enCad("Luis"; "ui")

>

2

enCad("Luis"; "J")

−>

0

Bases de datos 73

Puedes probar otras funciones de totalización como

Promedio

para hallar la

media,

Mín

y

Máx

para calcular el precio de compra máximo o mínimo;

Cuenta

para simplemente contar los libros.

Observa que, en el caso de

Cuenta

en principio parece que da igual el campo

que elijas (no se hacen cálculos con él, sólo se cuentan las filas). En la prác-tica se cuentan únicamente los valores no nulos de ese campo por lo que sípuede haber variaciones.Nota: Si quieres asegurarte de que se cuentan todas las filas pon en la casillade

Campo

la expresión

Cuenta(*)

y, en

Total

, elige

Expresión

Estas operaciones sobre conjuntos de filas pueden aplicarse a expresionesarbitrarias. Por ejemplo para calcular cuál es el beneficio máximo que pode-mos obtener con la venta de un libro haríamos: Expresiones sobre conjuntos de filas Supón que quieres mostrar el precio máximo, el mínimo y la diferencia deprecio entre el libro más caro y el más barato. Como ves hay que hacer uncálculo sobre dos resultados sumarios. En este caso no se puede usar Total:porque sólo permite un cálculo, en su lugar hay que poner una expresiónsumaria en Campo utilizando funciones sumarias:En Campo: se pone la expresión. Se usa

Máx

para el máximo,

Mín

para el

mínimo,

Cuenta

para contar y

Promedio

para hallar la media. No olvides po-

ner

Expresión

en la casilla de

Total

Subtotales Resulta interesante hacer cálculos agrupados por subconjuntos de filas, porejemplo se puede hallar el número de los libros de cada editorial.

Simplemente añade una nueva columna con

Campo

Editor

y en

Total

indica

Agrupar

En cada fila aparecerá una editorial y su número de libros.Si queremos agrupar por editorial y número de unidades (una fila para cadaeditorial y número de unidades) basta con añadir una segunda columna de Agrupar Por

. Se obtendrá algo así como

Anaya

0

3

(Hay 3 libros de Anaya con 0 unidades)

Anaya

1

2

(Hay 2 libros de Anaya con 1 unidad)

Acme

0

1

(Hay 1 libro de Acme con 0 unidades)

Acme

2

3

(Hay 3 libros de Acme con 2 unidades).

Condiciones en sumarias En cuanto a las condiciones hay que distinguir dos casos.Condiciones que se aplican a filas individuales. Por ejemplo, contar los librosde cada editorial cuyo precio sea mayor que 20. Esas filas se ignoran antesde agrupar y hacer los cálculos.Para el ejemplo que nos ocupa hay que añadir una columna de nombre

Pre-

Com

, en

Total

se pone

Dónde

y en criterios

>

Una vez que se han hecho los cálculos, tenemos una serie de filas con sub-totales, uno para cada editorial. Pues bien, ahora se puede hacer una segundacriba eliminando aquellas filas que no queramos que aparezcan.

74 Bases de datos Por ejemplo podemos poner como condición que sólo aparezcan aquellaseditoriales con más de un libro. Es decir estaríamos mostrando aquellas edi-toriales que tienen más de un libro con precio de compra superior a 20 euros.Bastaría poner

>

en el criterio de cuenta de libros.

En resumen el gestor actúa así:

Coge todas las filas y las filtra quedándose con aquellas que cum- plan los criterios "

Dónde

Forma grupos de filas atendiendo a "

Agrupar por

Hace una criba de grupos atendiendo a los criterios indicados en columnas que no sean "

Dónde

Por último observa que no tiene sentido activar la casillita

Mostrar en colum-

nas

si hemos puesto un “

Dónde

” ya que no se pueden mostrar datos de filas

individuales. Tampoco tiene sentido ordenar por

datos

Donde porque lo que

se ordena son los grupos resultantes no las filas.He aquí un ejemplo completo en el que aparecen todas las cláusulas.Mostrar ordenado por código de socio el código del socio y la fecha de laúltima vez que pilló prestado un libro y lo devolvió. Hazlo únicamente paraaquellos socios que hayan efectuado en total más de dos préstamos con de-volución: Consultas de doble entrada Una consulta que muestra para cada editorial el número de libros y el preciode todos ellos:

Cada fila es una editorial. Tenemos la cuenta total de libros pero podría serinteresante un desglose más fino y que apareciera por ejemplo la cuenta delibros pero para cada año, de manera que nos diga cuántos libros se han edi-tado (en cada editorial) en cada uno de los años.Esto se consigue mediante una consulta de referencias cruzadas. En mododiseño haz

Diseño:General

Aparecerá una nueva fila de rótulo

Tab ref cruz

En todos los campos que has creado pon

Encabezado de fila

Ahora hay que añadir tantas columnas como años haya. En un campo nuevopon

año(fechaEdicion)

e indica que es un

Encabezado de columna

Por último hay que indicar para cada editorial y cada año qué valor deseamoscalcular, por ejemplo el número de libros editados. Haz doble clic en

Id

. En

total pon

Cuenta

y en

Tab Ref Cruz

pon

Valor

Campo

editor

id

suma

precios

:pre-

Com

Año(fechaEdicion)

id

Tabla:

libros

libros

Libros

libros

Total:

Agrupar por

Cuenta

Suma

Agrupar por

Cuenta

Tab ref

cruz

Encabezado

de fila

Encabezado

de fila

Encabezado

de fila

Encabezado de

columna

Valor

Sólo se permite un encabezado de columna y el valor correspondiente.El resultado debería presentar el siguiente aspecto:

76 Bases de datos Si queremos indicar otra editorial habrá que hacer una consulta nueva o mo-dificar la existente. En vez de eso se puede usar una consulta con parámetros,en ella uno de los datos se deja sin indicar, y, en el momento de ejecutarse laconsulta se le preguntará al usuario:Es muy sencillo, basta con sustituir el criterio por un texto encerrado entrecorchetes que será la pregunta que se le hace al usuario:Ejecuta ahora la consulta, te hará la pregunta:Si escribes Acme ejecutará la consulta como si hubieras escrito directamenteAcme en el criterio de

Editor

Puedes poner tantos parámetros como te interese. 3.2.

Modificaciones

Las consultas que has visto hasta ahora permiten mostrar información de labase de datos. Hay otro tipo de consultas que permiten modificar el conte-nido de la base de datos.Imagina que quieres incrementar el precio de venta de todos los libros en 2euros.Crea una consulta que muestre

preVen

y haz

Diseño:Actualizar

Aparecerá una nueva fila

Actualizar a:

Ahí pones el nuevo precio de venta:

preVen + 2

Problema: Es posible que ocurre, como ya te anuncié que tras escribir

preVen

  • 2

access te entrecomille

preVen

. La solución es encerrar

preVen

entre cor-

chetes o bien utilizar la notación completa para referirse a un campo queconsiste en anteceder el nombre del campo con el de la tabla: Libros.preVen + 2

Solucionado este contratiempo prosigamos. Si ahora pasas a modo vista hojade datos no se produce la actualización, se sigue mostrando el precio actual.Para actualizar haz

Diseño:Ejecutar

. Te dará un mensaje de advertencia de

que vas a modificar datos. Ratifícate y pasa a modo hoja de datos. Compro-barás el incremento de precio.Puedes poner criterios para que la actualización afecte sólo a algunos libros.Por ejemplo prueba a incrementar el precio de los libros de Anaya. Es fácil:En el campo

Editor

no se pone nada en

Actualizar a

ya que usamos esta co-

lumna únicamente como criterio pero no vamos a cambiar la editorial de loslibros. 3.2.

Bajas

Sirven para borrar las filas que cumplan una determinada condiciónImagina que queremos eliminar los libros de la editorial Anaya. Crea unaconsulta que muestre los campos

Titulo

,^

Autor

y

Editor

Nota: En realidad sólo es estrictamente necesario el

Editor

. Ponemos

Titulo

y

Autor

para ver qué libros concretos vamos a eliminar.

Haz

Diseño:Eliminar

En modo diseño pon como Criterio

Anaya

en el campo

Editor

Bases de datos 77

Antes de ejecutar la consulta pasa a modo

Hoja de datos

para ver lo que nos

vamos a cargar. Después pulsa el botón

. (No aceptes el borrado de regis-

tros para no tener que introducirlos de nuevo). 3.2.

Altas

A veces interesa añadir filas a una tabla existente. Esas filas se especificanmediante una consulta normal con la adición de que hay que indicar a quétabla se añadirán los resultados de dicha consulta. Supón por ejemplo que laeditorial bruguera nos pasa una tabla

LibrosBruguera

con los datos de los

nuevos libros que nos envían:

LibrosBruguera

Titulo

Autor

Precio

Páginas

fEdicion

La caja de 10 cerrojos

Ibáñez

44,00 €

48

09/12/

El caso del bacalao

Ibáñez

1,00 €

48

02/07/

Azar y necesidad

Monod

23,00 €

234

03/02/

¿Cómo añadiríamos estos libros a nuestra tabla original de libros?En primer lugar creamos una consulta normal que obtenga los datos de lasfilas que vamos a añadir:

No vamos a añadir las páginas, entre otras cosas, porque no podemos.Ahora hay que indicar a qué tabla se añadirán los resultados de esta consulta.Para ello haz

Diseño:Anexar

Y en la ventana que aparece indica la tabla des-

tino: Observa que en la pantalla de diseño aparece una nueva fila donde hay queindicar a qué campo de la tabla destino libros va cada campo de la tablaoriginal. Él ya te propone que el titulo vaya al titulo y el autor al autor:Falta indicar que el

Precio

va a

Precom

y la

fEdicion

va a

fechaEdicion

. Las

restantes columnas quedarían en principio vacías o con el valor predetermi-nado. Sin embargo podemos decir que el precio de venta será el de compramás un 10%, que la editorial será Bruguera. Lo único que se quedará vacíoo con el valor por defecto serán las unidades:Haz una prueba pasando a modo vista para saber cuál es la consulta que seejecuta. Por último ejecútala y comprueba las adiciones.

Bases de datos 79

Copia la selección al portapapeles, abre la tabla destino (

Libros

) y selecciona

las columnas destino (

Título

y

autor

Después en la tabla destino haz clic en la fila nueva en el campo Titulo yluego mayúsculas clic en la misma fila en el campo Autor. Por último pegael contenido del portapapeles.En lugar de seleccionar la columna completa puedes copiar únicamente unascuantas filas haciendo una selección más pequeña: Modificaciones Hemos tenido el problema de que la columna de precio no ha podido sercopiada. Se trata ahora de pegar los precios en filas existentes.En primer lugar, selecciona la columna

Precio

de

LibrosBruguera

Después, en la tabla

Libros

, selecciona los 6 precios de compra de los libros

que ya has anexado.

Por último haz

Edición:Pegar

Y por supuesto la fuente de datos puede ser cualquier otro programa quetrabaje con tablas: una hoja de cálculo, una tabla de word etc. Exportación También puedes realizar el proceso inverso: hacer cualquier tipo de selec-ción en la hoja de datos y llevarla a un sitio externo mediante el portapapeles.Pruébalo seleccionando la hoja completa haciendo clic aquí:y después abre Excel o Word y pégalo.

80 Bases de datos Duplicado de tablas Si lo que quieres es duplicar una tabla no hace falta seguir este procedi-miento, en el panel izquierdo haz clic con el botón derecho en una tabla yhaz un vulgar copiar-pegar. Te preguntará si deseas copiar la tabla entera osólo la estructura (el esqueleto) sin añadir datos. 3.

Ejercicios de consultas

Al final de los ejercicios te pongo las soluciones de algunos de los ejercicios.Naturalmente si miras la solución sin intentarlo antes el aprendizaje no serátan efectivo.Los ejercicios marcados con * son avanzados. No debes hacerlos a no serque te sobre mucho tiempo.Los marcados con ** no debes hacerlos en ningún caso. 3.3.

Consultas básicas. Ordenación

Obtén un listado de los libros mostrando la editorial, el autor y el título. El lis-tado saldrá ordenado por editorial y, dentro de la misma editorial, por título

Titulo y fecha de edición de los libros ordenados de más antiguo a más re-ciente

Título y precio de los libros, ordenados de más caro a más barato. Si valenigual aparece antes el más antiguo

Primero título y luego autor ordenados por autor y, si el autor coincide, portítulo. Ayuda: Añade tres campos: Título, autor y título. El tercer campo no lomuestres pero úsalo para ordenar.

Expresiones numéricas

Listado de títulos y precio de venta con una reducción del 10% (Hay variasmaneras de hacer la operación matemática, usa la fórmula que aprendiste enHoja de Cálculo, teniendo en cuenta que no se puede usar %; hay que poner/100)

Lo mismo, pero sin decimales.

Se supone que el precio de venta es con el iva incluido (4%) mostar el titulo,precio de venta con iva y precio de venta antes del iva de todos los libros

Para cada libro muestra su titulo, precio de compra y venta, unidades y losbeneficios que se obtendrían si se vendieran todas las unidades disponibles(Si precio de compra es 2 y precio de venta es 5 y hay 10 unidades el benefi-cio sería 30)

Cadenas

Muestra titulo y el autor en la misma columna separados por un espacio. Dela editorial mostrar las tres primeras letras con encabezado Editorial

Mejora: Mostrar titulo y el autor en la misma columna separados por un es-pacio. De la editorial muestra las tres primeras letras en mayúsculas

Resuelve el mismo problema pero, en el caso de la editorial, haz que la pala-bra Izq aparezca antes que Mayús

Para cada socio muestra su nombre completo (nombre y dos apellidos) enuna misma columna con encabezado “Nombre completo”

Muestra el título de todos los libros, y, en la misma columna, muestra entreparéntesis el autor del libro

Fechas

Listado en el que aparezcan todos los títulos junto con el año de edición