miércoles, 10 de marzo de 2010

Control de Librerías

Librerias Biblos SA de CV
Una cadena de librerías quiere procesar la información sobre los libros que tiene en sus distintas sucursales. Para ello considera manejar 4 tablas:
Tabla LIBRO con los siguientes campos:
IDibro, Isbn, Titulo, Autor, Año de Publicación, Precio, Comentarios.
Tabla EDITORIAL con los siguientes campos:
IDeditorial, Editorial, Nombre del Contacto, Dirección, Ciudad, Teléfono, Email, Comentario
Tabla SUCURSAL con los siguientes campos:
IDsucursal, Sucursal, Nombre del encargado, Dirección, Ciudad, Teléfono, Email, Comentario
Tabla INVENTARIO con los siguientes campos:
IDinventario, IDLibro, IDSucursal, Existencia

Actividades:
1.- Crear Tablas y ajustar sus propiedades:
 Crear tabla LIBRO en vista de diseño.
 Crear tabla EDITORIAL empleando el asistente.
 Crear tabla SUCURSAL copiando la estructura de la tabla EDITORIAL y modificando los campos necesarios.
 Introducir datos manualmente a las tablas anteriores.
 Crear tabla INVENTARIO importándola de Excel.
 Agregar campo IDEditorial a la tabla LIBRO.
 Indexar con duplicados el campo Título en la tabla LIBRO.
 Hacer obligatorio (Requerido) el nombre del Encargado en la tabla SUCURSAL.
 Validar Año en la tabla LIBRO (debe ser >2005, mensaje de validación “Solo libros nuevos”)
 El campo Ciudad de la tabla SUCURSAL tomarlo de una lista desplegable
(México, Monterrey, Guadalajara, Nuevo Laredo)
 Agregue un campo OLE en tabla LIBRO y agregue a la tabla fotos de las portadas de los libros.

2.- Diagrama E-R, relaciones entre tablas en Access
 Dibujar diagrama entidad relación DER
 Establecer las relaciones necesarias entre las tablas
aplicar integridad referencial en los vínculos.

3.- Formularios
 Crear un formulario para la tabla LIBRO con el asistente.
 Crear un formulario para la tabla EDITORIAL empleando el asistente, modifique sus propiedades, color de fondo, tipo de letra, tamaño de letra, distribución de los elementos.
 Agregue una imagen (logotipo) al formulario EDITORIAL.
 Crear un formulario para la tabla SUCURSAL en vista de diseño

4.- Consultas
 Crear una consulta que nos proporcione los nombres del encargado y teléfono en una sucursal (Monterrey).
 Crear una consulta que nos muestre los libros anteriores a cierto año (menor que 2007)

5.- Informes
 Realizar un informe en el que aparezca la lista de libros de cada sucursal, ordenados por editorial


Vean el Power Point con las instrucciones generales aquí

Está muy básico, (es una adaptación de un ejemplo de un libro de la bibliografía que ya no se publica) pero les puede dar una idea del grado de complejidad del problema que manejarán en el próximo examen.

Anexo: Información del sistema
Tabla LIBRO Tabla EDITORIAL Tabla SUCURSAL Tabla INVENTARIO
Tablas de Excel
Bajar las tablas de Excel aquí

Los que desean ver ejemplos de bases de datos similares a las que van a desarrollar como proyecto, pueden hacerlo en la siguiente página con mas de 100 ejemplos de aplicaciones de Access (incluyendo los diagramas de relación). Está en inglés pero es fácil entenderlo para quien domine lo básico de ese idioma.

http://www.databaseanswers.org/data_models/

Posibles proyectos


TAREA.  Proyecto individual de una base de datos en ACCESS


El tema del proyecto individual de “bases de datos” es libre (pero deberá ser autorizado por el profesor para evitar repetición de temas, para ello deben enviar a la brevedad el tema propuesto al representante de grupo para que el me los notifique y yo les dé el visto bueno [o les proponga alternativamente otro tema]) .

En este enlace les proporciono algunos posibles proyectos.


Condiciones (de cualquier alternativa). Se tendrán que utilizar:


a. Cuatro tablas como mínimo.


b. Se ha de plantear qué campos contendrán las tablas así que haya una relación estrecha y lógica entre ellas. En la parte de la descripción de cada campo se debería comentar para qué sirve.


c. Para cada campo se considerarán las propiedades oportunas.


d. Entre estas tablas se establecerán como mínimo 3 relaciones.


e. Se sacarán por lo menos 4 consultas que tengan sentido en cuanto al significado de las tablas.


f. Los datos de las tablas se introducirán a base de un número igual de formularios, ya que normalmente es ésta la manera de introducir información. En este caso, el formulario corresponde a la interfaz entre el usuario y la base de datos.


