Bases de Datos Relacionales 2016
Bases de Datos Relacionales 2016
Bases de Datos Relacionales 2016
Bases de Datos
Relacionales
www.licrgarcia.webnode.com.ar
1
Objetivos
Proporcionar al participante los conceptos básicos de
bases de datos y dar a conocer las principales
funcionalidades de los sistemas administradores de
bases de datos.
Profundizar en el estudio del modelo relacional, su
fundamento teórico y lenguajes de consulta.
Desarrollar un sistema simple con el lenguaje Visual
Basic .NET y el DBMS Access.
Generar la carpeta de la asignatura (OBLIGATORIA) de
acuerdo a la investigación de los temas tratados en las
clases expositivas.
2
Contenido
1. Introducción
2. El ambiente tecnológico de las bases de datos
3. El modelo relacional
4. Instrumentación de la base de datos
5. Normalización
6. Integridad y Seguridad
7. Lenguajes para bases de datos
8. Manejo de Transacciones
3
UNIDAD I
Introducción a las BD
Clase expositiva 1 y 2
4
1. Introducción
¿Qué es una Base de Datos?
Sistemas de Información y Bases de
Datos
Sistemas de Administración de Bases de
Datos
El campo de las bases de datos
Comparación con el proceso por archivo
Paradigma de base de datos
Niveles de automatización
Aplicaciones
5
1. Aplicaciones con manejo de datos independiente
2. Gestión centralizada
Archivo de Ahorros
Num. Cliente nombre cliente Datos de Ahorros redundancia
2056 juan pérez ........ ........ ....... .......
Aplicación 2 Aplicación 3
Riesgo de inconsistencias
Las diversas copias de los mismos datos pueden no coincidir (por ejemplo el cambio
de dirección de un cliente)
Costos elevados
Cambios a las aplicaciones muy costosos, un cambio trivial provoca una reacción en
cadena de otros cambios. Almacenamiento redundante incrementa los costos.
Archivo de Clientes
Num. Cliente nombre cliente Datos de Datos de
Cuentas Cuentas de Datos de
2056 juan pérez Corrientes Ahorros Prestamos
Aplicación 3
Aplicación 3
Archivo de Datos de
Cuentas cuentas Archivo de Datos de
préstamos
corrientes Préstamos
Corrientes
Archivo de Datos de
Cuentas de cuentas de
ahorros
Ahorros
… Centralizado
Personal
BASE DE DATOS
Empleados
Ventas SGBD Clientes
Ventas
Inventario
Contabilidad Cuentas
Sobre los datos de la empresa
En la medida de lo posible los datos en la
base deben cumplir:
11
Características de los SGBD
Naturaleza autodescriptiva de los SGBD Control de Redundancia
Diccionario de Datos o Catalogo Queda minimizada o controlada la
(Metadatos ). Aquí va la información de la repetición del mismo dato en diferentes
estructura de cada archivo, el tipo y archivos. De esta forma ya no se
formato de los datos elementales y las desperdicia espacio de almacenamiento
diversas restricciones que se aplican a ni se producen inconsistencias.
nivel de columna o de archivo.
Restricción de accesos no autorizados
Independencia respecto a programas y
Niveles de acceso: Manejo de roles y
datos
privilegios por cuentas y/o grupo de
Abstracción: Las estructuras de los
cuentas.
archivos se almacenan en el diccionario de
datos del SGBD y no en los programas.
Restricciones de Integridad
Ejemplos: definir un tipo de dato (entero
Manejo de múltiples vistas de los datos
o String), las edades de colegiales (13 a
Cada usuario puede tener una vista ó
17), que un valor sea único (código de
perspectiva diferente.
trabajador ), etc
Control de Concunrrencia
Respaldo y Recuperación
El SGBD incluye software de control de
Se recuperan ante fallas de hardware o
concurrencia (gestor de transacciones)
de software. La idea es que después de
para asegurar que cuando varios usuarios
una caída, se restaure la BD al estado en
intenten actualizar los mismos datos, lo
el que estaba.
hagan de manera sincronizada.
Comparación entre
Archivos y Base de Datos
13
Definición
Base de Datos o BD
Colección de todos los datos operativos de una
Empresa de acuerdo a un modelo específico que son
accesibles desde cualquier lugar físico y nivel de la
empresa (Estratégico, Táctico, Operativo)
Unicidad Consistencia
Seguridad Privacídad
Disponibilidad Integridad
14
¿ Qué es una Base de Datos (BD) ?
15
Sistema Gestor de Base de Datos (SGBD)
Un software ó conjunto de programas que permiten crear y mantener una base de datos, asegurando su
integridad, confidencialidad y seguridad.
17
Guía de Lectura 1
BD D Kroenke.pdf.
◦ Capitulo 1 Introducción al Procesamiento de Bases de Datos
BBD silberschatz.pdf
◦ Capitulo 1 Introducción
1.1. Aplicaciones de los Sistemas de Bases de Datos,
1.2. Sistemas de Bases de Datos Frente a Sistemas de Archivos
Date C J - Introdución a los Sistemas de BD.pdf
◦ CAPÍTULO 1 Panorama general de la administración de bases de datos
18
UNIDAD II
Ambiente Tecnológico
Clase expositiva 3 y 4
19
2. El ambiente tecnológico
de las BD
Contexto informático
Actividades del modelador de bases de datos
Breve cronología de las bases de datos
Evolución de la noción de BDs
Modelos de datos
Esquema e instancia
Modelado
Modelo de empresa
Modelo de datos
Modelo de implementación
20
Esquema General de Uso de una Base de Datos
Internet
s
l ta ddoos
su lta
Reesu
R
ASP
s
ltadoos BASE PHP
RReessuultad JAVA
DATOS .NET
Applicación
Applicación
Cliente SQL
SQL
21
Diversos Modelos de una BD
Han existido diversos modelos para
modelar la realidad, aquí presentamos algunos de ellos
Modelo Relacional Funcional Diseño de Codd popularizado por Date (RDB, Oracle, Sybase, Informix
)
Modelo Entidad – Relación Concepción de Chen, muy usado aplicable a diversos modelos ( j,r,rel)
22
Entorno de operación
23
EXTRANET / INTRANET: El
entorno actual
24
Niveles de Instrumentación
25
Niveles de Instrumentación (2)
26
Arquitectura de una
(Niveles de abstracción)
BD
NIVEL Es conocido como el nivel de vistas de usuario.
EXTERNO Cada vista de usuario se conoce como subesquema o esquema
externo, donde cada uno de ellos describe alguna parte de la base
de datos. Oculta al usuario toda la base de datos restante.
Correspondencia
externa/conceptual
NIVEL
ESQUEMA CONCEPTUAL
CONCEPTUAL
Correspondencia
conceptual/ interna
detalle
BD ALMACENADA
Programadores
Escriben aplicaciones, donde incrustan comandos DML para interactuar con el sistema
Usuarios normales
Interactúan con el sistema mediante el uso de aplicaciones que han sido escritos por informáticos.
Usuarios sofisticados
Interactúan con el sistema creando consultas con un lenguaje de consulta, las cuales entran al
procesador de consultas que transforma las instrucciones DML, para ser entendidas por el gestor
de almacenamiento.
Usuarios Sistema
BASE
Requerimientos DATOS
Etapas para el Diseño de una Base de Datos
Requerimientos de Información
(I)
(I)
DISEÑO
DISEÑO CONCEPTUAL
CONCEPTUAL
(II)
(II)
DISEÑO
DISEÑO LOGICO
LOGICO
(III)
(III)
DISEÑO
DISEÑO FISICO
FISICO DE
DE LA
LA BASE
BASE DE
DE DATOS
DATOS
BASE
DATOS
Etapas para el Diseño de una Base de Datos
Requerimientos
Requerimientos de
de Información
Información Usuarios
y Clientes
DISEÑO
DISEÑO CONCEPTUAL
CONCEPTUAL
Cliente Producto Documentos
DISEÑO
DISEÑO LOGICO
LOGICO
RED RELACIONAL OO
DISEÑO
DISEÑO FISICO
FISICO DE
DE LA
LA BASE
BASE DE
DE DATOS
DATOS
ORACLE SQL Server ACCESS DB2 MYSQL INFORMIX
Guía de Lectura 2
www.licrgarcia.webode.com.ar
34
UNIDAD III
Parte 1
Introducción al Modelo Relacional
36
Modelo de Datos
Conjunto de conceptos para describir la estructura de una base
de datos, es decir, a las entidades involucradas, sus relaciones,
semántica asociada a los datos y restricciones de consistencia.
Los modelos de datos se clasifican :
1. Modelo Jerárquico
SGBD de Primera
Nivel Implementación
Alto Nivel
5. Modelo de Objetos
6. Modelo Objeto-Relacional SGBD de Tercera
Generación
BD. DISTRIBUIDAS, ACTIVAS,
ESPACIALES
37
ORIENTADAS A OBJETOS, ...
Modelo de Datos
Un modelo es un conjunto de conceptos para describir los datos y
la relación semántica entre ellos, dentro de las restricciones que
apliquen en la empresa
La triada del Modelo de Datos { G, O, R }
G Reglas de Generación de objetos
0 Operaciones,
Operaciones elementos de manipulación
R Restricciones inherentes y explícitas
MD Notación formal matemática para expresar datos y relaciones
Esquema del Modelo de Datos: Es un plano de la Base de Datos
Vista del Modelo de Datos: Es un sub esquema del M. de D.
38
Modelado
39
Definición del Modelo
El modelo relacional es una estructura basada en colecciones de
tablas en 2 dimensiones con propiedades especiales, que permiten
representar distintos tipos de asociaciones
Las tablas se denominan entidades y están formadas por un conjunto
de tuplas o instancias de cada relación de datos atómicos, llamados
dominios.
dominios
El modelo fue desarrollado por F. Codd en los 70’s y parte de la definición matemática de
que un entidad es un subconjunto del producto cartesiano entre los dominios de la
realidad a modelar:
Sean los dominiosD1:{d1a,d1b..d1n }, D2 :d2a, d2b … d2n}, D3:{d3a, d3b … d3n}
Entonces el producto cartesiano D1 x D2 x D3 esta dado por las tuplas
< d1a, d2a,d3a > ……. < d1a, d2a,d3b > hasta ….. < d1n, d2n,d3n >
El subconjunto de este producto es la realidad existente en un momento dado en la
empresa
41
Ejemplos del Modelo
Entidades: archivos existentes (esquema)
entidad: Edades
entidad: Direcciones Nombre x Edad x Estado Civil
Nombre x Dirección x Teléfono
Nombre Edad Estado Civil
Nombre Dirección Teléfono Pedro 34 casado
Pedro Pino 67 229-3456 Martín 45 soltero
Martín Encino 40 456-8907 Gonzalo 23 soltero
Gonzalo Suace 34 345-6789 Teresa 23 casada
Llave Foránea: Aquel dominio que existiendo como dependiente en una entidad
es a su vez una llave (Atributo primo) en otra entidad de la BD.
44
5. Normalización
Diseño de esquemas relacionales
Relaciones libres de anomalías
Ejemplos de descomposición
Descomposición sin pérdida
Dependencia funcional
Ejemplos básicos
Formas normales (anomalías)
1ª. Forma normal(1NF)
2ª. Forma normal(2NF)
3ª. Forma normal(3NF)
Forma normal BC(BCNF)
4ª. Forma normal(4NF)
5ª. Forma normal(5NF)
Guía para normalizar 3NF
45
Es representada por los siguientes objetos:
C C
C = Cardinalidad
Propiedades de las Relaciones
Selección: obtiene
un subconjunto de filas de una tabla
con todas sus columnas, creando con este subconjunto
una nueva tabla.
Se representa como: S (tabla, (condición))
1- Regla de información.
2- Regla de acceso garantizado.
3- Tratamiento sistemático de valores nulos.
4- Catalogo en línea dinámico.
5- Regla de sublenguaje completo de datos.
6- Regla de actualización de vista
7- Inserción, modificación y borrado de alto nivel.
8- Independencia física de los datos.
9- Independencia lógica de los datos.
10- Independencia de integridad.
11- Regla de no subversión.
Guía de Lectura
Capitulo 2 Modelo Entidad RELACIÓN (BD silberschatz.pdf)
Capitulo 3 Modelo Relacional (BD silberschatz.pdf)
60
UNIDAD III
Parte 2
Modelo Relacional
Entidades en 3FN
Ent 1 Nombre Antig Direcciones
DF
Clave Atributos con DFT Atributos con DF Transitiva
Tercera Forma Normal
(Dependencia Funcional Transitiva)
E S E
F T F
A G A G
H H
I I
J J
K K
E S
F T
Forma Normal de Boyce-Codd
Dependencia Join:
Es una dependencia entre tablas
Cuarta Forma Normal
Se aplica para eliminar las DMV de las
tablas (por redundancia de datos).
Se dice que esta en 4FN si esta en FNBC
Las únicas DMV existentes son las DF de
la clave con los atributos secundarios.
Es como FNBC, pero con dependencias
multivaluadas.
Quinta Forma Normal
Es un nivel de normalización de bases de
datos diseñado para reducir redundancia en
las bases de datos relacionales que guardan
hechos multivalores aislando
semánticamente relaciones múltiples
relacionadas.
Debe cumplir dos condiciones:
encontrarse en 4FN.
Toda Dependencia Join viene implicada
por las claves de la tabla.
Forma Normal de Boyce-Codd
Dependencia Join:
Es una dependencia entre tablas
Cuarta Forma Normal
Se aplica para eliminar las DMV de las
tablas (por redundancia de datos).
Se dice que esta en 4FN si esta en FNBC
Las únicas DMV existentes son las DF de
la clave con los atributos secundarios.
Es como FNBC, pero con dependencias
multivaluadas.
Quinta Forma Normal
Es un nivel de normalización de bases de
datos diseñado para reducir redundancia
en las bases de datos relacionales que
guardan hechos multivalores aislando
semánticamente relaciones múltiples
relacionadas.
Debe cumplir dos condiciones:
encontrarse en 4FN.
Toda Dependencia Join viene implicada
por las claves de la tabla.
Normalización: Redundancia controlada
La normalización genera más entidades, sin
embargo esta redundancia aparente esta
controlada por el manejador de BD, siendo Entidades normalizadas
ajena para el usuario.
Ent 1 Nombre Antig Direcciones
Por otro lado el tamaño de los archivos tiende a
reducirse. tupla 1 TASA 25 a–os Reforma 23
tupla 2 MESA 15 a–os Juarez 15
tupla 3 GISA 20 a–os Sur 322
82
Guía de Normalización
1. Defina los Dominios ( Atomice lo mínimo necesario )
2. Defina los Formatos ( Defina formatos comunes )
3. Escriba todas las suposiciones semánticas iniciales
4. Obtenga la Tabla de Dependencias
(conectando todos los dominios)
5.Determine las dependencias funcionales
( sentido de la fecha, dominios independientes conjuntos )
6. Elimine las dependencias transitivas
7. Partiendo de la Tabla de Dependencias obtenga:
Las entidades mínimas necesarias, tomando cada dominio(s) independiente
para entablar a la entidad.
8. Complete la lista de suposiciones semánticas
9. Presente los resultados:
Dominios, Entidades, Suposiciones
10. Obtenga aprobación firmada de la definición ó en caso necesario efectúe las
modificaciones requeridas
(un buen diseño debe no contener más de 100 dominios y 40 entidades por
sistema ) 83
Elementos del modelo
Entidad - Relación
Elementos
Rectángulo
Representa entidades básicas
Doble Rectángulo
Representa entidades débiles que
no tienen llaves primarias
Diamante
identificador de relaciones
Elipse
Atributos de la entidad, si esta subrayado es llave primaria
Línea
Ligas
84
Modelo Entidad - Relación
85
Guía de Lectura
Capitulo 5 El Modelo Relacional y Normalización (BD D Kroenke.pdf)
86
Trabajo Práctico
Sistema del mercado de Frutas
87
Descripción de las reglas de negocio
NOMMER
DIRMER
CIUMER
CodMer CPOMER
CPRMER
PROMER
TELMER
CIFPTO
NOMPTO
NPRPTO
CodPto
CodFru NOMFRU
CmeFru NMEFRU
STKPTO
PVEFRU
2FN - Dependencia Funcional Total
CodAlm
NumFac
CodFru
CmeFru
Diseño Global
97
6. Integridad y seguridad:
Directorio de Datos
Las bitácoras modelan y registran los procesos que se
efectúan dentro de la base de datos
Se logra por medio de almacenar los datos asociados con la ejecución de los
comandos del SQL de la base de datos (altas bajas cambios, perdidas) .
Contienen el QUE, QUIEN, COMO, DONDE y CUANDO de la BD 98
BITACORAS:
QUE, QUIEN, COMO, DONDE y CUANDO
Bitácora de Usuarios:
Usuario, Password, depto, sistema, archivos, terminal, permisos
Bitácora de Archivos:
Password, Dueño, sistema que los usan, dominos, formatos, ubicación,
usuarios
Catálogo de Sistemas:
Depto, sistema, archivos, terminal, programas, responsable
Bitácora de Errores:
Tipo, programa, descripción, hora, lugar, usuario, fecha, archivo, sistema
Bitácora de Uso:
Fecha, Usuario, Sistema, Permiso, Terminal, Registro, tipo de a,cceso
Imagen Vieja, Imagen Nueva
Manuales del Sistema:
Sistema, depto, archivos, procedimiento de uso, nivel de
sistematización/automatización
99
Normalización del Directorio
Ejemplo de las dependencias funcionales
de la bitácora de uso
100
Uso de la Bitácora
Ante estas
actualizaciones en las
Entidades TAM y ABC
la bitácora refleja la
siguiente actividad
101
Recuperación
102
Arranque en Frío
1 Determinación de la Entidad (Archivo) perdido
2 Cargado del último respaldo
3 Ordenamiento de la bitácora según el archivo
perdido
4 Lectura de Imágenes nuevas de cada registro de la
entidad en cuestión
5 Lectura de Imágenes viejas de la bitácora y
corroboración con la imagen en el respaldo
6 Actualización correspondiente de más antiguo a más
reciente
103
Respaldos
1 Respaldar la base de datos BD cuando se llene la
bitácora de uso
2 Respaldar la bitácora de uso y limpiarla la copia
actual
3 Se deben mantener copias de la BD y la bitácora en el
sitio
4 Es recomendable tener una copia adicional en un
lugar ajeno físicamente de la instalación
5 El tamaño de la bitácora es función del número de
actualizaciones que tenga la base de datos
104
Arranque en Caliente
1 Determinación del último punto estable
2 Lectura de imágenes viejas de los archivos
modificados en el período de inestabilidad del
proceso usando la bitácora de uso
3 Lectura de imágenes nuevas de la bitácora y
corroboración con la imagen en el archivo
4 Desactualización de los archivos por medio del
reemplazo de imágenes viejas por nuevas
5 Aviso a los usuarios para que repitan las
actualizaciones efectuadas durante el período de
inestabilidad
105
Camino al cambio de las TI
SER == > Existencia de Carencias
Sistema caótico, dependiente y limitado
Querer Ser == > Convencimiento
Unificación y Confianza
Saber Ser == > Compromiso
Preparación, Selección, Capacitación
Poder Ser == > Costo
Inversión Adecuada en tecnología
DEBER SER == > Crecimiento e Innovación
Libertad, Eficiencia, Confiabilidad e Independencia
106
Estrategias en Base de Datos
Para convencer
Simulaciones en Hoja de Cálculo
Para unificar y generar confianza
Llevar a Base de Datos las aplicaciones
nuevas
Para promover la cooperación
Primero llevar a Base de Datos los procesos
externos
107
Introducción a SQL
Basado en ORACLE
Lenguajes para BD:
álgebra y cálculo relacional
El LDD es el Lenguaje de Definición de los Datos
El LMD es el Lenguaje de Manipulación de los Datos
Existen dos grandes clases de lenguajes de consulta y acceso
relacional:
Basados en álgebra relacional
El prototipo de esta clase es el denominado
SQL (Structured Query Language)
Select PROV.PROV#
From PROV
Where PROV.CIUDAD = “Puebla”
109
Lenguaje de las Base de Datos
Los SGBD emplean como lenguaje estándar el SQL.
El SQL es un lenguaje Declarativo que permite la
definición, construcción y la manipulación de datos.
Tipos de sentencias:
- DML (Data Manipulation Languaje)
- DDL (Data Definition Languaje)
Tipo de Comando Comandos Descripción
Recuperación de SELECT Recupera los datos de la base de Datos. Es el comando
Datos utilizado con mayor frecuencia.
DML INSERT Ingresa nuevas filas, modifica filas existentes y elimina filas de
Lenguaje de UPDATE tablas de la base de datos, respectivamente.
Manipulación de DELETE
Datos
DDL CREATE Crea, modifica y eliminan estructuras de datos desde las tablas.
Lenguaje de ALTER
Definición de Datos DROP
RENAME
TRUNCATE
Control de COMMIT Maneja los cambios hechos por las sentencias DML. Los
Transacción ROLLBACK cambios a los datos pueden ser agrupados en transacciones
SAVEPOINT lógicas.
DCL GRANT Permite o restringe los derechos de acceso a la base de datos
– Lenguaje de REVOKE Oracle y a las estructuras dentro de ésta.
Control de Datos
SQL
Esquema de Base de Datos
Cursa
1 M
1 M M 1
Alumnos Efectua Examenes Pertenece Materias
Pertenece
Departamentos
Definición de Tablas
Claves Primarias
Alumnos Exámenes Materias
Nlegajo Númerico 7 Nlegajo Númerico 7 CodMateria Númerico 3
CodCarrera Númerico 3 CodMateria Númerico 3 Nlegajo Númerico 7
Nombre Caracteres 25 FechaExamen Date NombreMater Caracteres 30
Apellido Caracteres 25 Nota Númerico 2,2 CodDepto Númerico 3
Domicilio Caracteres 25 CodCarrera Númerico 3
Localidad Caracteres 25
Cod. Postal Caracteres 10
Promedio Númerico 2,2
MaterAprob Númerico 2
Departamentos
CodDepto Númerico 3
Nombre Depto Caracteres 30
Definición de Tablas
Claves Secundarias
Alumnos Exámenes Materias
Nlegajo Númerico 7 Nlegajo Númerico 7 Nlegajo Númerico 7
CodCarrera Númerico 3 CodMateria Númerico 3 CodMateria Númerico 3
Nombre Caracteres 25 FechaExamen Date NombreMater Caracteres 30
Apellido Caracteres 25 Nota Númerico 2,2 CodDepto Númerico 3
Domicilio Caracteres 25 CodCarrera Númerico 3
Localidad Caracteres 25
Cod. Postal Caracteres 10
Promedio Númerico 2,2
MaterAprob Númerico 2
Departamentos
CodDepto Númerico 3
Nombre Depto Caracteres 30
Sintaxis SQL
Múltiples tablas
SELECT ALUMNOS,nlegajo,ALUMNOS.apellido,
MATERIAS.nombremater,DEPARTAMENTOS.nombredepto
FROM ALUMNOS,MATERIAS, DEPARTAMENTOS
WHERE ALUMNOS.nlegajo = MATERIAS.nlegajo AND
MATERIAS.coddepto = DEPARTAMENTOS.coddepto AND
ALUMNOS.promedio > 7;
INNER JOIN = Unión Interna (Todas las filas de una tabla que hace referencia a otra tabla
Consultas
La consulta es una solicitud de información a la base de datos.
Los datos mostrados pueden proceder de una sola tabla o de un conjunto
de tablas.
El resultado de la consulta es la "Hoja de respuestas dinámica"; en esta
hoja se encuentra la información extraída de las tablas.
Pero la información no se guarda en la hoja de respuestas, sino que sigue
estando almacenada en las tablas.
En determinados tipos de consulta se puede modificar la información de
las tablas, pero la consulta sigue siendo una forma de acceder a la tabla, no
un objeto que almacene información.
La consulta muestra lo que la tabla almacena según los criterios
solicitados.
La consulta es un filtro avanzado, y funciona prácticamente de la misma
forma.
Lo único que los diferencia es que los filtros sólo se pueden activar desde
una tabla o desde un formulario.
www.urjc.es 25/01/22 11
Consultas: Usos
Elegir tablas:
◦ Las consultas se pueden realizar sobre una sola tabla o sobre todas las tablas creadas en esa
base de datos.
◦ De esta forma las combinaciones posibles para obtener información son muchas.
Modificar los datos de las tablas:
◦ Aunque las consultas no son tablas, dan acceso a ellas, y permite modificar, eliminar o
añadir registros nuevos.
◦ También se puede utilizar una consulta para crear una nueva tabla que contenga registros
de otra tabla o de varias tablas.
Elegir uno o varios campos:
◦ Al crear una consulta es posible especificar qué campo se desea ver.
Seleccionar registros:
◦ Una consulta se puede concretar hasta el punto de ver sólo un registro.
Realizar cálculos:
◦ Se pueden realizar cálculos con los campos mostrados en la consulta.
◦ Por ejemplo contar el número de registros seleccionados o acumular totales.
◦ Se crearán campos nuevos: campos calculados que contendrán el resultado del cálculo.
Para crear nuevos formularios, informes o consultas:
◦ Partiendo de los datos obtenidos en una consulta se pueden crear nuevos elementos.
www.urjc.es 25/01/22 11
Consultas: Tipos
Consulta de selección:
◦ Es la más sencilla, se indican unos criterios para ver sólo lo que interesa de una
tabla.
◦ Los datos aparecen en la Hoja de respuestas dinámicas, esta parece una tabla
pero no lo es, sólo muestra los datos de una tabla o de varias tablas según los
criterios de la consulta.
◦ Aunque la hoja de respuestas dinámica no es una tabla se pueden introducir
datos en las tablas a través de ella.
Consulta de tablas de referencias cruzadas:
◦ Presenta los datos con títulos en las filas y en las columnas; la apariencia es la
de una hoja de cálculo.
◦ De esta forma se resume en muy poco espacio mucha información de una forma
muy clara.
www.urjc.es 25/01/22 12
Consultas: Tipos
Consulta de acciones
◦ Es una forma de modificar registros de una o varias tablas a través de una sola
operación.
◦ A través de este tipo de consulta también se puede crear una nueva tabla,
eliminar o añadir registros, modificarlos, etc.
Consulta de unión:
◦ Combina campos que coinciden en más de una tabla.
Consulta de paso a través:
◦ Envía instrucciones a una base de datos SQL.
Consulta de definición de datos:
◦ Se puede modificar una base de datos de Access utilizando instrucciones de
SQL.
www.urjc.es 25/01/22 12
Consultas: Crear una consulta
Para crear una consulta hay que seleccionar la pestaña de la
ventana de la base de datos.
Si no se está en la ventana Base de datos, para volver a ella se pulsa el
botón base de datos .
En la ventana Consultas puede aparecer algún elemento creado si se ha
guardado algún filtro:
www.urjc.es 25/01/22 12
Consultas: Crear una consulta
Paracrear una consulta nueva se pulsa el botón Nuevo.
Aparecerá esta ventana:
www.urjc.es 25/01/22 12
Consultas: Crear una consulta
Estas son las opciones que ofrece Access para crear una consulta:
Vista diseño: permite realizar una consulta sin la ayuda del asistente.
Asistente para consultas sencillas: crea una consulta
automáticamente, según los campos seleccionados.
Asistente para consultas de referencias cruzadas: crea una consulta
que muestra los datos con un formato compacto, parecido al de una
hoja de cálculo.
Asistente para consultas destinados a buscar duplicados: crea una
consulta en la que se buscan registros con valores duplicados en un
campo.
Asistentes para consultas destinados a buscar no coincidentes: crea
una consulta que busca registros que no tienen registros
relacionados en otra tabla.
www.urjc.es 25/01/22 12
Consultas: Crear una consulta sin asistentes
Dentro de la ventana de Nueva Consulta se selecciona la
opción Vista Diseño y se pulsa Aceptar.
Automáticamente se abrirá la ventana de la consulta e
inmediatamente otra ventana donde se debe elegir en que
tabla/s se va a realizar la consulta.
www.urjc.es 25/01/22 12
Consultas: Crear una consulta sin asistentes
En este ejemplo se va a elegir la tabla Pacientes.
Tras seleccionar la tabla se pulsa Agregar.
Se pueden seleccionar más tablas, e incluso consultas.
Una vez se hayan elegido los elementos sobre los que se quiera realizar la
consulta se pulsa Cerrar.
Si tras cerrar se quiere volver a abrir la ventana de agregar Tablas se pulsa
el botón o se selecciona el menú Consulta/Mostrar Tabla.
El aspecto de la ventana de una consulta es este:
www.urjc.es 25/01/22 12
Consultas: Crear una consulta sin asistentes
Al igual que en los filtros, la ventana se divide en dos
secciones:
La superior: muestra los elementos sobre los que se va a
realizar la consulta.
La inferior: muestra los criterios que se van a aplicar en la
consulta a la tabla o consulta seleccionada.
El proceso de creación de los criterios es muy similar al de los
filtros.
En las consultas hay un elemento más, que da la opción de que
un criterio de selección se vea o no. Esta opción es Mostrar.
www.urjc.es 25/01/22 12
Consultas: Crear una consulta sin asistentes
Campo:
En esta casilla se pueden seleccionar todos los campos de la tabla
( con el *) o de uno en uno, seleccionando cada uno en una
columna.
La forma de incluir el nombre de un campo en esta casilla es:
1. Arrastrando el nombre del campo desde la sección superior.
2. Haciendo doble clic en la tabla de la sección superior.
3. Haciendo clic sobre la casilla campo y pulsando sobre la flecha que
aparece. Se desplegará una lista de los campos para seleccionar.
Tabla:
En esta casilla figura la tabla de la que procede el campo
seleccionado en esa columna.
Esta opción es muy importante cuando se trabaja con campos de
varias tablas.
www.urjc.es 25/01/22 12
Consultas: Crear una consulta sin asistentes
Orden:
Ascendente, descendente o sin orden.
Este orden se aplicará a los registros que se obtengan en la consulta según la
columna en la que se esté indicando el orden.
El criterio se establece en un campo y se ordenan los resultados en función del
campo que se quiera.
Para seleccionar el tipo de orden que se quiere se hace clic sobre la casilla Orden,
aparecerá una flecha en la zona derecha de la casilla.
Al pinchar sobre la flecha aparece un menú con los tipos de orden aplicables a la
consulta.
Mostrar:
Esta casilla tiene un pequeño cuadrado, al hacer clic dentro de este cuadrado se
está indicando al programa que se muestre ese campo.
Esto tiene sentido cuando se quiere indicar un criterio más para restringir la
búsqueda, pero no se quiere mostrar en el resultado de la búsqueda.
Si la casilla esta activada este criterio aparecerá.
Si no está activada .
www.urjc.es 25/01/22 12
Consultas: Crear una consulta sin asistentes
Criterios:
En esta casilla se introduce la condición/es que debe cumplir
un campo para que el registro aparezca en la respuesta a la
consulta.
Cuando se ejecuta la consulta, el programa analiza la
expresión de la casilla criterios.
Dentro del campo se buscan todos los valores que coincidan
con el criterio.
Los criterios pueden introducirse en uno o más campos de
una consulta.
O incluso introducir varios criterios en un mismo campo.
No es necesario rellenar todas las casillas en cada columna.
Todo depende de lo que se quiera pedir al programa.
www.urjc.es 25/01/22 13
Consultas: Crear una consulta sin asistentes
Ejercicio:
Una forma más sencilla de ver una búsqueda es un ejemplo.
Con la tabla de Pacientes se va a realizar el siguiente ejemplo: Buscar los
pacientes que vivan en Madrid.
En este ejemplo sólo se establece un criterio en un campo: "Provincia", y el
criterio "Madrid".
De todos aquellos registros en los cuales el campo Provincia sea Madrid se le pide
que muestre: el nombre y el apellido de los pacientes, además del criterio, que no
está oculto.
Si no se le añaden más campos no mostrará más datos del registro que cumple el
criterio.
www.urjc.es 25/01/22 13
Consultas: Crear una consulta sin asistentes
Para ejecutar la consulta se pulsa el botón o se selecciona el
menú Consulta/Ejecutar.
El programa devolverá el o los registros que cumplan con ese
criterio, si es que los hay.
Para mostrar los resultados se abrirá la Hoja de respuesta dinámica
en la Vista Diseño.
En esta hoja aparecerán únicamente los datos solicitados en la
Consulta.
www.urjc.es 25/01/22 13
Consultas: Crear una consulta sin asistentes
Para modificar los criterios de una consulta se cambia a la Vista Diseño.
Si se quiere que se muestren todos los datos de los pacientes procedentes
de Madrid habrá que hacerlo de la siguiente forma.
www.urjc.es 25/01/22 13
Consultas: Crear una consulta sin asistentes
www.urjc.es 25/01/22 13
Consultas: Establecer criterios
Dentro de la casilla criterio se escribe una expresión, bien de texto,
numérica o numérica con operadores.
Gracias a los operadores, además de palabras, se pueden imponer
otro tipo de condiciones a las búsquedas dentro de los registros.
Rangos de valores:
◦ Para buscar un rango de valores dentro de un campo se utilizan
estos operadores:
◦ Entre...Y: por ejemplo para seleccionar los pacientes mayores de
18 años pero menores de 50. En la casilla Criterios se escribirá:
Entre 18 Y 50.
◦ <,>,>=,<=,<>: operadores de comparación.
www.urjc.es 25/01/22 13
Consultas: Establecer criterios
Varios criterios
◦ En diferentes campos: criterio Y: cuando se escriben varios criterios
en el mismo renglón el programa buscará un registro que cumpla
todos los criterios.
www.urjc.es 25/01/22 13
Consultas: Los comodines
Se utilizan para buscar datos genéricos, que empiezan por una letra, que
terminan por otra, etc.
* Representa cualquier número de caracteres, por ejemplo: todos los
nombres que terminen por "ez”: *ez.
Otro ejemplo: buscar las personas que tienen un nombre compuesto y
uno de los dos nombres es "Luis".
Se debe escribir el siguiente criterio: Como *Luis* o Como * + Luis +
*.
Access agregará las comillas.
# se utiliza para consultas sobre fechas.
Si queremos que nos muestre los registros de una fecha en particular
debemos escribirla del siguiente modo: #15/02/2007#.
Al introducir una expresión con uno de estos operadores, Access añadirá
automáticamente el operador "Como".
www.urjc.es 25/01/22 13
Consultas: Selección de registros con datos o sin datos
Se puede seleccionar un registro por el criterio de si en el
campo hay un dato, o si está vacío.
Pacientes que tienen teléfono: Es Negado Nulo
www.urjc.es 25/01/22 13
Consultas:
Fecha actual:
Se pueden seleccionar los registros que tengan la fecha
actual.
Por ejemplo en una empresa para seleccionar los pedidos que
haya que entregar ese día.
En criterios se escribe Fecha().
Condición variable:
Para hacer una condición variable; que realice una pregunta
cada vez que se abra o ejecute la consulta, se coloca la
pregunta entre corchetes [ ] debajo del campo que se desea
variar (consultas con parámetros).
www.urjc.es 25/01/22 14
Consultas:
Criterios con cálculo:
Dentro de un criterio se puede realizar un cálculo haciendo
referencia a otro campo.
Por ejemplo en la base de datos de una empresa de venta de
material de construcción se va a consultar:
www.urjc.es 25/01/22 14
Consultas: Guardar las consultas
Siempre es recomendable que se prueben varias veces las
consultas para asegurarse que el resultado es el esperado.
Una vez se comprueba que el resultado es el que se esperaba,
hay que pensar en guardar o no la consulta.
Todo depende de la frecuencia con la que se vaya a usar esa
consulta.
Si se va a usar más veces es conveniente guardarla para no
tener que rediseñarla la próxima vez.
La consulta se puede guardar desde la Vista Diseño o la Vista
Hoja de datos.
Se selecciona el botón guardar o el menú Archivo/Guardar.
www.urjc.es 25/01/22 14
Consultas: Campos calculados
Se puede crear un campo que realice una operación con varios campos de
una misma tabla.
En nuestro ejemplo del hospital se ha creado el campo calculado
"Importe".
Pasos para crear un campo calculado:
1. Se selecciona una columna en blanco, se escribe el nombre del nuevo campo
seguido de dos puntos. "Importe:"
2. Se escribe la operación, cuando se hace referencia a un campo este debe ir
entre corchetes [ ].
"Importe: [Cantidad] *[Precio Unidad]
Si sólo se va a operar con un campo, se puede seleccionar el campo de la
lista de campos y al añadir un símbolo de operación: /*-+ el programa
añadirá el corchete al campo y pondrá un nombre al nuevo campo.
El nombre será Expr, Expr1, etc.
www.urjc.es 25/01/22 14
Consultas: Consultas con asistentes
Asistente para consultas sencillas:
◦ El Asistente para consultas sencillas crea consultas que
recuperan datos de los campos especificados en una tabla
o consulta, o en varias tablas o consultas.
Asistente para consultas de referencias cruzadas:
◦ Una consulta de tabla de referencias cruzadas calcula
totales resumidos basándose en los valores de cada fila y
columna.
◦ Calcula una suma, una media, un recuento u otros tipos de
totales de los registros y luego agrupa el resultado en dos
tipos de información: uno hacia abajo, en el lado izquierdo
de la hoja de datos y otro a lo largo de la parte superior.
www.urjc.es 25/01/22 14
Consultas: Consultas con asistentes
Asistente para consultas de buscar duplicados:
◦ Con este asistente se puede determinar si existen registros duplicados en una
tabla o determinar qué registros de una tabla comparten el mismo valor.
◦ Por ejemplo, se pueden buscar valores duplicados en un campo de dirección
para determinar si existen registros duplicados para el mismo paciente.
◦ También se pueden buscar valores duplicados en un campo de población para
todos los pacientes de una misma ciudad.
◦ Puede ser una herramienta útil si se han importado datos desde otra base de
datos, ya que permite depurarlos.
Asistente para buscar registros no coincidentes:
◦ Mediante este Asistente se pueden buscar registros en una tabla que no tenga
registros relacionados en otra tabla.
◦ Por ejemplo, puede buscar pacientes que no hayan realizado ninguna visita.
◦ También es útil si se han importado datos desde otra base de datos, ya que
permite depurarlos.
www.urjc.es 25/01/22 14
Consultas: Consultas con parámetros
Se recurre a ellas cuando se quiere hacer una consulta que permita pedir
un dato antes de ejecutarla y buscar según ese dato.
Una consulta que tiene uno o varios parámetros necesitará que éstos se
indiquen para buscar datos en la tabla.
Por ejemplo, para realizar una consulta sobre los nombres de los médicos
que trabajan en un determinado departamento de un hospital, se tendrá
que hacer una consulta por especialidad utilizando el procedimiento
habitual.
Si se utiliza una consulta diseñada con parámetros se podrá decir qué
especialidad se busca cada vez que se ejecute una nueva consulta.
El proceso es muy parecido al de una consulta normal.
Se selecciona la tabla, se seleccionan los campos y los criterios.
En este caso se va a utilizar la tabla de médicos.
www.urjc.es 25/01/22 14
Consultas: Consultas con parámetros
Después de crear una consulta normal se selecciona el menú
Consulta/Parámetros.
Se abrirá esta ventana:
www.urjc.es 25/01/22 14
Consultas: Consultas con parámetros
Cuando se ejecute la consulta aparecerá una ventana que pide
el valor del parámetro.
www.urjc.es 25/01/22 15
Consultas: Consultas con parámetros
Esta será la hoja de respuestas dinámica:
www.urjc.es 25/01/22 15
Consultas: Consultas basadas en más de
una tabla
www.urjc.es 25/01/22 15
Consultas: Consultas avanzadas
Hasta ahora hemos visto consultas de selección, consultas con parámetros
y consultas con campos calculados.
Para seleccionar otro tipo de consulta más compleja se debe crear una
consulta de selección, y después ir al menú consulta/…:
www.urjc.es 25/01/22 15
Consultas: Consultas avanzadas
Consulta de creación de tabla:
◦ Este tipo de consulta puede ser usada cuando se quiera crear una tabla
nueva a partir de registros provenientes de ejecutar una consulta.
◦ La nueva tabla no heredará las propiedades de los campos, ni la clave
principal que tuviera la tabla origen.
Consulta de actualización:
◦ Este tipo de consultas pueden ser usadas cuando se quiera actualizar
varios registros de una tabla, de una sola vez.
◦ Se pueden ver los registros a actualizar antes de ejecutar la consulta y
que sean modificados permanentemente.
www.urjc.es 25/01/22 15
Consultas: Consultas avanzadas
Consulta de datos anexados:
◦ Este tipo de consultas pueden ser usadas cuando se quiera
añadir registros a una tabla de otra que ya contenga
algunos.
◦ Entonces, se podrán agregar datos que estaban en otra
tabla de Access o bien en otros formatos de Tabla, como
pueden ser DBase, Paradox.
Consulta de eliminación:
◦ Este tipo de consultas pueden ser usadas cuando se quiera
eliminar varios registros de una tabla que cumplan
determinados criterios.
www.urjc.es 25/01/22 15
Bloque de Consulta Básico
Una sentencia SELECT recupera información desde la base de datos, implementando
todos los operadores algebraicos.
SELECT [DISTINCT] {*,column [alias] , . . . .}
FROM table;
Donde:
SELECT identifica qué columnas.
DISTINCT suprime duplicados.
* Recupera todas las columnas.
Columna: recupera la columna nombrada.
alias: asigna a la columna recuperada un encabezamiento diferente.
FROM table especifica la tabla que contiene las columnas.
En su forma más simple, una sentencia SELECT puede incluir:
Una cláusula SELECT, que especifica las columnas a ser visualizadas.
Una cláusula FROM, que especifica la tabla que contiene las columnas listadas en la
cláusula SELECT
Escritura de Comandos SQL
Los Comandos pueden constar de una o varias líneas
Se puede ubicar las cláusulas en diferentes líneas y usar tabulaciones e
indentaciones para mayor legibilidad y facilidad de edición.
No están permitidas las abreviaturas y separación de palabras.
Los comandos SQL no son case sensitive, salvo los indicados.
Un comando SQL se ingresa en el prompt SQL y las líneas subsiguientes
están numeradas. Esto se llama el buffer SQL.
En el buffer puede haber una sentencia por vez y la misma puede ser
ejecutada de diferentes formas:
Tipear un punto y coma (;) al final de la última cláusula
Tipear un punto y coma (;) o una barra (/) en la última línea del buffer
Tipear un slash en el prompt de SQL
Negocio de Artículos Deportivos
Esquema de base de datos
S_INVENTORY S_EMP
S_REGION
Ver estructura de Datos en C:\03 RG 2014-05-02\03 - MARIA REINA\1 Bibliografía\04 SQL 0 Itroducción.doc
Ejemplo: Selección de Todas las Columnas y Filas
SQL> SELECT *
2 FROM s_dept;
ID NAME REGION_ID
--------- ------------------------- ---------
10 Finance 1
31 Sales 1
32 Sales 2
33 Sales 3
34 Sales 4
35 Sales 5
41 Operations 1
42 Operations 2
43 Operations 3
44 Operations 4
45 Operations 5
50 Administration 1
12 filas seleccionadas.
Ejemplo: Selección Columnas específicas
SQL> SELECT dept_id, last_name, manager_id
2 FROM s_emp;
DEPT_ID LAST_NAME MANAGER_ID
--------- ------------------------- ----------
Etiquetas de Columnas
50 Velasquez
41 Ngao 1
Por defecto la etiqueta es el nombre dado a la
31 Nagayama 1
columna en la definición de la tabla.
10 Quick-To-See 1
50 Ropeburn 1
Se puede reemplazar el nombre de la columna con
41 Urguhart 2
un alias.
42 Menchu 2
Por defecto, las etiquetas se muestran en
43 Biri 2
mayúsculas.
. . .
Las etiquetas de las columnas tipo carácter o fecha
25 filas seleccionadas.
se justifican a la izquierda dentro de la columna.
+ Suma
- Resta
* Multiplicación
/ División
DISTINCT con Varias Columnas
DISTINCT se aplica a todas las columnas de la lista de la cláusula SELECT.
Cuando DISTINCT se aplica a varias columnas, el resultado representa las
diferentes combinaciones
SQL> SELECT DISTINCT dept_id, title
2 FROM s_emp;
DEPT_ID TITLE
--------- ---------------------
10 VP, Finance
31 Sales Representative
31 VP, Sales
32 Sales Representative
33 Sales Representative
. . .
21 filas seleccionadas.
La cláusula ORDER BY
El orden de las filas recuperadas por una consulta es indefinido. La cláusula ORDER BY
se puede usar para ordenar las filas.
SELECT expr
FROM tabla
[ORDER BY {columna, expr} [ASC | DESC] ] ;
Donde:
ORDER BY especifica e orden en el cual se muestran las filas recuperadas.
ASC ordena las filas en orden ascendente. Este es el valor por defecto.
DESC ordena las filas en orden descendente.
Ejemplo
SQL> SELECT last_name, dept_id, start_date
2 FROM s_emp
3 ORDER BY last_name;
LAST_NAME DEPT_ID START_DA
------------------------- --------- --------
Biri 43 07/04/90
Catchpole 44 09/02/92
Chang 44 30/11/90
Dancs 45 17/03/91
Dumas 35 09/10/91
Restricción de las Filas seleccionadas con la cláusula WHERE
Se puede restringir las filas recuperadas usando la cláusula WHERE. Una Cláusula WHERE
contiene la condición que se debe cumplir y se ubica a continuación de la cláusula FROM.
SELECT expr
FROM tabla
[WHERE condicion(es) ]
[ORDER BY expr ] ;
Donde:
WHERE restringe la consulta a las filas que cumplen una condición.
condición se compone de nombres de columnas, expresiones, constantes y operadores de comparación.
La cláusula WHERE se ubica a continuación de la cláusula FROM.
Las condiciones consisten en lo siguiente:
Nombre de columna, expersión, constante.
Operador de comparación.
Literal
Ejemplo
SQL> SELECT dept_id, last_name, salary
2 FROM s_emp
3 WHERE dept_id = 42;
DEPT_ID LAST_NAME SALARY
--------- ------------------------- ---------
42 Menchu 1250
42 Nozaki 1200
42 Patel 795
Operadores de Comparación Operador BETWEEN
Operador Significado
= Igual a
> Mayor que
Selecciona las filas que se encuentran dentro de un rango de valores. El rango que se
>= Mayor o igual que especifica contiene un valor inferior y otro superior, se debe espcificar primero el
< Menor que límite inferior del rango. Los valores especificados con el operador BETWEEN se
<= Menor o igual que incluyen.
BETWEEN...AND... Entre dos valores (inclusive)
IN (list) Coincide con cualquier valor de la lista
LIKE Coincide con un patrón de caracteres Ejemplo
IS NULL Es un valor nulo Seleccionar los departamentos cuyo numero de región está entre 2 y 4 inclusive.
Operadores Lógicos
Operador Significado SQL> SELECT id, name, region_id
AND Si ambos componentes de la condición son verdaderos, el resultado también 2 FROM s_dept
OR Si algún componente de la condición es verdadero, el resultado también 3 WHERE region_id BETWEEN 2 AND 4;
NOT Retorna la condición negada ID NAME REGION_ID
Negación de Operadores --------- ------------------------- ---------
Operador Significado
<> No igual a (en todos los sistemas operativos). Hay otras formas de 32 Sales 2
expresarlo, dependiendo de los sistemas ( ‘!=’ para VAX, UNIX,PC ; ‘^= ‘ o 33 Sales 3
‘:=’ para IBM)
34 Sales 4
NOT nombre-columna = No igual a
42 Operations 2
NOT nombre-columna > No mayor que 43 Operations 3
44 Operations 4
NOT No está entre los valores especificados
BETWEEN...AND...
NOT IN (list) No está dentro de la lista especificada 6 filas seleccionadas.
NOT LIKE No es como la cadena de comparación
IS NOT NULL No es un valor nulo
Ejemplos de SQL
Asumiendo la existencia
de los siguientes archivos
(entidades)
Muebles :
( Mueble, Descripción Mueble )
Direcciones : ( Dirección, Cliente )
Ensambles : ( Herraje, Mueble, Número )
Herrajes :
( Herraje, Descripción Herraje, Calidad, Precio )
Ordenes : ( Folio, Dirección, Fecha )
Detalles :
( Folio, Línea Detalle, Cantidad, Herraje )
Inventarios :
( Planta, Herraje, Inventario )
Plantas : ( Planta, Descripción Planta )
Descuentos :
( Herraje, Volumen, % Descuento )
166
Solución del SQL
167
Ejemplos de SQL (2)
Asumiendo la existencia de los siguientes archivos (entidades)
168
Solución del SQL (2)
169
Ejemplo Numérico
170
8. Manejo de Transacciones
Transacciones, Serialización
Enfoques de solución
Protocolo de bloque en dos fases
Transacciones
Consistencia
Estado de transacciones
Diagrama de estado en una transacción
Recuperación de falla
171
Criterios en una Transacción
En su diseño
Correctitud
Una transacción debe mantener la consistencia de la BD
Atomicidad
Una transacción debe manejarse como un objeto atómico,
esto es no puede ejecutarse un pedazo del mismo únicamente,
o se completa toda o no se completa
En su ejecución
Activa: SI se encuentra en proceso de ejecución
Parcialmente Comprometida: se ha ejecutado parte de ella
(es estado temporal)
Fallida: NO puede ser completada (requiere ser terminada)
Terminada: Se efectúa un ROLLBACK para deshacer el
proceso
Comprometida: Se efectúa un COMMIT para completarla
172
Ejemplo de transacción
173
Bibliografía
Date C. J. Data Base Systems
Procesamiento de Bases de datos D Kroenke
174
Bases de Datos
Desarrollo del Sistema
Diseño de Bases para Almacenes
Tablas Normalizadas
Tabla Mercados Falta CPRMER
Tabla Almacenes
Tabla Puestos
Tabla Ciudad
CodPro
Tabla Medidas
Tabla Frutas
Tabla Almmer
Tabla Propietarios
182
Tablas Normalizadas
Tabla PtoFru
Tabla FACTURAS
183
Creación de una Base de Datos
184
Crear una base de datos nueva
Al iniciar el programa se presentará el panel de
Nuevo archivo, en el que podemos abrir y crear
una base de datos.
25/01/22 18
Crear una base de datos nueva
Si se selecciona Base de datos en blanco y se hace clic.
Aparecerá otro cuadro de diálogo en el que se dará nombre a la base de
datos que se va a crear.
Se debe utilizar un nombre apropiado y relacionado con el contenido de la
base de datos, para poder recuperarla con facilidad posteriormente.
25/01/22 186
Crear una base de datos nueva
Se escribe el nombre en Nombre de archivo y se pulsa el botón
crear.
25/01/22 188
Crear una base de datos nueva
25/01/22 189
Crear una base de datos nueva
Otra forma de crear un elemento de Access sin
seleccionar la pestaña es a través del menú
Insertar.
25/01/22 190
Creación de Tablas
191
Tablas
Para empezar a trabajar con una base de datos
primero es necesario crear las tablas.
Dentro de cada una hay que definir los campos
que contendrán la información.
Igual que cualquier otro objeto de la base de
datos, hay varias formas de crear una tabla
nueva:
◦ desde el menú.
◦ desde la barra de herramientas.
◦ desde la ventana de la base de datos.
25/01/22 192
Tablas: Creación desde el menú
Para crear una tabla desde los menús hay
que seleccionar el menú Insertar y dentro
de este el comando Tabla.
25/01/22 193
Tablas: Creación desde el menú
Aparece el siguiente cuadro de diálogo:
25/01/22 194
Tablas: Creación desde el menú
Estas son las diferentes opciones que presenta Access para crear
una tabla:
◦ Vista hoja de datos: crea una nueva tabla con formato de tabla.
En la primera fila de la tabla aparecen los campos: Campo 1,
Campo 2, etc., sobre los cuales se escriben los nombres de los
campos.
◦ Vista diseño: permite crear los campos manualmente y
configurar el diseño de la tabla.
◦ Asistente para tablas: el asistente pide las características de los
campos y de la tabla y la genera automáticamente.
◦ Importar tabla: esta opción permite importar datos de otra base
de datos, que no necesariamente tiene que estar creada por
Access.
◦ Vincular tabla: crea vínculos entre las tablas importadas y las
originales, las modificaciones que se efectúen en los datos se
transmiten a aquéllas.
25/01/22 195
Tablas: Creación desde la barra de
herramientas
Para crear una tabla desde la barra de herramientas hay
que pulsar el botón , y elegir el comando Tabla.
Muestra el mismo cuadro de diálogo que si se hubiera
realizado desde el menú insertar.
25/01/22 196
Tablas: Creación desde la ventana de la
base de datos
Para poder crear una tabla desde esta ventana hay que
tener seleccionado el botón de la barra de objetos.
25/01/22 197
Tablas: Creación desde la ventana de la
base de datos
Ahora hay dos opciones:
Pulsar el botón : Nos volverá a presentar el mismo diálogo de creación.
Pulsar cualquiera de las tres ordenes que contiene la vista:
◦ Crear una tabla en vista diseño. Corresponde a Vista diseño de los puntos
anteriores.
◦ Crear una tabla utilizando el asistente. Corresponde al Asistente para tablas.
◦ Crear una tabla introduciendo datos. Corresponde a Vista hoja de datos.
Cualquiera de estas opciones es válida para crear una tabla. Pero las
opciones a través de las cuales se crea personalmente una tabla son vista
hoja de datos y vista diseño.
Con la opción vista diseño se crea la estructura para luego rellenar los datos
en vista hoja de datos.
Pero también se puede empezar directamente en vista hoja de datos
introduciendo información y Access crea la estructura automáticamente.
Independientemente del método utilizado para crear una tabla, se puede
emplear la vista diseño en cualquier momento para personalizar más la tabla,
por ejemplo para agregarle campos nuevos.
25/01/22 198
Tablas: Vista Diseño
Parar pasar a la vista diseño, debemos seleccionar:
25/01/22 199
Tablas: Vista Diseño
• Este diálogo se compone de tres partes. Arriba se nos muestran
los campos, su tipo y la descripción. Abajo a la izquierda se nos
muestra las propiedades del campo seleccionado y abajo a la
derecha se nos muestra una ayuda sensible a lo que estemos
realizando.
• En la parte superior tenemos tres columnas. En la primera
columna se ven los nombres de los campos, en la segunda columna
el tipo de datos que ha elegido automáticamente Access XP con los
datos introducidos (si hemos creado la tabla en vista hoja de datos)
y en la tercera una descripción que podemos introducir al campo
que Access podrá usar cuando se creen formularios e informes .
25/01/22 200
Tablas: Vista Diseño
• Ahora veremos el significado de cada propiedad del
campo que nos aparece en la Vista Diseño de nuestra tabla:
25/01/22 201
Tablas: Vista Diseño
•Tamaño del Campo:
•Aquí determinamos el espacio que queremos asignar
al campo, el número máximo de caracteres que
queremos almacenar.
•Para Texto este valor no puede ser mayor de 255.
•Para numérico por ejemplo, puede ser Entero Largo
(entre -2.000 millones y 2.000 millones) o Doble (para
valores decimales).
•Formato:
•Determina cómo se muestran los datos (por ejemplo
moneda o fecha).
•Cuando un valor puede tener formato lo
seleccionamos desde la lista desplegable.
25/01/22 202
Tablas: Vista Diseño
•Lugares decimales:
•Aquí seleccionamos el número de decimales que
Access muestra en los campos de tipo Moneda o
Numérico.
•Máscara de entrada:
•Esta propiedad sirve para introducir datos válidos
en un campo.
•Por defecto no hay ninguna máscara de entrada
pero en ocasiones nos puede ser útil (sobre todo
para las fechas).
•Título:
•Es una propiedad opcional, nos sirve si queremos
que el nombre de un campo en vista de Hoja de
datos sea distinto del nombre del campo en la Vista
Diseño. 25/01/22 203
Tablas: Vista Diseño
• Valor predeterminado:
• Nos puede ser útil si tenemos siempre el mismo valor en el campo (o
casi siempre).
• Si por ejemplo en nuestra tabla de autores el apellido que más se
repita es "García" podemos definirlo como el valor predeterminado.
• Para eso simplemente escribimos el valor predeterminado en la
propiedad del campo o pulsamos el botón con "..." para generar
expresiones complejas.
• Requerido:
• Por defecto está puesto "No", pero si lo seleccionamos Access no nos
permitiría dejar un campo en blanco.
25/01/22 20
Tablas: Vista Diseño
Si estamos introduciendo una tabla nueva en Vista diseño, o al pasar
de la vista de datos a vista diseño, Access pedirá que se le de un
nombre a la tabla.
25/01/22 20
Tablas: Tipos de Datos
Valor Tipo de datos Tamaño
Texto Texto o combinaciones de texto y números, así Hasta 255 caracteres o la longitud
que indique la
como números que no requieran cálculos, como
los números de teléfono. Es el predeterminado. propiedad Tamaño del campo.
Activado/desactivado).
Hipervínculo Almacena una ruta UNC o una URL. Hasta 64000 caracteres.
Crea un campo que permite elegir un valor de Tamaño igual al del campo clave
Asistente para otra tabla o de una lista de valores mediante principal utilizado para realizar la
búsquedas un cuadro de lista o un cuadro combinado. búsqueda.
25/01/22 209
Tablas: Introducir datos en la tabla
En Vista Hoja de Datos se pueden introducir datos.
En el primer registro sólo aparecerá una fila.
Se hace clic sobre ella y se escriben los datos en los campos.
En el momento en que se empiece a escribir se añadirá una fila más.
En la primera columna de la fila sobre la que esté escribiendo
aparecerá un lápiz, y en la siguiente un asterisco.
Para pasar de un campo a otro pulse Intro o Tabulador.
25/01/22 210
Tablas: Clave principal
La clave principal suele ser uno o varios de los campos de la tabla.
El contenido de este campo identifica cada registro del campo de manera única.
No se podrán introducir dos registros iguales o almacenar valores nulos en los
campos de la clave principal.
No es obligatorio que una tabla tenga clave principal, pero si es recomendable
(sin clave no se pueden relacionar).
Para la tabla “Clientes” se tiene que pensar que campo no se repite.
Podría ser el campo “Nombre”, pero el nombre no es algo único.
Los campos “Nombre” y “Apellidos” juntos también se podrían repetir en algún
caso.
Se podría usar el campo “DNI”, pero decidimos que queremos crear un código
único para cada paciente.
Se selecciona el campo “Nombre” y se inserta un campo. Se llama
“Id_Paciente” y se elige el tipo de dato Autonumérico.
Este tipo de dato hace que Access genere un número único a cada registro de la
tabla.
De esta forma es totalmente seguro que el campo no tendrá ningún registro
repetido.
25/01/22 211
Tablas: Clave principal
Es decir los datos de un paciente no aparecerán repartidos en tres veces, sino
en una sola vez, de forma que cuando se quiera consultar el estado físico de
un paciente se tendrá la seguridad de que ahí están todos sus datos médicos.
Para establecer este campo como clave principal se hace clic sobre él y en la
barra de Herramientas se pulsa el botón Establecer Clave Principal.
También se puede realizar esta operación desde el Menú Edición/Establecer
Clave Principal.
25/01/22 212
Tablas: Clave principal
No se tiene que definir obligatoriamente una clave principal, pero
normalmente es conveniente hacerlo.
Si no se establece la clave principal, al cerrar la tabla aparece un cuadro de
diálogo pidiendo que se establezca:
25/01/22 213
Tablas: Tipos clave principal
En Microsoft Access existen tres tipos de clave principal:
Autonumérico, Campo simple y Campos múltiples.
Claves principales de Autonumérico
◦ Un campo Autonumérico puede establecerse para que el programa
introduzca automáticamente un número secuencial cuando se
agrega un registro a la tabla.
◦ Designar un campo de este tipo como clave principal de una tabla
es la forma más sencilla de crear una clave principal.
◦ Cuando no se establece una clave principal antes de guardar una
tabla recién creada, Microsoft Access pregunta si se desea que
cree una clave principal automáticamente.
◦ Si se contesta afirmativamente, Microsoft Access creará una clave
principal de Autonumérico.
25/01/22 214
Tablas: Tipos clave principal
Claves principales de Campo simple:
◦ Si se tiene un campo que contiene valores exclusivos, como números de
identificación o números de pieza, se puede designar ese campo como la
clave principal.
◦ Si el campo seleccionado como clave principal tiene valores duplicados
o Nulos, Microsoft Access no establece la clave principal.
Claves principales de Campos múltiples:
◦ En situaciones en las que no se puede garantizar la exclusividad de un
solo campo, se pueden designar dos o más campos como clave principal.
◦ La situación más común en la que surge este problema es en la tabla
utilizada para relacionar otras dos tablas en una relación varios a varios.
◦ Si no se está seguro de poder seleccionar una combinación de campos
apropiada para una clave principal de campos múltiples, probablemente
resultará más conveniente agregar un campo Autonumérico y designarlo
como la clave principal en su lugar.
25/01/22 215
Tablas Reglas de Validación
216
Tablas: Reglas de validación:
Esta propiedad nos permite controlar la entrada de
datos según el criterio que se especifique. Hay que
escribir el criterio que debe cumplir el valor introducido
en el campo para que sea introducido correctamente.
Por ejemplo si queremos que un valor introducido esté
comprendido entre 100 y 2000, se puede especificar en
esta propiedad >=100 Y <=2000.
Para formar la condición puedes utilizar el generador de
expresiones como te explicamos en la secuencia
animada.
Se puede utilizar esta propiedad para todos los tipos de
datos excepto el Objeto OLE, y el Autonumérico.
25/01/22 21
Tablas: Reglas de validación:
EJEMPLO:
Abrimos la base de datos “Empresa”.
Hacemos clic sobre la tabla “Pedidos”/Diseño.
21
Tablas: Reglas de validación:
Señalamos el campo “Fecha del pedido”.
Nos situamos con el ratón en la propiedad de reglas de
validación, y hacemos clic en el botón para abrir el
generador de expresiones.
25/01/22 21
Tablas: Reglas de validación:
Nos situamos con el ratón en la propiedad de
reglas de validación, y hacemos clic en el botón
para abrir el generador de expresiones.
Vamos a validar el campo comprobando que la
fecha de pedido es inferior a la fecha de hoy
haciendo primero clic en el signo “<“.
22
Tablas: Reglas de validación:
Luego buscaremos una función que devuelva la
fecha de hoy.
Para ello hacemos doble clic en
Funciones/Funciones incorporadas/Fecha/Hora/Fecha.
25/01/22 22
Tablas: Reglas de validación:
Para agregar la regla de validación hacemos
clic en Pegar.
www.urjc.es 25/01/22 22
Tablas: Texto de validación:
Access también ofrece la posibilidad de introducir un texto de
validación.
Esta propiedad permite que si en el campo se intenta introducir un
valor que no cumpla la regla de validación, aparecerá un mensaje
de error con el texto de validación que hayamos escrito.
www.urjc.es 25/01/22 22
Tablas: Campo requerido:
Si queremos que un campo se rellene obligatoriamente tendremos que
asignar a esta propiedad el valor Sí, en caso contrario el valor será el de
No.
Se puede utilizar esta propiedad para todos los tipos de datos excepto el
Objeto OLE y el Autonumérico.
Ahora vamos a hacer que sea obligatoria la entrada de datos en el campo
del ejemplo (Fecha_Pedidos).
Para ello, hacemos clic en “Requerido” y seleccionamos “Sí”.
www.urjc.es 25/01/22 22
Creación de Relaciones entre Tablas
(Modelo de Datos)
226
Tablas: Relaciones
Diferencia de 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 realizarla 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.
25/01/22 22
Tablas: Relaciones
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 Access.
Relación uno a uno:
◦ Cada registro de la tabla A se relaciona sólo con un registro de una tabla
B y cada registro de la tabla B se relaciona sólo con un registro de la
tabla A.
◦ En la base de datos del hospital tenemos dos tablas: médicos y pacientes, con
una relación directa entre ellos, un médico podría atender a muchos pacientes y
un mismo paciente podría ser atendido por varios médicos.
◦ Varios registros de la tabla de médicos se relacionaría con varios registros de la
tabla de pacientes.
◦ Relaciones de este tipo se almacenan creando una tabla especial donde se
colocan los identificadores de cada tabla y otros campos que puedan ser de
utilidad, por ejemplo la fecha, la hora, comentarios acerca de la visita médica,
etc.
◦ En la tabla Visitas, donde aparecen tanto el código del médico como el del
paciente.
25/01/22 23
Tablas: Relaciones
Ejemplo de relación varios a varios:
◦ Tenemos la tabla “Pedidos" que
contiene campos "Producto" y "Cliente"
y mantiene la relación de uno a varios
con las tablas "Productos" y "Clientes"
que a su vez mantienen la relación de
varios a varios entre sí.
25/01/22 23
Tablas: Relaciones
Crear relaciones ente dos tablas:
Para crear una relación entre las tablas de una base de datos
primero es necesario cerrar todas las tablas. Con las tablas abiertas
no se puede crear o modificar una relación. Para poder utilizar la
integridad referencial será necesario que las tablas no tengan
ningún registro.
Desde la ventana Base de datos, se pulsa el botón o se selecciona
el menú Herramientas/Relaciones. Automáticamente se abrirá la
ventana Relaciones totalmente vacía.
25/01/22 23
Tablas: Relaciones
Para añadir las tablas que van a estar relacionadas se
pulsa el botón Mostrar tabla o se selecciona el menú
Relaciones/Mostrar Tabla.
Aparecerá una ventana con el listado de las tablas:
25/01/22 23
Tablas: Relaciones
Se seleccionan aquellas tablas que van a formar
parte de una relación y se pulsa Agregar.
Después de pulsar Agregar en la ventana
Relaciones aparecerá la tabla en un recuadro con
todos los campos.
Cuando ya no se quieran agregar mas tablas se
pulsa el botón Cerrar.
Quedará abierta únicamente la ventana
Relaciones.
25/01/22 23
Tablas: Relaciones
En este caso se van a incluir las tres tablas de nuestro ejemplo:
Médicos, Pacientes y Visitas.
25/01/22 23
Tablas: Relaciones
Para relacionar médicos con visitas el campo en común es el código del
doctor.
Este dato está almacenado en la tabla médicos, por tanto, el campo se
arrastrará desde médicos hasta Visitas.
Para arrastrar el campo primero se selecciona, se hace clic, y sin soltar el
botón del ratón se arrastra hasta situar el cursor sobre el campo Código del
doctor de la tabla Visitas.
Al arrastrar el campo el cursor se convertirá en un rectángulo pequeño.
Tras arrastrar el campo se abrirá esta ventana:
25/01/22 23
Tablas: Relaciones
Dentro de la ventana hay dos columnas en las dos debe estar un
campo con un contenido similar.
No importa la coincidencia del nombre sino del contenido.
Médicos es la tabla primaria en esta relación (es la que contiene los
datos) y Visitas es la tabla secundaria (tomará los datos de médicos
a través del campo común).
Si se pulsa el botón Tipo de combinación, se abrirá una ventana
explicando los tres tipos de combinaciones.
Automáticamente aparece seleccionada la primera combinación.
En este ejemplo se puede dejar así.
25/01/22 23
Tablas: Relaciones
Integridad referencial:
La integridad referencial es un conjunto
de reglas de Access que garantizan que
las relaciones entre los registros de tablas
relacionadas son válidas y que no se
eliminan ni modifican accidentalmente
datos relacionados que satisfacen dicha
relación.
Sirve para aumentar la seguridad en el
tratamiento de los datos que coexisten
entre dos tablas relacionadas.
25/01/22 23
Tablas: Relaciones
Exigir integridad referencial:
25/01/22 23
Tablas: Relaciones
Cuando se establece la integridad referencial (marcando la casilla
pertinente en el panel de modificar relaciones) se van a cumplir
obligatoriamente, las siguientes reglas:
No podemos introducir un valor para ese campo en la tabla relacionada si
antes no ha sido introducido en la tabla principal.
Ejemplos:
◦ No podemos tener en la tabla de pedidos un pedido realizado por un código de
cliente que no exista.
◦ No podemos tener o anotar en la tabla de participantes un participante con un
número de socio que no exista en la tabla relacionada de socios (habría que dar
de alta al participante previamente en la tabla socios.
◦ Una buena opción sería colocar en el formulario de inscripciones un botón de
comando que nos lleve y abra el formulario de socios para poderle dar de alta.
◦ Al cerrar el formulario de socios una vez dado de alta, regresaríamos al
formulario de inscripciones y como ese nuevo socio ya existe en la tabla de
socios, nos permitiría su entrada).
◦ No podremos introducir tampoco a un empleado un código de entidad bancaria
si no se ha introducido esa entidad previamente en la tabla entidades.
◦ No se puede asignar a un trabajador un código de categoría si esa categoría no
está dada de alta en la tabla categorías.
◦ No se puede añadir un pedido en una tabla de pedidos de un artículo si el
artículo no existe previamente en la tabla de artículos.
25/01/22 24
Tablas: Relaciones
No se puede eliminar un registro de una tabla principal si existen registros
coincidentes en la tabla relacionada.
Ejemplos:
◦ No podemos eliminar un cliente que está en la tabla de pedidos, es decir está
realizando un pedido.
◦ No podemos eliminar un socio que está en la tabla de participaciones.
◦ No podremos eliminar una entidad bancaria mientras existe un empleado que
domicilie su nómina por ella, no podremos eliminar una categoría profesional
de la empresa mientras algún empleado la tenga asignada.
◦ No se podría borrar un artículo mientras existen pedidos de ese artículo en la
tabla de pedidos.
◦ No se podría dar de baja un vehículo (de una base de datos de un
ayuntamiento) mientras en la tabla relacionada multas existan multas sobre ese
vehículo.
No se puede cambiar un valor de clave principal en la tabla principal si el
registro tiene registros relacionados.
Ejemplos:
◦ No podríamos cambiar el número de cliente en la tabla de clientes si este
cliente en este momento esta realizando un pedido, es decir está en la tabla
pedidos.
◦ No podríamos cambiar el número de socio en la tabla de socios si este socio en
este momento esta participando en un torneo, es decir está en la tabla
participaciones.
25/01/22 24
Tablas: Relaciones
Si se quiere exigir el cumplimiento de estas reglas, hay que
seleccionar la casilla de verificación Exigir integridad referencial
al crear la relación.
25/01/22 243
Tablas: Relaciones
Al establecer la integridad referencial en la figura siguiente se
observa que la relación es uno (1) a varios (∞), un cliente (cuyos
datos se encuentran en la tabla Clientes) puede haber realizado
varios pedidos (los datos de éstos se encuentran en la tabla
Pedidos).
25/01/22 24
Tablas: Relaciones
Cuando ya se han especificado las características de la relación se pulsa
el botón Crear.
Entre las dos tablas relacionadas aparecerá una línea.
Esta línea simboliza la relación entre las dos tablas.
Si la relación cumple la integridad referencial la línea será más gruesa.
En nuestro ejemplo del hospital:
25/01/22 24
Tablas: Relaciones
A continuación se creará la relación entre Pacientes y
Visitas.
Y se exigirá integridad referencial en las dos relaciones.
Para exigir la integridad referencial se hace doble clic
sobre la línea de relación, se volverá abrir la ventana de
la relación.
25/01/22 24
Tablas: Relaciones
Una vez se ha terminado de crear las relaciones entre las
tablas se guardan.
Para guardar se selecciona el botón guardar o el menú
Archivo/Guardar.
Después de guardar ya se puede cerrar la ventana de
relaciones.
Si se cierra antes de guardar, se abrirá un mensaje de aviso.
Access permite guardar las relaciones en la Base de Datos.
Esto será muy importante para que siempre que se lleven a
cabo modificaciones en los datos se tenga en cuenta que las
relaciones están presentes entre los mismos y no se puedan
infringir las reglas de consistencia vigentes.
25/01/22 24
Tablas: Relaciones
Modificar y eliminar relaciones:
Ambas operaciones se realizan desde la Ventana de
relaciones, como ya se ha comentado anteriormente.
Para modificar una relación los pasos a seguir son:
◦ Hacer clic sobre la línea de la relación que se quiere modificar,
ésta se visualizará con un trazo más grueso, indicando que está
seleccionada.
◦ Seleccionar la opción Modificar relación del menú Relaciones.
Se muestra el mismo cuadro de diálogo que aparecía al crear la
relación.
◦ Realizar las modificaciones necesarias.
◦ Hacer clic sobre el botón Aceptar.
Para eliminar una relación, basta con seleccionar la
relación que se quiere eliminar y pulsar a continuación
la tecla Supr (o seleccionar la opción Eliminar del menú
Edición).
25/01/22 248
Modelo de Datos
249
Modelo de Datos
250
Modelo de Datos
251
Desarrollo de Aplicaciones
PROGRAMACIÓN EN
VISUAL BASIC .NET
252
Private Sub Almacenes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Try
conexion = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=C:\Users\licrg\Desktop\Mercados22082016\Mercados2016\Mercados
2016.accdb;Persist Security Info = False;")
conexion.Open()
Cargar_Combobox()
Catch ex As Exception
MsgBox("Se ha producido un error al querer conectarse con la base de datos",
vbExclamation, "Error")
Exit Sub
End Try
End Sub
253
Private Sub btnaltalm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnaltalm.Click
txtcifalm.Enabled = False
txtnomalm.Enabled = False
CBOXALMACEN.Enabled = True
CBOXALMACEN.Visible = True
254
Ejemplo en vb.net
¿Cómo programar un Botón para agregar registros a
una base de datos?
Creamos una base de datos llamada Ejemplo_censo con
una tabla llamada «personas_censadas».
EN ESTA
PANTALLA
COLOCAMOS
UN NOMBRE
AL
FORMULARIO
Y LUEGO
HACEMOS
CLICK EN
AGREGAR.
Diseñamos la interfaz del formulario…
265
(1)Vamos a Orígenes de datos y hacemos Click en el botón Nuevo origen de datos
(2)
(3)
(4)
En esta ventana, hacemos click en el
botón +
(5)
COPIAMOS LA CADENA DE
CONEXIÓN QUE SE MUESTRA EN
EL RECUADRO Y LUEGO PODEMOS
HACER CLICK EN CANCELAR.
PROGRAMAMOS EL BOTÓN GUARDAR:
Continúa…
BOTÓN GUARDAR:
CONTINUACIÓN…
FINALMENTE, PROGRAMAMOS EL BOTÓN VOLVER.
SI FUNCIONA CORRECTAMENTE,
DEBERÁ APARECERNOS ESTE
MENSAJE EN PANTALLA QUE INDICA
QUE NOS HEMOS CONECTADO A LA
BASE DE DATOS, TAL COMO LO
INDICAMOS AL PROGRAMAR EL
EVENTO LOAD DEL FORMULARIO.
A CONTINUACIÓN, SE MUESTRA EL FORMULARIO NUEVO REGISTRO.
LOS CAMPOS Y EL BOTÓN GUARDAR ESTÁN INICIALMENTE
DESACTIVADOS… HACEMOS CLICK EN EL BOTÓN NUEVO.
COMO VEMOS ACÁ, EL BOTÓN NUEVO QUEDA ACTIVADO AL IGUAL
QUE LOS CAMPOS PARA PERMITIR LA ESCRITURA… AL COMPLETAR
LA INFORMACIÓN CORRESPONDIENTE AL REGISTRO QUE ESTAMOS
LLENANDO, HACEMOS CLICK EN EL BOTÓN GUARDAR.
AL PRESIONAR EL BOTÓN GUARDAR, SI TODO FUNCIONA
CORRECTAMENTE, APARECERÁ UN MENSAJE EN PANTALLA
INDICANDO QUE EL REGISTRO HA SIDO GUARDADO TAL COMO
INDICAMOS ANTERIORMENTE. HACEMOS CLICK EN ACEPTAR…
CONTINÚA…
LA CONSULTA COMPLETA PARA ACTUALIZAR QUEDA ASÍ:
SI FUNCIONA CORRECTAMENTE,
DEBERÁ APARECERNOS ESTE MENSAJE
EN PANTALLA INDICANDO QUE LA
CONEXIÓN A LA BASE DE DATOS HA
SIDO EXITOSA, TAL COMO LO
INDICAMOS EN EL EVENTO LOAD DEL
FORMULARIO.
AL APARECER EL FORMULARIO ACTUALIZAR, INGRESAMOS LA
CÉDULA EN EL CAMPO CORRESPONDIENTE Y HACEMOS CLICK EN EL
BOTÓN BUSCAR.
SI EXISTE UN REGISTRO QUE CUMPLA CON EL CRITERIO DE
SELECCIÓN, SE CARGARÁ LA INFORMACIÓN DEL MISMO EN LOS
CAMPOS DEL FORMULARIO Y SE ACTIVARÁN LOS BOTONES
MODIFICAR Y ACTUALIZAR.
HACEMOS CLICK EN EL BOTÓN MODIFICAR PARA QUE SE ACTIVEN LOS
CAMPOS DEL FORMULARIO Y SE PERMITA ASÍ LA MODIFICACIÓN DE
LOS CAMPOS CORRESPONDIENTES AL REGISTRO ENCONTRADO.
HACEMOS LAS MODIFICACIONES NECESARIAS Y PRESIONAMOS EL
BOTÓN ACTUALIZAR.
PRESIONAMOS SI Y SE
MUESTRA UN MENSAJE EN
PANTALLA INFORMANDO QUE
EL REGISTRO HA SIDO
ELIMINADO.