Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial...

28
Tutorial de MS Access Un sistema de Bases de Datos Relacional Profesores: Hugo Mora, Ignacio Casas ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Transcript of Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial...

Page 1: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial de MS AccessUn sistema de Bases de Datos Relacional

Profesores: Hugo Mora, Ignacio Casas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Page 2: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

¿Qué es una Base de Datos?

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Una Base de Datos es un conjunto de datos que pertenecen al mismo contexto almacenados sistemáticamente para su posterior uso (definición de Wikipedia).

Ejemplos de Bases de Datos: una biblioteca; clientes, ventas y productos de una empresa; en una Universidad los nombres de los profesores y cursos que dictan, el nombre de los alumnos, sus cursos y sus notas, el nombre de sus funcionarios, sus direcciones y su sueldo mensual.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

¿Qué es un Gestor de Bases de Datos?

Un Gestor de Bases de Datos es un programa que permite: Introducir, Almacenar y Recuperar Datos para trabajar con ellos.

Ejemplos de sistemas de gestión de bases de datos comunes: SQL Server, Oracle, Access.

Page 3: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Tabla

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Un gestor de bases de datos almacena la información en forma de tablas.Cada fila de la tabla entrega la información relacionada con un elemento de un

conjunto, a la información de la fila se le denomina registro.Cada una de las partes en las que se ha desglosado la información de un registro se

denomina un campo.

Registro

Campo

Tabla

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 4: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Tipos de Bases de Datos

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Las Bases de Datos Planas contienen toda la información necesaria en una sola tabla.

Es ineficiente ya que crea datos repetidos muchas veces, por lo que aumenta el tamaño de la base de datos innecesariamente y se pueden producir inconsistencias en los datos que se encuentran en distintos registros de la tabla (ver marcos en rojo).

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 5: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Tipos de Bases de Datos

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Las Bases de Datos Relacionales contienen la información separada en distintas tablas de forma ordenada y eficiente.

Cada tabla se refiere a los elementos de otra tabla mediante relaciones en ciertos campos en ambas tablas.

Se separa la información de los cursos de la información de los profesores de forma eficiente.

Las tablas se relacionan mediante el campo IdProfesor.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Relación

Page 6: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Interfaz de Access

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Objetos

Barra deHerramientas

Menú

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 7: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Crear una Base de Datos en Access

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

La tabla es el elemento básico de una base de datos. Cada base de datos debe contener al menos una tabla.

Para crear una nueva base de datos en Access seleccionar Archivo Nuevo y seleccionar Base de Datos en Blanco del panel que aparece a la derecha.

Se le da un nombre al archivo que se quiere crear, que va a tener una extensión .mdb.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 8: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Crear una Tabla

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Para crear una nueva tabla se pueden escoger tres opciones en el Tab de objetos Tablas: Crear en vista Diseño, utilizando el asistente o introduciendo datos, como se muestra en el cuadro rojo.

También se puede seleccionar una tabla de la base de datos y utilizar la barra de herramientas marcada en verde para abrirla, verla en modo de diseño o eliminarla (con la X).

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 9: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Tabla en Modo de Diseño

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

En el Modo de Diseño se crean los campos que va a contener la tabla, el nombre del campo, el tipo de datos (Texto, Numérico, Autonumérico, Fecha/Hora, Si/No, etc.), y una descripción del campo.

Cada tabla debe tener una Clave Principal o Clave Primaria, que es uno o más campos que identifican cada registro de manera única (en este ejemplo se creó un código del curso).

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 10: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Tabla en Vista Hoja de Datos

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

En Vista Hoja de Datos se pueden ingresar los datos de los registros particulares que conformarán la tabla.

También es posible ordenar los datos de acuerdo al valor de cierto campo, filtrarlos en base a ciertos criterios, e insertar y eliminar registros de la tabla usando las herramientas marcadas en rojo.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 11: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Relacionar las Tablas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

En el menú Herramientas Relaciones es posible relacionar las tablas para formar una base de datos relacional.

