Ir al contenido principal

Microsoft Access - Entrega 02

Establecer Índices y Claves primarias:

Los índices permiten especificar un orden para la búsqueda de registros, su principal tarea es esta, básicamente cualquier campo de una Tabla puede ser un índice, incluso un conjunto de campos pueden ser índices, (los que suelen denominarse INDICES COMPUESTOS). Para definir un índice en un campo de una tabla basta con especificar la propiedad correspondiente, o también utilizar el botón Índice, tal como se muestra en la Imagen:

  
 
Por ejemplo, digamos que nos piden crear un índice compuesto denominado FullName que abarca los campos Apellidos y Nombres. Para realizar esa tarea haga click en el botón Índices y luego configure de acuerdo a la imagen:
 
 
 
Clave Principal:

La clave primaria permite identificar de manera única a un registro, por teoría de diseño de base de datos, cada Tabla debe tener su correspondiente clave primaria para facilitar tareas de búsqueda y actualización de registros. Para definir una clave primaria en una tabla realice los siguientes pasos:


  1. Abra la Tabla en Modo Diseño

  2. Seleccione el Campo que desee convertir en Clave Principal y haga clic en el Botón “Clave Principal”. Vea la imagen a continuación:


 Las claves principales permiten no sólo identificar un registro de manera única sino que también evita la duplicidad de registros, esto quiere decir que dos registros de una tabla no podrán contener el mismo valor como clave primaria. Para facilitar esta tarea Microsoft Access nos ofrece el tipo de dato denominado “Autonumérico” que, como su nombre lo indica es auto incrementable, esto se ve claramente cuando agrega nuevas filas (registros) a una Tabla, los campos de tipo Autonumérico son en realidad Enteros Largos cuyo valor inicial suele ser 1 y cuyo incremento predeterminado puede ser de 1 en 1.

Propiedades de búsquedas:

En ocasiones podemos facilitar la tarea del usuario complementando el diseño de una tabla agregando propiedades de búsqueda a un campo específico, por ejemplo: Vamos a suponer que en una Tabla cualquiera tenemos un campo llamado Ciudad, aunque lo lógico pudiera ser que el usuario ESCRIBA el nombre de la ciudad, lo más optimo sería que lo pudiera elegir de una lista. Podemos realizar esta tarea de la siguiente manera:

Dada la siguiente Tabla:



Para configurar el Campo Ciudad, nos ubicamos en la Ficha Búsqueda y luego en la propiedad “Mostrar Control” desplegamos la lista y elegimos “Cuadro Combinado”, (puede ser también Cuadro de lista). Veremos que se habilitan muchas propiedades nuevas para este propósito:


Note que las propiedades “Tipo de origen de la fila” y “Origen de la Fila” están configuradas apropiadamente para soportar valores estáticos. Además las ciudades especificadas se encuentran separadas por punto y coma (;) pero si en su región el separador de listas es otro no se preocupe, Microsoft Access hará el cambio automáticamente si no hay mayor problema.
 
Relaciones entre Tablas

Una base de Datos es un repositorio de una o más tablas, cuando una BD posee un escenario de varias tablas es posible que entre esas tablas pueda establecerse un vínculo o relación, de tal manera que la información de una tabla “dependa” de la información de otra. El modelo relacional permite, mediante métodos de normalización, establecer relaciones entre tablas de una manera sencilla e intuitiva. Sin embargo la existencia de claves principales es fundamental a la hora de definir una relación.

Por ejemplo, vamos a suponer el siguiente escenario: Tenemos en nuestra base de datos la Tabla de Contactos con información personal sobre nuestras amistades y contactos en general, así como una clave primaria la cual identifica de manera única a los registros de la tabla. Deseamos también tener una Tabla adicional donde pueda guardar un historial de los eventos o citas asociadas con cada contacto y definir una relación entra ambas tablas a fin de tener registros debidamente relacionados y de fácil ubicación y actualización.

Lo primero es agregar la nueva Tabla, Haga click en la Ficha Crear y luego en Diseño de Tabla, cree la siguiente estructura:



Guarde la Tabla con el nombre Eventos, es importante señalar que esta tabla posee su propia clave principal (Id) y además posee un campo llamado IdContacto que para efectos de la relación será el campo que vincule ambas tablas, por lo tanto debe definirse como Índice (Con Duplicados).

Tenemos todo listo para vincular la Tabla Contactos y la Tabla Eventos, pero hace falta explicar lo siguiente acerca de relacionar 2 tablas.

Tipos de relaciones entra tablas:


  • Relación UNO a UNO: Tipo de relación en la cual un registro de la Tabla primaria sólo puede tener un registro correspondiente en la Tabla secundaria, este índice se produce cuando la relación es definida entre dos claves primarias o 2 índices sin duplicados. 

  • Relación UNO a VARIOS: Relación más común entre dos tablas, se caracteriza porque un registro de la Tabla primaria puede tener varios registros relacionados en la tabla secundaria, esta relación se crea entre una clave principal y una clave foránea o índice con duplicados.

  • Relación VARIOS a VARIOS: Cuando un registro de la tabla primaria puede tener uno o más registros relacionados en la tabla secundaria y viceversa. Esta relación no se produce directamente entre dos tablas, sino entre 3 al menos, la tercera tabla se conoce como tabla Intermedia.
Habiendo explicado todo esto, analicemos nuestro ejemplo: Un Contacto puede tener varias citas o eventos programados cierto?, entonces bajo ese sencillo razonamiento podemos decir que la relación entre Contactos y Eventos es de UNO VARIOS.

Para definir la relación entre estas tablas de manera explícita, cumpla con los siguientes pasos:
Haga click en la Ficha “Herramientas de Base de Datos” y luego haga click en el botón “Relaciones”
Debe mostrarse la pantalla “Mostrar Tablas”, tal como se ve en la imagen:
Haga click individualmente en la Tabla Contactos y luego en la Tabla Eventos, luego haga click en Cerrar. Verá la ventana de Relaciones con ambas tablas mostradas por separado.
Para realizar o definir la relación entre estas tablas debemos relacionar la clave principal de la Tabla Contactos con la clave foránea (índice con duplicados) de la Tabla Eventos. Para producir este efecto, arrastre la clave primaria de la Tabla Contactos y “suéltela” sobre la Tabla Eventos, de tal manera que se muestre el siguiente diálogo:



Verifique que la información dada en esta ventana sea como en su PC. Aquí aparecen muchas opciones interesantes como “Integridad Referencial” o “Tipos de Combinación”. Veamos lo que es Integridad Referencial, (IR):

La IR es un mecanismo asociado a las relaciones entre tablas que permite validar o “reglamentar” el comportamiento entre dos o más tablas relacionadas, muchas de estas reglas incluyen la forma cómo es que Microsoft Access se comportará cuando se intente agregar o actualizar un registro en la tabla primaria y cuál será su impacto en la tabla secundaria, o si se realiza una eliminación en la tabla primaria, pues de igual manera. Las reglas de integridad referencial se pueden activar haciendo click en la casilla de verificación correspondiente, una vez completada esa operación, Ud. Deberá decidir qué tipo de regla aplicar a su relación. Por ejemplo, en nuestro caso, vamos a activar la IR para permitir actualizaciones en cascada y evitar las eliminaciones en cascada. Para configurar estas reglas, cambie la pantalla según se ve a continuación:




Note el área “Tipo de relación”, haga click en Aceptar y listo, la relación queda definida como se muestra a continuación:



De esta sencilla manera hemos definido una relación entre dos tablas. Ahora bien, si por alguna razón Ud. Desea agregar más Tablas a la ventana de Relaciones, sólo haga click en el botón “Mostrar Tabla”:




De igual manera si desea “eliminar” una tabla de la ventana de relaciones, sólo tiene que hacer click en el botón “Ocultar Tabla”, en realidad no existe “eliminar” por obvias razones, las tablas no se eliminan desde aquí, solamente podemos ocultarlas.

A pesar que las relaciones son definidas aparentemente de manera permanente, esto no es del todo cierto. Las relaciones entre tablas, las reglas de Integridad Referencial y otras configuraciones pueden ser eliminadas o modificadas. La forma de hacer esto es muy simple: en la ventana de relaciones haga doble click sobre la línea de la relación, de esa manera habrá entrado a la misma ventana donde definió todas las características de la relación. Para eliminar una relación entre dos tablas, seleccione la línea de relación y luego pulse el botón Suprimir de su teclado o haga click con el botón derecho y escoja “eliminar”.

Tenga en cuenta que eliminar una relación puede causar la pérdida de integridad referencial y por lo tanto desordenar potencialmente sus datos. Sólo elimine una relación cuando “ya no sea necesaria”.

Microsoft Access también le permite mostrar las relaciones directas entre tablas o mostrar todo tipo de relaciones, estas opciones son útiles dependiendo del modelo relacional implantado. 

Este es el fin de esta segunda entrega,  no olviden comentar y valorar este post.

Comentarios

Entradas populares de este blog

Uso de Parámetros con el control SqlDataSource - Primera entrega

Una de las principales ventajas del control SqlDataSource , radica en la posibilidad de trabajar con parámetros, con este control es posible trabajar con cualquiera de los siguientes parámetros: Parameter ControlParameter CookieParameter FormParameter ProfileParameter QueryStringParameter SessionParameter A su vez, el control SqlDataSource incluye 5 colecciones de parámetros de ASP.NET: SelectParameters , InsertParameters , DeleteParameters , UpDateParameters y FilterParameters . Puede usar estas colecciones de parámetros para asociar un parámetro en particular de ASP.NET con algún comando o filtro en particular del control SqlDataSource. En este post haré mención a parámetros gestionados mediante Parameter y ControlParameter . En publicaciones posteriores me encargaré del resto de parámetros. Trabajaré para la explicación con la base de datos Pubs de SQL Server , si no la tiene debe instalarla, puede hacerlo siguiendo este link: http://www.microsoft.com/downloads/en/details

Estructuras de Control - Parte 2

Estructuras de Control Repetitivas Las computadoras están especialmente diseñadas para ejecutar tareas repetidamente. Las estructuras de control repetitivas son aquellas en las que una sentencia o grupos de sentencias se repiten muchas veces. Una estructura de control que permite la repetición de una serie determinada de sentencias se denomina bucle (lazo o ciclo). El cuerpo del bucle c ontiene las sentencias que se repiten. La acción o acciones que se repiten en un bucle se denomina el cuerpo del bucle, y cada repetición del cuerpo del bucle se denomina iteración. Sentencia Mientras..hacer (while) La estructura repetitiva mientras es aquella en la que el número de iteraciones no se conoce por anticipado y el cuerpo del bucle se repite mientras se cumple una determinada condición. Por esta razón a estos bucles se les denomina bucles co ndicionales. La sintaxis es la siguiente: Cuando la sentencia mientras se ejecuta, el primer p aso es la evaluación de la expresión lóg