Documente Academic
Documente Profesional
Documente Cultură
Microsoft Access
Sistemas de Gestin de Bases de Datos
ndice de Contenidos
1.- Introduccin a Access.....................................................................................3
2.- Base de datos para Access.............................................................................3
3.-Tablas...............................................................................................................4
3.1.- Definicin de campos................................................................................4
3.1.1.-Tipos de datos......................................................................................5
3.1.2.- Propiedades de campo (lengeta General)........................................6
3.2.- Clave principal...........................................................................................6
3.3.- Relaciones entre tablas............................................................................7
3.3.1.- Relaciones uno a muchos (1 :N)........................................................7
3.3.2.- Relaciones muchos a muchos (N:N)..................................................7
3.3.3.- Relaciones uno a uno (1:1).................................................................8
4.- Operadores y expresiones..............................................................................8
5.- Consultas........................................................................................................9
5.1.- Introduccin a las consultas......................................................................9
5.2.- Introduccin al SQL.................................................................................10
5.2.1.- Consultas de seleccin simple..........................................................10
5.2.2.- Adicin de campos............................................................................11
5.2.3.- Valores repetidos..............................................................................12
5.2.4.- Ordenacin de registros....................................................................12
5.2.5.- Agrupamiento de datos.....................................................................13
5.2.6.- Filtrado de tuplas de salida...............................................................15
5.3.- Consultas sobre varias tablas.................................................................16
5.4.- Consultas de insercin............................................................................18
5.5.- Consultas de actualizacin.....................................................................19
5.6.- Consultas de borrado..............................................................................19
3.-Tablas
Uno de los objetos ms importantes que se pueden crear en una base de datos
Access son las tablas. Las tablas son las estructuras que permiten almacenar los datos de
la base de datos.
Una tabla es un conjunto de tuplas o registros. En este sentido podemos
considerarla como una lista que contiene registros, tantos como se quiera. Cada registro
estar compuesto por una coleccin de campos. Cada campo tendr un tipo que indica
la clase de datos que puede almacenar dicho campo. Y cada tipo tendr unos atributos
de tipo que limitan el dominio de los valores permitidos, as como una serie de
restricciones y normas.
3.1.1.-Tipos de datos.
Cada campo de una tabla de la B. de datos Access tendr un tipo que
indica la clase de datos que puede almacenar dicho campo. Los tipos de datos
que permite Access asociar a los campos de una tabla se nombran y explican
a continuacin.
Operador Significado
Suma aritmtica
"
Delimitador de cadenas
Resta aritmtica
&
Concatenacin
cadenas
Producto aritmtico
Comparador igual
Divisin aritmtica
<>
Comparador distinto
Mod
Mdulo
>
Comparador mayor
AND
AND lgico
<
Comparador menor
OR
OR lgico
>=
Comparador
igual
mayor
NOT
Negacin lgica
<=
Comparador
igual
menor
XOR
OR exclusivo lgico
( )
Delimitadores
precedencia
de
de
Significado
IS NULL
IS
NULL
LIKE
BETWEEN...
AND
Operador
Significado
[ ]
5.- Consultas
5.1.- Introduccin a las consultas
Las consultas son operaciones que se realizan sobre los datos de una
base de datos. Estas operaciones pueden ser de diversos tipos:
Las consultas a los datos de las bases de datos se hacen a travs de los
denominados lenguajes de consulta. El ms utilizado en B. de Datos
relacionales es el SQL (Standard Query Language). Access permite realizar
consultas en SQL. Pero, dada la filosofa visual seguida en Access, tambin se
permite la definicin de consultas a travs de una interfaz visual propia de
access. Ambos mtodos son compatibles e intercambiables: se puede pasar de
uno a otro sin problemas. Sin embargo, SQL es un estndar que aparece en
multitud de sistemas sin variaciones, mientras que el desarrollo visual depende
del fabricante.
campo2,
...,
campoN
FROM
<tabla>
WHERE
Supongamos una tabla llamada Alumnos definida con los campos que
se muestran el la figura 3.
Campo
Descripcin
Rut
Rut alumno
Nombre
Nombre completo
Edad
Parcial1
Parcial2
SQL
SELECT
*
FROM
Alumnos
WHERE Edad>=25;
SELECT Apellido1, Apellido2, Nombre
FROM
Alumnos
WHERE (Parcial1>=5) AND (Parcial2>=5);
SELECT Nombre, Apellido1, Apellido2,
Parcial1,
Parcial2,
Prcticas
FROM Alumnos;
SQL
SELECT
FROM
Alumnos
"C:\COLEGIO\REGITSRO.MDB"
WHERE Edad>=25;
*
IN
SQL
SELECT
Apellido1,
Apellido2,
((Parcial1 + Parcial2) /2) * 0.8 +
Prcticas AS Media
FROM Alumnos;
SELECT Nombre & " " & Apellido1 & " "
Obtener los nombres completos de los & Apellido2 AS NombreCompleto, Rut
alumnos junto a su Rut.
FROM Alumnos;
Obtener los apellidos junto a la nota
media, suponiendo que la media de los
parciales es el 80% y el resto se
obtiene con las prcticas.
recuperar
tuplas
idnticas.
Rut
11.486.6912
Juan
Gmez
Jurado
23
5,0
6,8
2,7
Daz
22
7,0
5,7
6,2
13.786.354- Juan
4
Izquierd
o
Donoso
23
5,0
5,3
1,5
14.753.485- Jos
1
Lpez
Lpez
19
3,4
4,9
4,2
...
La siguiente consulta de seleccin:
SELECT Nombre, Edad, Parcial1 FROM Alumnos;
Generar dos tuplas con los datos: Juan, 23, 5,0. Para evitar obtener
tuplas (lista de campos mostrados en una consulta) repetidas, podemos utilizar
el modificador DISTINCT:
SELECT DISTINCT Nombre, Edad, Parcial1 FROM Alumnos;
Ahora la consulta no devolver tuplas repetidas. Existe otro modificador,
SQL
Obtener un listado de
ordenados por apellidos.
Significado
COUNT(<cam
po>)
SUM(<campo
>)
Operador
Significado
AVG(<campo
>)
MAX(<campo
>)
MIN(<campo
>)
SQL
Consulta
SQL
En resumen:
WHERE selecciona las tuplas que intervienen para calcular las funciones
de agregado y HAVING selecciona las tuplas que se muestran teniendo en
cuenta los resultados de las funciones de agregado.
En todos los casos, la clusula ORDER BY puede ser incluida.
Evidentemente esta clusula afectar nicamente al orden en que se muestran
las tuplas resultado, y no al clculo de las funciones de agregado. Los campos
por los cuales puede efectuarse la ordenacin slo pueden ser aqullos
susceptibles de ser tambin mostrados, es decir, que los campos admisibles en
la clusula ORDER BY son los mismos que sean admisibles en la clusula
SELECT: funciones de agregado y la combinacin de campos que aparezca en
GROUP BY.
Recordemos el formato de una instruccin SQL de seleccin con todas
las opciones vistas hasta ahora:
SELECT <lista de campos>
FROM <tabla>
WHERE <condicin>
GROUP BY <lista de campos>
HAVING <condicin de agregado>
ORDER BY <lista de campos>;
Existenci
as
Piezas
ID
Almacn
Tipo
Ciudad
Tipo
Nombr
e
Cantidad
Figura 3 Relaciones entre tablas
Podemos intuir lo siguiente:
Existencias.Almacn contiene un identificador del almacn al que se
refieren las existencias (requiere integridad referencial de algn tipo con el
campo Almacenes.ID), y Existencias.Tipo contiene un identificador del tipo al
que se refieren el registro de existencias (requiere integridad referencial con el
campo Piezas.Tipo).
Adems se puede intuir la siguiente informacin:
Almacenes.ID es la clave principal de Almacenes.
100
Valdivia
30
Osorno
50
Temuco
200
PMontt
10
PMontt
200
PMontt
100
10
Circuitera
Valdivia
23
Pantalla
Osorno
Circuitera
Temuco
Carcasa
Circuitera
PMontt
Pantalla
PMontt
13
Altavoz
Consulta
SQL
SQL
UPDATE Alumnos
SET Parcial1 = 5
WHERE (Parcial1 >= 4.5) AND (Parcial1
< 5);
UPDATE Alumnos
SET Practicas = 1
WHERE (Parcial >= 5) AND (Parcial2 >=
5) AND
(Parcial1+Parcial2 > 7) AND
(Practicas IS NULL);
UPDATE Alumnos
SET Parcial1 = INT (Parcial1),
Parcial2 = INT (Parcial2),
Practicas = INT (Practicas);
UPDATE Alumnos
SET Practicas = 0
WHERE Rut="14.753.485-4";
Consulta
SQL
UPDATE Alumnos
Olvidar el Rut de los alumnos que se SET Rut = NULL
han presentado al segundo parcial.
WHERE Parcial2 IS NOT NULL;
SQL
DELETE FROM ALUMNOS
Eliminar a los alumnos que hayan WHERE (Parcial1 >= 5) AND (Parcial2 >=
aprobado todo.
5) AND (Practicas >=1);
DELETE FROM ALUMNOS
Eliminar a los alumnos cuyo apellido WHERE
(Apellido1
IS
NULL)
OR
se desconozca total o parcialmente.
(Apellido2 IS NULL);
DELETE FROM ALUMNOS;
Eliminar a todos los alumnos.