jueves, 27 de febrero de 2014

Biblioteca



Vamos a construir la base de datos de ejemplo (Biblioteca) a partir de las siguientes tablas de Excel:



El modelo E-R resultante es:


Vea cuales campos se utilizaron como claves principales en las diferentes tablas, e intente analizar porque se tomaron esos campos y no otros.

La integridad referencial es un sistema de reglas que utiliza Microsoft Access para garantizar que las relaciones entre los registros de tablas relacionadas son válidas y que no se eliminan ni modifican accidentalmente datos relacionados. En esta base de datos se utilizó integridad referencial en las relaciones (observe en la figura que esta claramente marcada la integridad referencial).

Por comodidad todos los campos numéricos se definieron como entero largo (Access por default los asigna como reales de precisión doble [DOUBLE]), por lo que es conveniente cambiarlos a entero largo antes de vincular las tablas.

A todos los campos tipo texto Access por default les asigna un largo de 255 caracteres. Reduzca ese largo a un valor mas real, por ejemplo los campos referentes a nombre y apellidos ajústelos a 15 caracteres.
Anote la descripción de todos aquellos campos que pudieran prestarse a confusión si no establece claramente esta propiedad.

Después de construir las relaciones entre tablas, al examinar cada tabla y su subhoja de datos (en caso necesario modificar cual subhoja se despliega), podemos encontrar respuesta a algunas de las preguntas planteadas inicialmente.

La figura muestra como insertar una sub hoja de datos a la tabla Usuarios, que muestre información de la tabla Prestamos.

Debemos realizar esta acción si Access no la realiza automáticamente, o si inserta otra sub hoja de datos que no nos interese tanto.


Al ver la sub hoja de datos de la  tabla Usuarios podemos ver si cierto  usuario debe libros. 

Al ver la sub hoja de datos de la  tabla Temas podemos ver que libros  hay de cierto Tema. 

Si vemos la tabla Prestamos y  filtramos por una celda en blanco en  el campo Devuelto, podemos saber que  usuarios deben libros y desde cuándo.  
Al ver la sub hoja de datos de la  tabla Libros podemos ver si existen varios ejemplares de un cierto libro. 
Al ver la sub hoja de datos de la  tabla Ejemplares podemos ver a  quienes se les ha prestado cada ejemplar y las fechas de préstamo y  devolución. 
Al ver la sub hoja de datos de la  tabla Autores podemos ver si hay  varios uno o varios libros de un  autor.

Queremos saber si existe en biblioteca cierto libro del que conocemos su ISBN (Elías Lara Flores isbn 9786071712356 CONTABILIDAD PRIMER CURSO). Para ello en la tabla Libros, introducimos el ISBN en el recuadro de Búsqueda (Search) de la parte inferior. 
Nota. Para realizar este ejercicio agregue los datos reales de varios libros y verifique que puede localizarlos.

