PARTE v - Creacion de Tablas

download PARTE v - Creacion de Tablas

of 16

Transcript of PARTE v - Creacion de Tablas

  • 8/13/2019 PARTE v - Creacion de Tablas

    1/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 1

    PARTE V Creacion de tablas

    Qu es un base de datos?

    En FoxPro para DOS y Windows una base de datos era un archivo DBF en el cual se almacenaba losregistros por ejemplo de clientes.

    En Visual FoxPro este concepto ha cambiado. Ahora, una base de datos es un contenedor de todas lastablas (clientes, articulos, etc.), relaciones entre las tablas, indices de las tablas, conexiones, base dedatos remotas, etc.

    Ejemplo de Base de Datos con Tablas, donde se aprecia una relacion:

  • 8/13/2019 PARTE v - Creacion de Tablas

    2/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 2

    Qu es una Tabla?

    Una tabla es un archivo donde se almacena la informacion en Columnas y renglones, por ejemplo, elnombre de un cliente, su direccion y su telefono, esas serian las columnas y los renglones serian todos losclientes registrados.

    En informatica, las columnas corresponden a los CAMPOS (elementos individuales de la informacion quealmacenan un dato en particular), y las filas o renglores corresponden a los REGISTROS (un conjunto decampos relacionados hacen un registro).

    En Visual FoxPro es un archivo DBF, conocido anteriormente en FoxPro como base de datos. En VisualFoxPro las tablas tienen ahora mas capacidades como nombres largos de tablas y de campos, reglas devalidacion a nivel de campo y algunas otras.

    Crear un proyecto

    Para crear un proyecto para un sistema donde almacenaremos nuestras tablas, reportes, menus, etc. Hayque ir al menu ARCHIVO -> Nuevo, entonces aparecera la siguiente ventana:

  • 8/13/2019 PARTE v - Creacion de Tablas

    3/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 3

    Seleccionar Proyecto y dar Click en Nuevo Archivo, y entonces aparecera la siguiente pantalla para elegirun directorio donde guardar nuestro proyecto:

  • 8/13/2019 PARTE v - Creacion de Tablas

    4/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 4

    Una vez guardado el proyecto, aparecera la ventana de proyectos, con el nombre que nosotros lepusimos como se muestra:

  • 8/13/2019 PARTE v - Creacion de Tablas

    5/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 5

    Crear una Base de Datos

    Debes seleccionar primero la pestaa DATOS en el Administrador de Proyectos y elegir la opcion BASESDE DATOS, posteriormente hacer click sobre el boton NUEVO.

    Al hacer click sobre el boton NUEVO, aparecera la ventana en la cual nos pedira un nombre y la ubicacin

    donde sera guardada:

  • 8/13/2019 PARTE v - Creacion de Tablas

    6/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 6

    Una vez creada nuestra Base de Datos, nos debe aparecer lo que se llama el contenedor de la Base deDatos, como se muestra a continuacion:

    He aqu una descripcion de los iconos de la barra de herrramientas:

  • 8/13/2019 PARTE v - Creacion de Tablas

    7/16

  • 8/13/2019 PARTE v - Creacion de Tablas

    8/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 8

    Al hacer click sobre el boton NUEVO aparecera la ventana en la cual nos pregunta si deseamos una Tablaen blanco o queremos usar el Asistente para Tablas. Seleccionaremos Tabla en Blanco:

    Al hacer click sobre el boton TABLA NUEVA entonces debera aparecer de nuevo la ventana donde nospide un Nombre y una ubicacin para la tabla (la tabla se guarda con extension DBF).

    Una vez habiendo elegido un nombre y una ubicacin donde quedara almacenada la Tabla que vamos acrear, nos aparecera el Diseador de Tablas:

  • 8/13/2019 PARTE v - Creacion de Tablas

    9/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 9

    Definicion de campos:

    Igual que en las versiones anteriores, la definicion de campos es igual. Se introduce el nombre del campo(nombre) y el tipo de datos que soportara (Tipo) y el tamao.

    Definicion de Mostrar:

    Formato: Es el formato de salida del campo, ejemploo, si fuera numerico 9,999.99 o si fuera carcter!!!!!!!!!!!! para que acepte solo mayusculas.

    Mascara de entrada: Igual que el Formato, se usa para la entrada de datos

    Titulo: Descripcion mas precisa del campo, es de utilidad al disear los formularios.

    Definicion de reglas de validacion a nivel de campo: La validacion son triggers o eventos que se ejecutana nivel de campo. Ejemplo: una validacion de un campo que solo acepte numeros positivos (id > 0 )

    Regla: Es la regla de validacion, ejemplo: id > 0, si queremos que acepte valores positivos

    Mensaje: Es el mensaje personalizado que queremos que aparezca en pantalla a la hora de violarse laregla de validacion del campo. Ejemplo: Solo se aceptan numeros positivos (nota: el texto debeescribirse entre comillas).

  • 8/13/2019 PARTE v - Creacion de Tablas

    10/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 10

    Valor predeterminado: Valor por defecto del campo (Nota: hay que respetar el tipo de dato del campo).

    Luego de hacer la definicion de los campos, pasamos a la definicion de Indices de la tabla, que sera muyimportante a la hora de crear las relaciones entre las tablas:

    Nombre del Indice (Nombre)

    Introducir el Nombre del archivo indice. Es conocido tambien como TAG.

    Tipo (tipo de indice)

    Primary: llave primariaCandidate: Llave candidataUnique: Llave unicaRegular: Llave foranea o regular.

    Nombre de la expresion

    Nombre de los campos que conforman la llave primaria. Ejemplo: id, o si son varios campos, id+linea

    Nota: si los campos no son del mismo tipo, hay que forzarlos al tipo de datos deseado, ejemplo: si id es

    carcter y linea numerico, entonces el nombre de la expresion seria: Id+STR(linea)Str() convierte de numero a carcter y VAL() convierte de carcter a numerico

  • 8/13/2019 PARTE v - Creacion de Tablas

    11/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 11

    Relaciones entre Tablas

    Las relaciones mas comunes entre tablas se definen:

    De uno a uno: Ejemplo de una llave primaria a otra llave primariaDe uno a muchos: Ejemplo de una llave primaria a una regularDe muchos a muchos: Aqu, como no se pueden establecer relaciones de muchos a muchos, se tiene quedividir en dos relaciones de uno a muchos. Ejemplo: un autor puede tener varios libros, pero un librotambien puede tener varios autores.

    Las relaciones entre tablas se crean arrastrando la llave de la tabla a la llave de otra tabla.

    La figura muestra una relacion entre tablas Empleados y Departamento. La relacion se leeria asi: Undepartamento tiene muchos empleados.

    Dentro del Diseador de Bases de Datos, existe un boton en la barra de herramientas que se llamaExaminar (Browse), con el cual, veremos el contenido de la Tabla seleccionada y, en donde podremos,agregar, eliminar, cambiar la informacion de la Tabla sin necesidad de programacion.

  • 8/13/2019 PARTE v - Creacion de Tablas

    12/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 12

    Al hacer click sobre este boton, nos aparecara una ventana, comunmente llamada como Browse:

    En la imagen anterior, se puede apreciar que un registro tiene una marca negra a un lado y el otro no,esto quiere decir que uno esta marcado como borrado (el de la marca), sin embargo esto no significa queno exista. Si se quisieran eliminar todos los registros marcados como borrados, bastaria con escribir lainstruccin

    PACK

    En la ventana de comandos. Para Guardar los cambios hay que presionar la combinacion de teclasCTRL+W. Ahora cerrar lo que es la ventana de Examinar y la ventana de Diseador de Bases de Datos.

  • 8/13/2019 PARTE v - Creacion de Tablas

    13/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 13

    Generacin de integridad referencial

    Reglas que rigen la coherencia de datos, especficamente las relaciones entre lasclaves principal y externa de claves de tablas distintas. Visual Foxpro Resuelve laIntegridad Referencial mediante reglas a nivel de campo y a nivel de registro

    definidas por el usuario . El Generador de la Integridad Referencial le ayuda adefinir reglas para controlar cmo se insertan actualizan o eliminan registros detablas relacionadas.

    Desencadenante : cdigo de evento a nivel de registro que se ejecuta despues deuna insercin, una actualizacin o una eliminacin. Se ocupan para integridadentre las tablas.

    El establecimiento de la integridad referencial implica la creacin de un conjunto dereglas para preservar las relaciones definidas entre las tablas al introducir oeliminar registros.

    Si exige la integridad referencial, Visual FoxPro impedir las acciones siguientes:

    Agregar registros a una tabla relacionada cuando no haya ningn registroasociado en la tabla primaria.

    Cambiar valores de una tabla primaria cuando tales cambios supongan dejarregistros hurfanos en una tabla relacionada.

    Eliminar registros de una tabla primaria cuando tengan registrosrelacionados coincidentes.

    Si lo desea, puede escribir sus propios desencadenantes y procedimientosalmacenados para exigir la integridad referencial. Sin embargo, el Generador deintegridad referencial (IR) de Visual FoxPro permite determinar los tipos de reglasque desea exigir, las tablas a las que desea exigirlas y los eventos del sistema queharn que Visual FoxPro las compruebe.

    El Generador de IR trata mltiples niveles de eliminaciones y actualizaciones encascada, y es recomendable como herramienta para asegurar la integridadreferencial.

    Para abrir el Generador de IR

    1 Abra el Diseador de bases de datos .2 En el men Base de datos , elija Editar integridad referencial .

    Al utilizar el Generador de IR para crear reglas que se van a aplicar a la base dedatos, Visual FoxPro guarda el cdigo generado para exigir las reglas de integridadreferencial como desencadenantes que hacen referencia a procedimientosalmacenados. Para ver este cdigo puede abrir el editor de texto deprocedimientos almacenados en la base de datos. Si desea informacin sobre laforma de crear desencadenantes por programa, consulte Uso de desencadenantes en

  • 8/13/2019 PARTE v - Creacion de Tablas

    14/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 14

    el captulo 7, Trabajo con tablas.

    Precaucin Cuando haga cambios en el diseo de una base de datos , comomodificaciones en sus tablas o alteraciones en los ndices utilizados en unarelacin persistente , debe volver a ejecutar el Generador de IR antes de utilizar denuevo la base de datos. De esta forma se revisarn el cdigo de procedimientoalmacenado y los desencadenantes utilizados para exigir la integridad referencial, deforma que reflejen el nuevo diseo. Si no vuelve a ejecutar el Generador de RI, puedeque obtenga resultados inesperados, ya que no se habrn actualizado losprocedimientos almacenados y los desencadenantes para ajustarlos a lasmodificaciones.

    El Generador IR se muestra cuando:

    Hace doble clic en una lnea de relacin entre dos tablas del Diseador de bases de datos y eligeel botn Integridad Referencial en el cuadro de dilogo Editar relacin .

    Elige Integridad referencial en el men contextual del Diseador de bases de datos . EligeEditar integridad referencial en el men Base de datos .

    Fichas del generador Reglas para la actualizacin Especifica reglas para aplicar cuando se modifica el valor clave de la

    tabla primaria.Reglas para la eliminacin Especifica las reglas que se aplican cuando se elimina un registro de

    la tabla primaria.Reglas para insertar Especifica las reglas que se aplican cuando se inserta un nuevo registro o cuando seactualiza un registro existente en la tabla secundaria.

    Almacenar datos

    Los datos con los que trabaja probablemente incluyan perodos de tiempo, dinero y elementoscontables, as como fechas, nombres, descripciones, etc. Cada dato corresponde a un determinadotipo, es decir, pertenece a una categora de datos que se manipula de maneras similares. Podratrabajar directamente con estos datos sin almacenarlos, si bien perdera la mayor parte de laflexibilidad y potencia que ofrece Visual FoxPro. Visual FoxPro aporta numerosos contenedores dealmacenamiento con el fin de ampliar su capacidad para manipular fcilmente los datos.

    Los tipos de datos determinan la manera en que se almacenan los datos y la forma en que se puedenutilizar tales datos. Puede multiplicar dos nmeros, pero no puede multiplicar caracteres. Puedeimprimir caracteres en maysculas, pero no puede imprimir nmeros en maysculas. En la tabla

    siguiente se muestran algunos de los principales tipos de datos de Visual FoxPro.

  • 8/13/2019 PARTE v - Creacion de Tablas

    15/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 15

    Tipos de datos

    Tipo Ejemplos

    Numeric 1233,1415

    7

    Character Prueba12301/01/98

    Logical .T. (verdadero).F. (falso)

    Date

    DateTime

    {^1998-01-01}

    {^1998-01-01 12:30:00 p}

  • 8/13/2019 PARTE v - Creacion de Tablas

    16/16

    [VISUAL FOXPRO BASICO] IDSYSTEMS 2013

    PARTE V Creacion de tablas Pgina 16

    Visual FoxPro 9 tiene predefinidos los campos a utilizar, ya que disponemos de todos los tipos decampos necesarios para desarrollar nuestras aplicaciones.Aqu tenemos un detalle de los principales campos usados en VFP 9, a efectos de tener una idea maspura de los tipos de campos describimos aqu todos los tipos de datos que vienen en la ayuda de VisualFoxPro.TIPO DE DATO DESCRIPCION TAMA O RANGOBlob Dato binario de longitudindeterminada. Los valores Blob esta

    en un archivo memo (.fpt)4 bytes enuna tabla Limitada a lamemoria disponible y/olimite de tamao de archivo de 2GB

    Character Texto alfanumericoPor ejemplo, una direccion de uncliente

    1 byte porcarcter hasta254

    Cualquier carcter

    Currency Cantidades monetarias.Por ejemplo, el precio de un articulo

    8 bytes - 922337203685477.5807 hasta$922337203685477.5807

    Date Dato cronologico consistente en mes,dia y ao.Por ejemplo, la fecha de orden

    8 bytes Cuando se usan formatos de fechaestrictos.

    DateTime Dato cronologico consistente en mes,

    dia, ao, horas, minutos y segundosPor ejemplo, la fecha y hora de unarribo.

    8 bytes Cuando se usan formatos de fecha

    estrictos

    Logical Valor boleando de falso o verdaderoPor ejemplo, cuando se ha llenado ono una forma

    1 byte True (.T) o False (.F.) Verdadero oFalso

    Numeric Numeros enteros o decimalesPor ejemplo, la cantidad de articulosordenados

    8 bytes enmemoria. 1 a20 bytes enuna tabla

    -.9999999999E+19 hasta.9999999999E+20

    Varbinary El dato varbinary es similar a varcharen que los valores no incluyenllenados con cero (0). La longitud delvalor contenido es almacenado demanera interna.

    Este tipo de dato puede sercualquiera de los tipos de datos VFP yel valor nulo

    1 byte porvalorhexadecimalhasta un totalde 255 bytes

    Cualquier valor hexadecimal

    Variant Una vez que el valor es almacenadoen una variante, el variant asumeque el tipo de dato es el dato quecontiene

    Ver otrostipos de datos

    Ver otros tipos de datos.