Bases de Datos, Tablas y Relaciones

        Como se ha mencionado antes, el término base de datos se refiere a un grupo de datos que almacena información sobre una o más tablas (archivos *.DBF). Sus conceptos son totalmente diferentes. En este punto se tratará la eliminación de una base de datos de un proyecto, la descripción de la barra de herramientas de su generador, conceptos complementarios sobre tablas, relaciones e indices.

         

         

        ELIMINAR UNA BASE DE DATOS DE UN PROYECTO

          Para eliminar una base de datos, desde el Administrador de Proyectos, seleccionar la Base de datos y hacer un click en "Quitar" y luego seleccionar "Quitar" de nuevo, si se quiere eliminar del proyecto y "Eliminar" si se quiere eliminar del disco duro.


        DESCRIPCION DE LA CAJA DE HERRAMIENTAS DEL
              GENERADOR DE LA BASE DE DATOS

        Agrega una nueva tabla a la Base de datos abierta y muestra el generador de tablas.

        Agrega una tabla libre o de otra Base de datos a la Base de datos abierta.

        Quita una tabla de la Base de datos o la elimina del disco.

        Genera una vista remota vía ODBC u otras conexiones con Bases de datos.

        Genera una vista local con la actual Base de datos u otras en el disco.

        Modifica una tabla abriendo el generador de tablas para la tabla seleccionada.

        Examina los datos de una tabla seleccionada abriendo una ventana Browse.

        Abre el editor de texto de Visual FoxPro para definir procedimientos almacenados.

         
              Caja de Herramientas del Generador de Base de datos


        Al crear una tabla, Visual FoxPro asigna por defecto un nombre de tabla como Tabla1.dbf y solicita ingresar un nombre y guardarlo.

        Continuando con el ejemplo, la primera tabla en la base de datos "testdata.dbc" será "publicaciones.dbf".

        Aqui aparecerá el generador de tablas


        EL GENERADOR DE TABLAS

        El generador de tablas consta principalmente de tres hojas :

         

         

           Consta de cinco columnas :

        Nombre : Aquí se escribe el nombre del campo que identifica la columna que contendrá al dato. Si la tabla pertenece a una base de datos permitirá el ingre- so de nombres largos, de lo contrario sólo aceptará hasta 10 caracteres.

        Tipo : Se especifica el tipo de dato que contendrá dicho campo. Visual FoxPro guarda un conjunto de tipos de datos predefinidos en una lista desplegable.

        Ancho : Identifica la medida en ancho que tendrá el campo.

        Decimal : Cifras decimales que contendrá el número en caso de no ser entero.

        NULL : Activar con un click sobre el botón en caso de permitirle al campo guar- dar valores nulos (valores en blanco).

           Consta de cuatro columnas :

        Nombre : Aquí se ingresa el nombre del índice que se crea sobre la tabla.

        Tipo : Muestra una lista desplegable con los tipos de índice definidos por Vi- sual FoxPro.


        Expresión : Nombre del campo sobre el que se quiere aplicar el índice. Haciendo click sobre el botón de su derecha se abrirá el generador de expre- siones. Aquí, hacer doble click sobre el nombre del campo en la lista "Campos" para seleccionar la expresión y ésta aparecerá sobre el cuadro de edición "Ex- presión", luego click en aceptar.

        Filtro : Hacer click sobre el botón de su derecha para abrir el Generador de expresiones y construir las restricciones de índice sobre el cuadro de edición "Expresión". Se puede hacer uso de las funciones y variables de Visual FoxPro para construir el filtro del índice.

        Statistics : Aqui aparecerán las estadísticas de la tabla, tales como: la ruta de la tabla activa, el número de registros, campos y longitud.


        EL GENERADOR DE EXPRESIONES

        EL ASISTENTE PARA TABLAS
        Al crear una nueva tabla aparecerá una ventana que espera una elección so- bre la forma en que se va a crear una tabla

        El asistente consta de cuatro pasos en los cuales estará definiendo las características de la tabla. El modo de uso y características del asistente es muy simple para la construcción de la tabla, sólo seguir los pasos:



         

         

        INDICES O TAG

        En versiones anteriores del VISUAL FOXPRO había que distinguir entre índices estructurales y no estructurales. La diferencia residía en que los primeros se abrían automáticamente con la tabla y además tenían el mismo nombre que la tabla. Ahora todos son estructurales.

        A un índice que está dentro de un archivo de índices, también se le denomina tag y como tal, se le encuentra en varias instrucciones. Por tanto, es indistinto hablar de tag o de índice.

        Para crear un tag no tenemos mas que ir a la página de índices en la ventana de la estructura de una tabla. Ahí se deberá indicar el nombre con el que esta referiendo a él (KEY1), el tipo de índice que es, el campo o la concatenacion de campos ( indices compuestos) que lo forman, y por ultimo, una condicion de filtraje.

          


         
        Recomendación :
        Si no se van a usar relaciones permanentes (persistentes), lo más aconsejable, es crear indices normales, ya que los demás no hacen mas que complicar el manejo de los datos. En las aplicaciones ya se evitará que se produzcan valores duplicados. Por ejemplo, es posible crear dos registros en blanco con un índice principal o candidato, ya que saltaría error, y también se produciría cuando tenemos dos claves iguales aunque uno de los registros esté borrado lógicamente. Tendría que eliminarlo físicamente o utilizar un filtro para trabajar sólo con los no borrados.

        TIPOS DE INDICES

        En una tabla dependiente se dispone de cuatro tipos de índice, mientras que en una tabla libre sólo los dos que se enumeran en primer lugar.

            Normal : Es el índice clásico. Permite cualquier valor en la clave, esté repetido o no. Es el más utilizado.

        Unico : Semejante al normal. Sin embargo, en el caso de que haya más de una clave repetida, sólo se tiene en cuenta la que se entrodujo en primer lugar. Tiene poca utilidad y es un tipo de índice que prácticamente no se usa.

        Principal : Impide que existan claves repetidas provocándose un error en Visual Fox Pro (sólo puede haber un índice principal).

        Candidato : Es exactamente igual que el anterior. Su sentido reside en que como sólo puede haber un índice principal, todos los demás deben ser candidatos, a serlo.


        RELACIONES PERSISTENTES EN EL GENERADOR DE BASES
              DE DATOS.

              Entre tablas de una base de datos, es posible crear relaciones persistentes.

        Las relaciones persistentes son relaciones entre tablas de una base de datos que se almacenan el archivo de la Base de datos y tienen la siguientes características:

        Se utilizan como condiciones de combinación predeterminadas en los Generadores de consulta y vistas.

        Se representan en el generador de bases de datos como líneas que relacionan los índices de las tablas.

        Aparecen en el Generador de entorno de datos como relaciones predeterminadas para los formularios e informes.

        Se utilizan para almacenar información de integridad referencial.

        En Visual FoxPro se utilizan los índices para establecer las relaciones persistentes entre las tablas de una base de datos. La relación se define entre los índices, y no entre los campos.


        CREACION DE UNA RELACION PERSISTENTE ENTRE TABLAS

        En el Generador de base de datos, elegir el nombre del índice que se desea relacionar y arrastrarlo hasta el nombre del índice de la tabla relacionada.

        Si se examinase el esquema de la base de datos, en el Generador de base de datos, se vería una línea que une "mae_publi" y "área", lo que representa la nueva relación persistente.

        El tipo de etiqueta o clave de índice determinará el tipo de relación persistente que se puede crear. Es necesaria una etiqueta de índice principal o candidato para el lado "uno" de una relación de uno a varios : por el lado de "varios" se debe utilizar una etiqueta o clave de índice normal.

          Base de datos Testdata, con todas sus relaciones.

        Mae_publi --> area

        Mae_publi --> publicación

        Mae_publi --> responsable.


        ELIMINANDO UNA RELACION PERSISTENTE ENTRE TABLAS

        En el Generador de bases de datos, hacer un click en la línea de relación entre las dos tablas.

        El ancho de la línea aumentará para indicar que se ha seleccionado la relación. Luego presionar la tecla "Supr".

        INTEGRIDAD REFERENCIAL

        La integridad referencial consiste en que los datos contenidos en la tabla madre e hija en una relación, no tengan incoherencias, o lo que es lo mismo, que sean concordantes entre sí. Para que esto suceda, hay tres aspectos que se deben controlar:

        1) Modificación del Campo Clave.
        2) Eliminación de un registro en la tabla madre.
        3) Insersión de un nuevo registro en la tabla hija.
         


        En estas tres premisas se basa el mantenimiento de una relación. Si se da doble click sobre la línea de unión entre las dos tablas relacionadas, se accederá a la ventana informativa de dicha relación.

        Luego, hacer un click en el botón integridad referencial para ingresar a la definición de la integridad referencial para la relación seleccionada, en la cual se podrá adecuar de acuerdo a las necesidades de la aplicación.