g. Cada tabla contendrá al menos 15 registros.


h. Se pide realizar al menos 4 informes distintos a raíz de las consultas o / y las tablas disponibles.


i. Opcionalmente, imprimir los informes.



Modalidad de entrega. Se entregará vía email un archivo Access (* .mdb) y un documento en Word que documente la aplicación (así como las impresiones correspondientes). La fecha de entrega es la del siguiente examen parcial.



Facturación
Utilizando un catálogo de productos y un catálogo de clientes se capturan las facturas, las cuales son impresas y almacenadas en una tercera tabla. El sistema cuenta con una serie de reportes para conocer los importes y cantidades, facturados por periodo, por cliente o por producto.

Caja de cobros escolares
En una escuela, los padres pagan en parcialidades o pagan varios conceptos en cada ocasión con este archivo llevan el control de pagos. Se tiene una tabla de alumnos con número de cuenta y un catálogo de conceptos, además de la tabla principal que es la de Recibos en la que se captura el número de cuenta, el concepto e importe de cada pago. El sistema imprime estados de cuenta de cada alumno y el corte diario de caja y muchos reportes más.

Control de Activo Fijo.
El sistema conserva el registro de los activos de la empresa con fecha de adquisición y catalogados por tipo de activo, cuenta además con una tabla del INPC, de tal forma que dependiendo del tipo de activo, se calcula automáticamente el valor actualizado y depreciación, imprime el inventario y el inventario histórico. El sistema tiene además tabla de centros de costo para relacionar los activos con su correspondiente centro de costo.

Nomina
Se desea automatizar es una nómina de empleados donde, además de las informaciones típicas de nombre y número, participan informaciones asociadas referentes al departamento del empleado, su cargo y su salario. Estas informaciones constan en otras dos listas. Estas listas son naturalmente tabulares y su exacto contenido queda evidente a lo largo del texto.


Entradas y Salidas
Que permita llevar el control de entradas y salidas de caja de una empresa. También servirá para generar balances simples.

Chequera
Que permita controlar ingresos y egresos para varios proyectos y conocer la disponibilidad de efectivo.

Mantenimiento preventivo
Que permita programar oportunamente las labores de mantenimiento y la compra anticipada de las refacciones necesarias para ello.

Recursos Humanos
Que permita llevar un registro de empleados, salarios, puestos, departamentos en que laboran y los pagos que han recibido.



Gimnasio
Cree una base de datos que permita llevar un registro de usuarios de un gimnasio, que incluya el código de identificación de cada cliente, código de identificación, Actividad (Pesas, Karate, Tae Kwon Do, Aeróbics, etc.), Cuota (la cantidad que paga mensualmente) y Observaciones (por ejemplo si tiene algún problema medico, etc.). Agregue tablas para el control de rutinas asignadas y seguimiento de medidas corporales.

Control de asistencia
Cree una base de datos que permita registrar la asistencia diaria a una empresa y generar de ella la nomina semanal.

jueves, 4 de marzo de 2010

Consultas




Una vez que se han relacionado las tablas que integran una BD podemos crear consultas, que son elementos que reunen información de tablas distintas.

Una consulta es un método para acceder a los datos en las bases de datos. Con las consultas se puede modificar, borrar, mostrar y agregar datos en una base de datos.

Los filtros eliminan temporalmente de una tabla, aquellos datos que no son necesarios para realizar cierta tarea, por ejemplo para mostrar solo los clientes que tienen adeudos.

A diferencia con las consultas, nada que se haga mediante el uso de filtros es permanente; siempre se pueden restablecer todos los registros para ver el total de la información.

Introducción a las Consultas:       Práctica 16





Consultas de Totalización:













Otras Consultas:



lunes, 1 de marzo de 2010

Formularios







Para Access, un formulario no es más que un formato de pantalla que se utiliza para mejorar presentación de las tablas. 

Los formularios son la herramienta que proporciona Access para usar de manera amistosa y sencilla  las BDs que hemos creado.


Los formularios se pueden crear con facilidad empleando el Asistente para formularios. El asistente produce automáticamente un formulario sencillo solicitando una información mínima.


Una vez creado el formulario básico con el asistente, podremos modificarlo mediante la Vista Diseño.


Un Formulario esta compuesto por controles, tales como cajas de texto, botones, gráficos e incluso archivos multimedia. Los eventos son las acciones que se desencadenan al actuar sobre dichos controles.

En la práctica 15 trabajaremos con Formularios








Empleo de formularios con subformularios

Buscar, Ordenar y Filtrar










Estas operaciones son de las más simples, pero también de las más útiles en Bases de datos.

En la Práctica 14 vamos a realizar ejercicios con ellas.









