Documentos de Académico
Documentos de Profesional
Documentos de Cultura
mdb
El presente tema contiene instrucciones SQL de ejemplo sobre la base de datos
Neptuno.mdb que se incluye en la instalación de Ms-Access y en diversos
productos de Microsoft como son MS Office o MS Visual Estudio en sus
diferentes versiones.
Desde Ms-Access podemos acceder a sus tablas, vistas, relaciones y datos para
realizar la gestión de los mismos, añadir, borrar, modificar, extraer y buscar
datos mediante instrucciones SQL.
Recordamos que el al mostrar la sintaxis las palabras en azul forman parte del
lenguaje SQL y deben escribirse como se muestran, las palabras en rojo se
deben cambian por el nombre de la tabla o índice concreto a utilizar y el texto
entre corchetes [...] es opcional.
De la misma forma podemos crear otras tablas para practicar como las
siguientes:
Create table Coches (Marca char(10), Modelo char(20), Color
char(12), Precio integer, Velocidad integer, Longitud
integer, Matricula char(8));
Tras crear las tablas podemos empezar a introducir datos directamente desde
la aplicación seleccionando la tabla y escribiéndolos en la cuadricula de datos o
bien mediante la instrucción SQL Insert Into descrita en el puno 11.2 A)
Debemos tener en cuenta al crear las tablas que no exista otra del mismo
nombre, utilizar los caracteres permitidos y crea cada campo con el tipo de
dato correcto para la base de datos.
B) Borrar tablas:
Si no deseamos trabajar con una tabla y queremos borrarla de la base de
datos podemos hacerlo con la instrucción Drop cuya sintaxis es: Drop table
NombreTabla
C) Modificar tablas:
Podemos modificar los campos de una tabla de la base de datos según las
instrucciones SQL específicas de cada base de datos, la sintaxis en Access es:
D) Crear indices:
Los índices permiten acelerar los procesos de búsqueda de datos dentro de las
tablas de la base de datos y crear relaciones entre las tablas mediante un
campo índice.
Para crear un índice es necesario indicar el nombre de este y sobre que tabla y
campo deseamos crearlo, vamos a crear un índice sobre la tabla MisClientes
como vemos:
Otro Ejemplo:
E) Borrar indices:
El índice de una clave primaria de la tabla no puede borrarse, ni los índices que
se utilizan para realizar restricciones.
A) Inserción de datos.
Esta instrucción permite insertar datos en una tabla de la base de datos, los
valores deben cumplir las restricciones de las columnas, es decir si las
columnas están definidas como números (integer) no podemos introducir
texto.
Podemos insertar múltiples registros en una única instrucción SQL como vemos
en el siguiente ejemplo, aunque no funciona con Access si que funciona con
otras bases de datos. Debemos consultar la documentación especifica de
nuestro SGBD.
Donde vemos además del numero de pedidos por empleado, sus apellidos y
nombre.
C) Borrado de datos.
Con la instrucción DELETE vamos a poder borrar registros de la base de datos,
de forma que los datos desaparecen de la tablas. La sintaxis básica es:
Delete from NombreTabla [where CampoTabla=Valor]
Con la siguiente instrucción borramos un registro de la tabla MisClientes con el
campo Nombre=’Juan’ , debe ir entre comillas simples si el campo es texto y
sin comillas si el campo es numérico. IMPORTANTE: Si no ponemos una
condición borramos todos los datos de la tabla.
Delete from MisClientes where nombre='Juan';
En caso de que la instrucción se ejecute correctamente aparecen el numero de
registros que se han visto afectados por la instrucción:
D) Actualización de datos.
Permite modificar valores de los campos de los registros de la base de datos.
La sintaxis es:
Update NombreTabla set NombreCampo1='TextoNuevo' ,
NombreCampo2='TextoNuevo', ...,
where Condicion;
Sentencia realizada en la base de datos Access, Neptuno.mdb actualiza el
campo NombreContacto='JUAN' de la tabla Proveedores para el Proveedor de
idProveedor=1
Update Proveedores set NombreContacto='JUAN' where
idProveedor=1;
A) Control de acceso.
Las instrucciones de control de acceso permiten o evitan que se actualicen
varias tablas por diferentes instrucciones SQL al mismo tiempo, lo que crearía
una inconsistencia de los datos.
Estas instrucciones no están disponibles en Microsoft Acces, pero si en MS SQL
Server y en otros sistemas de base de datos tipo servidor.
Existen dos formas de bloqueo, exclusivo o compartido, en el modo exclusivo,
la tabla se bloquea completamente, de modo que ninguna otra transacción
puede acceder a ninguna parte de la tabla para ningún propósito mientras se
mantenga el bloqueo.
La sintaxis de la instrucción que cierra una tabla de manera exclusiva es la
siguiente:
Lock Nombre_Tabla in exclusive mode;
Si deseamos que otras instrucciones SQL puedan leer información de la tabla
pero no modificar ninguna datos de esta usaremos la instrucción:
Lock Nombre_Tabla in shared mode;
Para desbloquear una tabla usamos la instrucción:
Unlock Nombre_Tabla;