Primero se deben agregar las tablas a relacionar para que aparezcan en el diagrama. Acá se seleccionaron las tablas de Profesores y Cursos.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 12: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Relacionar las Tablas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Para crear una relación entre dos tablas se debe seleccionar el código que se repite en ambas tablas (en este caso la clave primaria de Profesores se utiliza en la tabla de Cursos, donde se le llama clave foránea).

Una vez que se ha creado una relación, ésta se muestra gráficamente entre las dos tablas como se muestra en la figura.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 13: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Consultas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Una Consulta es una solicitud de información a la Base de Datos. Los datos mostrados pueden proceder de una tabla o de un conjunto de ellas.

Para crear una Consulta se debe ir al Tab Consultas y seleccionar crear una consulta en vista Diseño o utilizando el asistente.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 14: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Consulta en Modo de Diseño

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Se pueden crear las consultas en Modo de Diseño, lo que permite ver los campos de las tablas y seleccionarlos directamente en el orden que se desee.

Al seleccionar datos de distintas tablas, Access respeta las relaciones existentes entre ellas al momento de mostrar los datos.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 15: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Consulta en Vista Hoja de Datos

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Se puede seleccionar Vista Hoja de Datos para ver los datos que entrega la consulta. En este ejemplo se pueden ver los datos de los cursos Cursos y el Apellido del Profesor, que se encuentran en distintas tablas que se relacionan a través de IdProfesor.

Se pueden guardar las consultas para poder utilizarlas posteriormente.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 16: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Filtrar usando Consultas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Es posible filtrar los datos mostrados en una consulta seleccionando sólo aquellos registros que cumplan con algún criterio en particular y ordenar los datos de la consulta en uno o varios campos.

Por ejemplo, se pueden seleccionar sólo aquellos cursos que sean dictados por los profesores de Apellido ‘Prieto’ o ‘Bernales’ y se puede ordenar ascendentemente de acuerdo al nombre de los cursos.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 17: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Consulta en Vista SQL

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Las consultas poseen un lenguaje propio, llamado Lenguaje SQL, que es un estándar usado por todos los sistemas gestores de bases de datos.

Es posible ver la consulta en lenguaje SQL creada por la consulta que hicimos en vista de diseño seleccionando Vista SQL.

Algunos Comandos del lenguaje SQL:SELECT: Seleccionar tales Campos.FROM: De tales Tablas (INNER JOIN sirve para unir tablas relacionadas).WHERE: Cuando se quiere cumplir algún criterio en los datos.ORDER BY: Ordena un campo en orden ascendente (ASC) o descendiente (DESC).

Nota: Para aprender más del lenguaje SQL , su sintaxis y otros comandos ir a http://www.w3schools.com/sql/default.asp

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 18: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Tutorial Access

Formularios

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

La introducción de los datos directamente en las tablas puede ser incómoda y provocar errores. Los Formularios permiten la entrada de los datos en las tablas de una forma más intuitiva y elegante.

Crear un formulario usando el Asistente:

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Ingresar la tabla y los campos Ingresar el tipo de formulario Elegir el formato Poner el nombre

Page 19: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Proyecto Gasolinas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

El ejemplo Gasolinas es un sistema de apoyo a la toma de decisiones para saber qué mezcla de crudo (existen 3 tipos de crudo) es óptima para fabricar 3 tipos de gasolina de distintas calidades que se comercializan a distintos precios en el mercado de manera de maximizar la utilidad de la empresa.

El modelo a optimizar se define en la hoja Modelo y se puede ver en el Solver de Excel.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 20: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Proyecto Gasolinas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Modelo Gasolinas

Celdas Variables: La mezcla óptima de los distintos tipos de crudo a utilizar en cada una de las gasolinas.

Objetivo: Se debe encontrar la mezcla óptima de crudos que maximice la Utilidad (ingresos menos egresos de la empresa) y que satisfaga todas las restricciones del modelo.

Restricciones del Modelo:1. El crudo comprado no puede ser más que el crudo total