A continuación estan los enlaces a algunas bases de datos de ejemplo:

Dulce

Neptuno

NorthWind

NorthWind 2007

Temas de Access







Los temas a cubrir en esta unidad son:

1) BASES DE DATOS

a) Abrir una base de datos existente

b) Partes de una base de datos (tablas, formas, consultas, reportes)

c) Vista normal, vista de diseño

d) En vista de diseño revisar las propiedades de cada campo

e) Obtener ayuda

f) Crear una base de datos con el Asistente

g) Crear una base de datos en blanco



2) TABLAS

a) Crear una tabla

b) Importar una tabla de Excel

c) Crear una tabla con el Asistente

d) Cambiar de nombre un campo

e) Reubicar campos

f) Agregar un campo

g) Borrar un campo

h) Cerrar una tabla

i) Abrir una tabla

j) Cambiar de nombre a una tabla



3) EDITAR TABLAS

a) Desplazarse a través de varios registros

b) Seleccionar datos

c) Dar Zoom a una celda (Shift F2)

d) Agregar un registro

e) Borrar un registro

f) Editar datos de un registro

g) Mover o copiar datos

h) Comprobar ortografía

i) Cambiar ancho de columnas

j) Cambiar altura de renglones

k) Cambiar tipo de Fuente

l) Cambiar la apariencia de una celda

m) Ocultar un campo

n) Congelar un campo



4) CAMPOS

a) Tipos de campos (texto, memo, número, auto numérico, fecha, Si/No, Objeto, Hipervínculo)

b) Mostrar las propiedades de un campo

c) Cambiar el tipo de datos

d) Elegir un formato

e) Agregar un letrero

f) Dar un valor por default

g) Requerir entrada de datos

h) Permitir hileras de longitud cero

i) Agregar una regla de validación

j) Crear un campo Si/No

k) Crear un índice

l) Crear un campo tipo lista (lookup column)

m) Agregar imágenes a un registro

n) Crear una máscara de entrada



5) ESTABLECER VÍNCULOS

a) Ajustar la llave primaria (campo clave)

b) Establecer una nueva relación

c) Obligar integridad referencial

d) Borrar un vínculo



6) CREAR FORMAS

a) Crear una forma a partir de una tabla

b) Cambiar la vista de una forma

c) Moverse a través de varios registros

d) Agregar un registro

e) Borrar un registro

f) Editar datos

g) Cambiar de nombre a una forma

h) Descartar una forma



7) DISEÑO DE FORMAS

a) Mover un control

b) Cambiarlo de tamaño

c) Borrar un control

d) Agregar un campo

e) Cambiar el formato de un campo

f) Agregar una imagen

g) Cambiar texto de etiquetas

h) Cambiar el tamaño de la forma

i) Utilizar Autoformato



8) MANEJAR DATOS

a) Encontrar datos

b) Reemplazar datos

c) Ordenar datos

d) Filtrar por selección

e) Filtrar por exclusión

f) Filtrar por forma



9) CONSULTAS

g) Crear una consulta simple

h) Ordenar registros

i) Establecer criterios

j) Borrar un campo

k) Ocultar un campo

l) Agregar un campo

m) Reubicar campos

n) Cambiar de nombre a una consulta

o) Descartar una consulta

p) Crear una consulta con el Asistente



10) CONSULTAS AVANZADAS

a) Trabajar con tablas múltiples

b) Desplegar valores extremos

c) Efectuar cálculos

d) Cambiar formato de un campo calculado

e) Obtener totales

f) Emplear parámetros

g) Cambiar tipos de unión

h) Usar criterios múltiples

i) Resumir dato

j) Encontrar registros no igualados (unmatched)



11) REPORTES

a) Crear un reporte

b) Cambiar la vista de un reporte

c) Cambiar de nombre a un reporte

d) Borrar un reporte

e) Crear un reporte con el Asistente



12) IMPRESIÓN

a) Vista preliminar

b) Ajuste de página

c) Imprimir información

d) Imprimir etiquetas postales



13) IMPORTAR Y EXPORTAR INFORMACIÓN



14) RELACIONAR ACCESS CON WORD Y EXCEL



15) ACCESS E INTERNET

Relaciones


Para diseñar una base de datos lo primero que se requiere es identificar cual es la información que necesitan conocer los usuarios de la misma. Esto se obtiene de la especificación de los requerimientos de parte del usuario.


El siguiente paso es traducir estos requerimientos en un esquema conceptual de la base de datos. Se emplea el diagrama entidad-relación para representarlo gráficamente.

El diagrama entidad-relación se basa en "una percepción del mundo real que consiste en una colección de objetos básicos llamados entidades y relaciones entre estos objetos"
El diagrama entidad-relación es el modelo más ampliamente usado para el diseño conceptual de bases de datos y fue introducido por Peter Chen en 1976.