De igual manera podemos buscar por el nombre del libro usando el recuadro de búsqueda.
Algunas otras de las preguntas podemos responderlas creando consultas simples. Pruebe con algunas consultas simples y elabore algunos formularios simples, que tomen datos de varias tablas.
Pero de momento podemos concentrarnos en ajustar algunas de las propiedades de las tablas, que es un tema con el que los alumnos usualmente batallan en los exámenes; como fue el caso del primer examen. 
Realicen lo siguiente:
En la tabla Usuarios hacer que el valor de Nombre1 y apellido Paterno sean requeridos.
Que apellido Paterno sea Indexado. (Para facilitar la búsqueda en listas muy largas)
Que el valor predeterminado de Ciudad sea Nuevo Laredo.
Que el campo Sancionado sea del tipo Si/No  y aparezca como casilla de Verificación.
Que la Fecha de nacimiento sea tal que la edad del usuario no sea menor de 17 años.
Que la máscara de entrada de Fecha de nacimiento sea 99/99/99 (para facilitar la introducción de fechas).
Que el formato de la Fecha de Nacimiento muestre tan solo el mes y año (ejem. enero 1992)
Que apellido Paterno se muestre en mayúsculas.
Que apellido Materno se muestre en minúsculas.
En Nombre1 utilizar la siguiente máscara de entrada >L<??????????????
Vea que ocurre cuando introduce un nombre todo en Mayúsculas o todo en Minúsculas.
En el campo Teléfono modificar las propiedades para que guarde telefonos incluyendo el código de área
Agregar en la tabla Usuarios un campo que guarde la foto del usuario.
Agregar en la tabla Usuarios un campo tipo lista con las diversas carreras de esta escuela
Agregar en la tabla Usuarios un campo que permita guardar comentarios extensos.
Agregar en la tabla Usuarios un campo llamado Documentos con un tipo de datos llamado Datos Adjuntos o Datos Anexos.[El tipo de datos Datos Adjuntos se utiliza para agregar a la base de datos un documento de Office (Word, Excel, Power Point, etc.).]`. Pruebe su  utilización agregando en un registro u documento de Word, en otro uno de Excel. en otro una presentación de Power Point, etc.
Manejar el e_mail como hipervínculo.
Mostrar en la tabla el número de teléfono separado con guiones (por ejemplo 7141516 mostrarlo como 7-14-15-16).
Hacer que IDusuario sea autonumérico.
En la tabla Libros, agregar un campo denominado Precio, con el precio del libro, mismo que se cobraría a un usuario en caso de extraviar el ejemplar que se le prestó. El formato de Precio debe ser moneda, y debe mostrar el símbolo de pesos y el valor con dos decimales.
Al igual que en Excel también podemos aplicar formatos personalizados, en el campo Precio prueba con el siguiente formato   $#.##[Verde];($0.00)[Rojo];"Cero";"Nulo"  para valores positivos, cero y negativos.
El precio del libro debe ser siempre positivo y mayor a $50. Agregar una regla de validación y un texto de validación.
En la tabla Libros el ISBN consta exactamente de 10 dígitos, agegar una regla de validación y un texto de validación  para reducir errores.
En la tabla Prestamos, queremos validar la fecha del prestamo (y la de devolución al año actual) >=#1/1/2014# Y <#1/1/2015# y mostrar un mensaje alusivo en caso de que el usuario se equivoque.
En la tabla Libros, en el campo ISBN pruebe la siguiente Máscara de entrada ISBN 0-&&&&&&&&&-0 e introduzca un registro con los datos de un libro real. 
Nota. A partir del 2007 el ISBN es de 13 caracteres.
En la tabla Ejemplares agregar un campo que indique en que estado se encuentra el libro (Impecable, Bueno, Maltratado), empleando una lista desplegable.
 Base de Datos Biblioteca

Aunque los temas referentes a Consultas, Formularios e Informes solo los hemos visto de una manera muy somera (corresponden a las siguientes prácticas), fácilmente podríamos utilizarlos para extraer más información de la base de datos y mejor presentada.
Para mostrar Autores y Libros, realizamos una consulta simple que muestre datos de ambas tablas
Para mostrar Libros por Editorial, realizamos una consulta simple

Para mostrar Libros por Tema, realizamos una consulta simple

Para saber que libros se les prestaron a cada usuario manejamos una consulta que muestre información de las tablas Usuarios, Prestamos, Ejemplares y Libros.
Empleando consultas podemos buscar que usuarios deben libros

Por ejemplo para conocer el número de ejemplares en una misma consulta agrupamos las tablas Libros y Ejemplares y le indicamos a la consulta contar ejemplares


Similarmente podemos contar el numero de ejemplares por tema

Podemos también contar el numero de ejemplares prestados a cada usuario

Para conocer los Libros y sus Autores, construimos un Formulario con Subformulario a partir de la consulta respectiva.
Para conocer los libros que se le han prestado a un usuario, creamos un formulario a partir de la consulta de usuarios y préstamos (con un subformulario que muestre que ejemplares le han prestado).

Tarea Control de Biblioteca Escolar





Las fases de diseño de una base de datos son: 
  • Análisis de requisitos
  • Diseño conceptual
  • Diseño lógico
  • Diseño físico
  • Implementación
  • Carga
  • Prueba y ajuste
  • Documentación
 En esta primera parte del curso nos estamos enfocando en los primeros tres puntos.
Para reponer un poco el tiempo perdido y avanzar en la materia, trabajaremos en nuestras casas con el análisis de una base de datos para la biblioteca escolar.

En el desarrollo de la base de datos para control de libros de una Biblioteca escolar, se requiere realizar lo siguiente:
  • Hacer el análisis y el diseño manual de la base de datos para el control de la biblioteca ,
  • Elaborar el modelo relacional ,
  • El diseño de las respectivas tablas,
  • El diseño de los formularios,
  • El diseño de las consultas,
  • El diseño de los informes que se necesiten. 
ACTIVIDAD 1: A partir del siguiente enunciado, diseñar el modelo entidad-relación.


En la biblioteca de nuestra escuela se requiere una base de datos que permita llevar un control sistematizado de los libros en existencia. De cada libro se guarda el código del libro (IDlibro) , título, ISBN, editorial, número de páginas, etc. De cada autor se tiene el código identificador de autor (IDautor), el nombre y nacionalidad. Un autor puede escribir varios libros, y un libro puede ser escrito por varios autores. De un mismo libro pueden existir varios ejemplares en la biblioteca. Cada ejemplar tiene un código y una localización (las estanterías de la biblioteca tienen un lugar asignado dentro de la biblioteca y un número que las identifica). Un libro tiene muchos ejemplares y un ejemplar pertenece sólo a un libro.

Los usuarios de la biblioteca del centro también disponen de una credencial que les identifica en la biblioteca con la que pueden sacar en préstamo ejemplares de diversos libros. De cada usuario se guarda el código (IDusuario), nombre, dirección, teléfono, etc. Los ejemplares son prestados a los usuarios que lo requieren. Un usuario puede recibir prestados varios ejemplares. De cada préstamo se guarda la fecha de préstamo y la fecha de devolución.

Elaborar el modelo relacional. Diseñar las tablas en Access requeridas, realizar las relaciones oportunas entre tablas e insertar al menos diez registros en cada una de las tablas.

----------------------
ACTIVIDAD 2:

Proponga las consultas usuales que realizaría un usuario de la base de datos de la biblioteca escolar.

Por ejemplo:

¿Existe en la biblioteca el libro …?    [por ejemplo: Primer Curso De Contabilidad, de Elías Lara Flores]

¿De dicho libro, cuántos ejemplares tienen en existencia?

¿Está disponible?

¿En qué anaquel lo encuentro?

¿Cuál es su fecha de publicación? [o bien ¿Cuál es la edición disponible?]

¿Qué otros libros tienen del mismo autor?

¿Qué libros ha solicitado un usuario (en qué fecha los recibió y en qué fecha los devolvió)?

¿Debe libros un usuario?

Mostrar los libros prestados y no devueltos, indicando el número de días transcurridos en orden decreciente
----------

ACTIVIDAD 3: Crear la base de datos requerida, con sus tablas y relaciones. Verificar si la estructura propuesta puede dar respuesta satisfactoria a las preguntas requeridas.


[Si no es así debemos modificar la base de datos (agregar o eliminar tablas y campos, cambiar algunos tipos de datos, modificar relaciones, etc.)]

Para esta actividad, por ejemplo realice lo siguiente:

Cree una base de datos en Access con el nombre de Biblioteca. Cree en ella la siguiente tabla con el nombre USUARIOS. La clave principal debe ser el campo que guarda el número de usuario (IDusuario). Esta tabla debe estar formada por los siguientes campos.


CampoTipoTamañoFormatoRequeridoOtras
IDusuarioAuto numérico
Nombre1Texto10Si
Nombre2Texto10
PaternoTexto10Si
MaternoTexto10
DirecciónTexto40Si
ColoniaTexto20Si
CiudadTexto20SiValor predeterminado: 
Nuevo Laredo
Código postalTexto5SiMascara de entrada
00 000
TeléfonoTexto10Mascara de entrada
(000) 00-00-000
CelularTexto
E_mailTexto
Fecha de NacimientoFechaFecha cortaSi
SancionadoSi/NoSi

Cree una nueva tabla con el nombre AUTORES con la siguiente estructura. La clave principal debe ser el campo código de autor.



CampoTipoTamañoFormatoRequeridoOtras
IDautorAuto numérico
Nombre1Texto10Si
Nombre2Texto10
PaternoTexto10
MaternoTexto10
NacionalidadTexto20

Cree una nueva tabla con el nombre LIBROS con la siguiente estructura. La clave principal debe ser el campo “IDlibro”.

CampoTipoTamañoFormatoRequeridoOtras
IDlibroAuto numérico
ISBNTexto10SiFormato        00-000-0000-0
IDTemanumeroentero
TituloTexto50Si
EditorialTexto20Mayúsculas
IdiomaTexto15SiValor predeterminado:Español
IDautorTexto20Si
PáginasNuméricoenteroSiRegla de validación: entre 1 y 2000
ComentarioMemo

Cree una nueva tabla llamada TEMAS que contenga los diversos temas de los libros.



CampoTipoTamañoFormatoRequeridoOtras
IDtemaAuto numérico
TemaTexto20SiDescripción: Tema del libro

Cree una nueva tabla llamada PRÉSTAMOS que deberá tener la siguiente estructura. La clave primaria es IDprestamo.


CampoTipoTamañoFormatoRequeridoOtras
IDprestamoAuto numéricoEntero largoSi
IDlibroEntero largoSi
IDusuarioEntero largoSi
PrestadoFechaFecha cortaFecha cortaSi
DevueltoFechaFecha cortaFecha cortaSi

Abra la base de datos Biblioteca y cree las siguientes relaciones entre las diversas tablas, marcando las opciones de “Exigir integridad referencial”, “Actualizar registros en cascada” y “Eliminar en cascada los registros relacionados”.

Introduzca después 10 registros en cada una de las tablas. Para crear la tabla LIBROS utilice las referencias bibliográficas de las materias que estudia en el actual ciclo escolar.

Al introducir los datos de la tabla Libros, nos damos cuenta que hay libros con varios autores y la estructura propuesta solo permite registrar a un autor.

¿Qué ocurre si hay varios autores de un mismo libro? ¿Cómo podríamos buscar los libros de cierto autor en tal caso?

La relación 1 a 1 de Temas y Libros se puede hacer al relacionar el campo IDTema de ambas tablas, pero para relacionar un libro con varios autores (relación 1 a muchos), necesitamos una tabla adicional que se llame por ejemplo "AutoresPorLibro" y que tenga los siguientes campos:



CampoTipoTamañoFormatoRequeridoOtras
IDlibroNúmero enteroSi
IDautorNúmero enteroSi

Luego relacionamos IDLibro con la tabla de Libros, y eso permitirá almacenar varios autores por cada libro.

Para poder visualizar los autores de cada libro, tenemos que crear un formulario principal que muestre los libros. Luego debemos hacer un subformulario que muestre autores por libro y agregarlo dentro del formulario principal de libros. De esa forma, al ver un libro veremos a todos sus autores relacionados

Otro error que podemos visualizar es que puede haber varios ejemplares de un mismo libro, por lo que requerimos otra tabla llamada Ejemplares.

CampoTipoTamañoFormatoRequeridoOtras
IDejemplarNúmero enteroSi
IDlibroNúmero enteroSi
UbicaciónTexto20SiDescripción:¿Dónde está localizado físicamente el ejemplar?

El siguiente libro de Excel trae una propuesta de tablas de ejemplo, para empezar a trabajar con esta base de datos. Faltan algunos campos como son fecha de publicación y edición que ustedes pueden adicionar posteriormente. La lista de usuarios corresponde a alumnos de la materia y en ella dirección, teléfono, celular, e_mail, etc. son datos ficticios. Agreguen a la lista los datos de ustedes como nuevos usuarios.

miércoles, 26 de febrero de 2014

Agenda Telefónica





Crear Agenda Telefónica (iníciela con los datos de sus compañeros de grupo), a partir de una base de datos en blanco, creando la tabla en vista de diseño y especificando para cada campo lo siguiente:   

Tipo de dato, (Nombre1 y Apellido Paterno Requeridos)
Propiedades [Longitud, Valor predeterminado (Nuevo Laredo) para el campo Ciudad, 
Regla y Texto de Validación en el campo Sexo         Introducir letra “H” o “M”
en el campo Código Postal     Como "00000"       Debe tener cinco dígitos

En el campo Edad  >17  Y < 30            debe ser mayor que 17 y menor que 30


Mascaras de entrada  00000 para el código postal, \(###\) ###-##-## para el número telefónico]. 
Utilice el asistente para mascaras de entrada oprimiendo el botón con tres puntos que aparece al situarnos en la casilla de la propiedad Mascara de Entrada.         
     "01 ("000\)000\-00\-00         número telefónico 
  
Incluya un campo para la Foto (Objeto OLE), un campo tipo lista para el Estado_Civil (soltero, casado, divorciado, viudo), un campo Si/No para saber si es becado, y un campo tipo Memo para guardar comentarios. Un campo para Tratamiento (Sr. Sra. Srita. Lic. Dr. Ing. ...)
     
Paterno
Materno
Nombre1
Nombre2
email
Antonio
Cruz
Veronica
veroniika_antonio@hotmail.com
Chavez
Garcia
Maria
Isabel
roma_padilla@hotmail.com
Diaz
Cardenas
Martin
Alexis
martiin_alexiis@live.com.mx
Espinosa
Martinez
Laura
Elena
l_espinoza@live.com.mx
Guerrero
Ortiz
Julia
Karen
julia.guerrero94@hotmail.com
Hernandez
Rivera
Iyari
Itzel
iyari.itzel_hdz@hotmail.com
Jimenez
de la Cruz
Alma
Liliana
Almalilianatec@gmail.com
Lopez
Alcaraz
Rebecca
Junnuen
beqi_1908@hotmail.com
Martinez
Moreno
Arturo
arturomtz_95@hotmail.com
Maya
Rivera
Jessica
Azeneth
jessy_mayarivera@hotmail.com
Molina
Ortega
Oscar
Roberto
r.molina@live.com.mx
Monrroy
Villarreal
Hector
Humberto
btto12@hotmail.com
Moreno
Martinez
Karen
Gabriela
kgmm26@hotmail.com
Perez
Tolentino
Adriana
Gabriela
adry_0795@hotmail.com
Ramos
Vega
Hans
Uriel
uriel_bar@hotmail.com
Roldan
Valladares
Maria
Fernanda
fernanda_roldan12@hotmail.com
Sena
Villanueva
Deyanira
villanuevadeyanira@hotmail.com
Treviño
Cavazos
Nayeli
Giselle
nallely_edgm@hotmail.com

    En este ejercicio debe haber modificado las diversas propiedades de los campos:

   Tipo de dato
    Formato,
    Descripción,
    Letrero [Caption],
    Mascara de entrada,
    Validación,
    Valor predeterminado,
    Requerido

La atención telefónica es una de las tareas a las que vendedores y secretarias dedican más tiempo a lo largo de la jornada laboral. En cualquier empresa diariamente se hacen y reciben múltiples llamadas y deben recibir el seguimiento adecuado.


TAREA para mañana jueves: 
Para su empresa usted requiere un CONTROL DE LAS LLAMADAS RECIBIDAS de clientes y proveedores, para hacerles el seguimiento respectivo. Debe incluir al menos los siguientes campos: Nombre (de quien llama), Empresa (opcional), Número de Teléfono,  Fecha horaCorreo Electrónico (opcional),  Resumen de la llamada y Seguimiento Requerido

Debe incluir los datos de la persona que recibió la llamada y una lista desplegable con las observaciones usuales (devolverle la llamada, volverá a llamar, es URGENTE,   ).   
Realice una base de datos con al menos 10 renglones de datos.

martes, 25 de febrero de 2014

Mi Empresa


Considere una empresa de ventas con varias sucursales
De la que se dispone la  información que muestran las tablas anexas
Importe las tablas y relaciónelas adecuadamente para dar respuesta a las preguntas que posteriormente se citan
Al diseñar las tablas seleccione los tipos de datos que más convengan (ver ejemplos a en la parte inferior de esta entrada).

Trace las relaciones que convengan entre las tablas y agregue las tablas y campos que considere convenientes.


Se requiere obtener:
  • Listado con nombre y dirección de cada empleado
  • Listado con nombre y dirección de empleados de cierta ciudad (Monterrey)
  • Listado con nombre y dirección de empleados cuyo apellido paterno empiece con G
  • Listado de empleados por ciudad y puesto (nombre ciudad, puesto, nombre empleado)
  • Listado con nombre cargo y salario
  • Las ventas de una cierta fecha, por ejemplo 24 Feb
  • El total de ventas en dicha fecha
  • Listado de ventas por vendedor
  • Ventas realizadas por un vendedor (y su total)
  • Listado de empleados con nombre y fecha de ingreso (por antigüedad decreciente)




Tabla Nombres
Campo
Tipo
Descripción
Propiedades
IDempleado
Auto numérico
Identificador único del empleado
Indexado Si (sin duplicados), es la clave principal
Paterno
Texto
Apellido paterno del empleado
Formato > (muestra el texto en mayúsculas)
Requerido Si
Materno
Texto
Apellido materno del empleado
Formato >
Requerido Si
Nombre
Texto
Nombre del empleado
Formato >
Requerido Si
Foto
Objeto Ole
Fotografía personal


Tabla  Empleados
Campo
Tipo
Descripción
Propiedades
IDPuesto
Numérico
ID del Cargo del empleado
Requerido Si
IDSucursal
Numérico
ID sucursal en que labora
Requerido Si
FechaIngreso
Fecha/Hora
Fecha de Ingreso a la empresa
Formato Fecha Mediana
Validación  <=Fecha()
CURP
Texto
Clave única registro de población
Formato >
Requerido Si
FechaNac
Fecha/Hora
Fecha de nacimiento del empleado
Formato Fecha Mediana
Estado Civil
Texto
Estado Civil del empleado
Regla de validación “S”, “C”, “D”,”V”
Texto de validación [S]oltero, [C]asado, [D]ivorciado, [V]iudo
Notas
Memo
Observaciones acerca del empleado


Tabla Salarios
Campo
Tipo
Descripción
Propiedades
IDempleado
Numérico
Identificador único del empleado
Indexado Si (sin duplicados)
SalarioB
Moneda
Salario base del empleado
Formato moneda
Comisión
Numérico (real de precisión simple)
Porcentaje de comisión por venta
Formato porcentaje

Tabla Direcciones
Campo
Tipo
Descripción
Propiedades
IDempleado
Numérico
Identificador único del empleado
Indexado Si (sin duplicados)
Domicilio
Texto
Calle y numero, colonia y CP del domicilio del empleado

Ciudad
Texto
Ciudad en la que vive el empleado

Teléfono
Texto
Teléfono del domicilio del empleado

Celular
Texto
Teléfono celular del empleado

Email
Texto
Email del empleado