disponible para comprar.2. No se puede producir más que la demanda máxima.3. Se requiere un mínimo de Octanaje para cada gasolina.4. El total producido no puede sobrepasar la capacidad

máxima de producción de la planta.5. Existe una cantidad máxima de sulfuro permitido para

cada tipo de gasolina.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 21: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Proyecto Gasolinas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

En la hoja Modelo se pueden ingresar los datos mediante formularios apretando el botón que dice Ingresar Datos.

Aparece un primer formulario que pregunta qué datos quiere ingresar el usuario manualmente.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 22: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Proyecto Gasolinas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Si se presiona OK se muestra el primer formulario de ingreso de datos. Este formulario ingresa los datos en las celdas correspondientes en la hoja Modelo.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 23: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Proyecto Gasolinas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Si se presiona OK nuevamente se muestra el segundo formulario de ingreso de datos, que ingresa los datos de cantidades de octanaje y sulfuro que contiene cada crudo y los requisitos de cada tipo de gasolina.

Este formulario primero lee lo que hay en la hoja Modelo en las celdas correspondientes y las escribe en el formulario. Al hacer click en OK introduce los valores de los TextBoxes en las celdas correspondientes.

Ejercicio: Estudiar el código de los formularios vistos.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 24: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Proyecto Gasolinas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Luego, el formulario anterior llama a otro formulario que muestra la utilidad máxima obtenida con los nuevos datos y la nueva mezclaóptima se muestra en la hoja Modelo

Tarea: Agregar el formulario que permita agregar las demandas de cada gasolina, el máximo disponible de cada crudo y la capacidad máxima a la hoja Modelo cuando se presiona el botón Ingresar Datos.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 25: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Proyecto Gasolinas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

En la hoja ModeloCiudad se permite seleccionar una ciudad para cargar los datos de los crudos y gasolinas correspondientes a ella y optimizar la utilidad en base a esos parámetros.

En estos momentos al cambiar la ciudad en el ComboBox sólo se actualizan los datos de los precios de los crudos.

Tarea: Estudiar el funcionamiento de los objetos y eventos en esta hoja viendo su código y complete las tareas que se piden en las hojas del archivo Gasolinas.xls.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 26: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Proyecto Gasolinas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Para que funcione el Solver es necesario tener el archivo Solver.xla como Referenciadel proyecto VBA.

Para referenciar el Solver debe ir a Herramientas Referencias en el IDE de VBA y buscar la referencia al Solver.

Si no aparece en la lista, buscar el archivo Solver.xla en su computador y agregarlo como referencia (la dirección del archivo puede ser similar a la que aparece en la parte inferior de la imagen).

Agregue una referencia a Microsoft ActiveX Data Objects 2.0 Library si no la tiene para poder conectarse a la base de datos Gasolinas.mdb

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 27: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Proyecto Gasolinas

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

La hoja DatosCrudo se conecta a la base de datos Gasolinas.mdb de Access para obtener los datos del crudo.

Para obtener los datos se utiliza el código del evento Click del botón CommandButton1 (el que dice ingresar datos)

Tarea: Estudiar el funcionamiento de este código y crear uno similar que obtenga los datos desde la tabla DatosGasolina de Gasolinas.mdb para colocarlos en la hoja DatosGasolina.

IntroducciónExcel

Visual Basic de AplicacionesAccess

Proyecto

Page 28: Tutorial de MS Access Un sistema de Bases de Datos ...thc.ing.puc.cl/thc/Portals/0/Taller 8/Tutorial de MS Access.pdf · Tutorial Access Tabla ICC2100 Taller de Herramientas Computacionales

Links

ICC2100 Taller de Herramientas Computacionales para Ingeniería Módulo de Ingeniería Industrial y de Sistemas

Pueden ver videos tutoriales en www.datapigtechnologies.com.

Pueden ver ejemplos de código VBA en http://www.vba-programmer.com/.

Pueden ver la página del curso para encontrar más manuales.