Conceptos básicos:


"Una ENTIDAD es un objeto que se distingue de otros objetos por medio de un conjunto específico de atributos". Por ejemplo algunas entidades pueden ser: Alumno, Empleado, Artículo, etc.


Un juego de entidades es un conjunto de entidades del mismo tipo que comparten las mismas propiedades o atributos. Ejemplo: La totalidad de los alumnos de una escuela.


ATRIBUTOS. Representan las propiedades básicas de las entidades. Cada entidad tiene un juego de atributos cuyos valores le identifican en forma única. La entidad "Alumno" podría tener los atributos: nombre, apellido, año de nacimiento, etc.


TIPOS DE ATRIBUTOS


SIMPLES: son aquellos que no se han dividido en subpartes. (Por ejemplo del numero de control de un alumno)


COMPUESTOS: son los que pueden dividirse en otros atributos, por ejemplo el atributo nombre, puede dividirse en nombre, apellido materno y apellido paterno.


MONOVALUADO (de un solo valor) Por ejemplo el atributo sexo es único.


MULTIVALOR: Por ejemplo un alumno puede tener cero o más números telefónicos.


DERIVADO: el valor de este tipo de atributo es obtenido a partir de los valores de otro. Por ejemplo la edad se deriva de la fecha de nacimiento (en relación con la fecha actual).


Una RELACIÓN es una asociación entre diferentes entidades. Por ejemplo un alumno con calificación (de una cierta materia).



La cardinalidad expresa el número de entidades a las que se puede asociar otra entidad a través de un conjunto de relaciones. (derivado de Cardinal : que expresa un número)


Tipos de relaciones (Cardinalidad )
  • Uno a uno



Una entidad en A esta asociada con una entidad en B y viceversa (por ejemplo el nombre del alumno con su número de control, o un aparato y su número de serie.)
  • Uno a muchos (ó muchos a uno )




Una entidad en C esta asociada con 0 ó más entidades en D. (por ejemplo "Un profesor puede impartir varias clases. Pero una clase solo la imparte un profesor". Otro ejemplo "Una madre puede tener cualquier número de hijos, pero cada hijo pertenece a una sola madre").
  • Muchos a muchos


Una entidad en E esta asociada con cualquier número de entidades en F (0 ó más) y viceversa. Por ejemplo "en un proyecto de investigación puede haber cualquier número de investigadores, un investigador puede participar en cero o varias investigaciones".
En el diseño de una base de datos no se permiten relaciones directas “muchos a muchos”. Se tiene que añadir una tabla entre las dos, que sirva de enlace y evite que las dos tablas queden relacionadas directamente.

Para mayor información lea los siguientes apuntes: Modelo Entidad Relación de Guillermo Storti et al.
Podemos accesar en Internet a más de 500 modelos entidad relación de bases de datos, aunque estan en inglés son facilmente entendibles por tratarse de diagramas.
El creador de todos estos modelos de base de datos es un especialista que ha creado las bases de datos de múltiples empresas en los EE.UU. y Europa, quien cita: "el diseño de estos modelos de datos me da la oportunidad de devolver algo a la comunidad de base de datos que me ha proporcionado una buena forma de vida durante más de 15 años"

Al establecer relaciones, es usual definir cuales campos son los más importantes.
CLAVE o LLAVE PRIMARIA Es el atributo que se usa para diferenciar una entidad de otra, por ejemplo un alumno de otro (en este caso la llave primaria es el numero de control).
  • Cada tabla (juego de entidades) debe tener una llave primaria.
  • La llave primaria debe ser única y no cambiar con el tiempo.

Una vez definida la clave principal, se puede utilizar en otras tablas para hacer referencia a la tabla que contiene la clave principal. Por ejemplo, un campo ID_alumno de la tabla Alumnos podría aparecer también en la tabla Matemáticas. En la tabla Alumnos es la clave principal y en la tabla Matemáticas es una clave externa o foránea. (Una clave externa, en otras palabras, es la clave principal de otra tabla).
La integridad referencial es un sistema de reglas que utiliza la base de datos para garantizar que las relaciones entre los registros de tablas relacionadas son válidas y que no se eliminen ni modifiquen accidentalmente datos relacionados.
Usualmente se maneja con dos opciones:
Cuando la casilla de verificación Actualizar en cascada los campos relacionados está activada, el cambio de un valor de clave principal en la tabla principal actualiza automáticamente el valor coincidente en todos los registros relacionados.
Cuando la casilla de verificación Eliminar en cascada los registros relacionados está activada, la eliminación de un registro en la tabla principal elimina todos los registros relacionados en la tabla relacionada.


Como Crear una Base de Datos Sencilla: