lunes, 22 de agosto de 2011

FoxPro

Visual FoxPro (VFP) es un DBMS comercializado por Microsoft desde 1995. Este se forma a partir de un lenguaje de programación orientado a Objetos (su lenguaje ofrece a los desarrolladores la posibilidad de crear fácilmente aplicaciones locales, cliente/servidor o para la Web), un motor de base de datos relacionales y un entorno de desarrollo incorporado (IDE). VFP posee una excelente compatibilidad: un código escrito hace 5 años puede con un mínimo trabajo ser mantenido y mejorado. También es una herramienta de desarrollo rápido de aplicaciones (RAD), es decir, permite crear aplicaciones de aspecto difícil con un esfuerzo mínimo.

Visual FoxPro dispone de diversos mecanismos de gestión de errores, como: un class CursorAdapter (para acceder a los datos de una manera estándar), numerosas clases de base para incorporar los controles, una clase GDI + soporte de imágenes, procesamiento eventual de objetos, soporte escalonado, servicios XMLWeb, provider OLE DB, entre otro. Para el control y encapsulación de errores en el código hace uso de estructuras try-catch-finally, de mecanismos de herencia de excepciones mediante la estructura THROW, y mucho más.

FoxPro sólo funciona en Windows, desde el 98 hasta el actual, y se requiere de los siguientes requisitos para instalarlo:

· PC compatible con IBM con un procesador Pentium.

· Mouse (ratón) o dispositivo apuntador.

· 64 MB RAM (se recomienda 128 MB o más)

· Espacio en disco para Visual FoxPro: 115 MB para la instalación mínima o 200 MB para la instalación máxima.

· Espacio en disco para la Actualización de componentes de Windows: depende del sistema operativo pero, normalmente, requiere 50 MB.

Tipos de datos primitivos de Visual FoxPro

Tipo de datos

Descripción

Tamaño

Intervalo

Character

Cualquier texto

1 byte por carácter hasta 254

Cualquier carácter

Currency

Importes monetarios

8 bytes

- 922337203685477,5807 a 922337203685477,5807

Date

Datos cronológicos formados por mes, año y día

8 bytes

Al usar formatos de fecha estrictos, {^0001-01-01}, 1 de enero, 1 d.C. a {^9999-12-31}, 31 de diciembre, 9999 d.C.

DateTime

Datos cronológicos formados por mes, año, día y hora

8 bytes

Al usar formatos de fecha estrictos, {^0001-01-01}, 1 de enero, 1 d.C. a {^9999-12-31}, 31 de diciembre, 9999 d.C., más 00:00:00 a.m. a 11:59:59 p.m.

Logical

Valor booleano verdadero o falso

1 byte

Verdadero (.T.) o Falso (.F.)

Numeric

Enteros o fracciones

8 bytes en la memoria;
1 a 20 bytes en una tabla

- 0,9999999999E+19 a 0,9999999999E+20

Variant

Una variable de tipo Variant puede contener cualquier tipo de datos de Visual FoxPro y el valor Null. Una vez que se almacena un valor en una variable del tipo Variant, ésta asume el tipo de los datos que contiene.Las variables tipo Variant se designan con el prefijo e en la sintaxis del lenguaje.

--

--

Las limitaciones con las que cuenta FoxPro son las siguientes:

Attribute Maximum

Number of records per table files 1 billion

Number of characters per record 65,500

Number of fields per record 255

Number of tables open at one time 225

Number of characters per table field 254

Number of characters per index key (.IDX) 100

Number of characters per index key (.CDX) 240

Number of open index files per table unlimited

Number of open indexes in all work areas unlimited

   Attribute                                                Maximum
   Size of character fields                                 254
   Size of numeric (and float) fields                       20
   Maximum number of characters in field names              10
   Digits of precision in numeric computations              16
  FoxPro puede utilizarse para crear diversas aplicaciones, como:

aplicaciones cliente-servidor, automatización de FoxIsaPi, automatización de Gopher
y creación de eventos COM+.


Bibliografía

1.-Kroenke, D. (2003). Procesamiento de bases de datos: fundamentos, diseño e implementación.
México: Pearson Education

2.-Nevado, V. (S.F.). Introducción a las bases de datos relacionales. Madrid: Visión libros

3.- Microsoft (2007). Visual FoxPro 9.0. Recuperado el 21/08/11
4.- Ludo186 (2009. Visual FoxPro. Recuperado el 21/08/11

4 comentarios:

  1. El curso de DB9 en base a la Modelo Entidad-Relación.

    1. Se elabora el diagrama (o diagramas) entidad-relación.
    2. Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama.

    Dado lo rudimentario de esta técnica se necesita cierto entrenamiento y experiencia para lograr buenos modelos de datos.

    El modelado de datos no acaba con el uso de esta técnica. Son necesarias otras técnicas para lograr un modelo directamente implementable en una base de datos. Brevemente:

    * Transformación de relaciones múltiples en binarias.
    * Normalización de una base de datos de relaciones (algunas relaciones pueden transformarse en atributos y viceversa).
    * Conversión en tablas (en caso de utilizar una base de datos relacional).

    ResponderEliminar
  2. Objetivos de un DBMS
    1. Consultas no predefinidas y complejas
    2. Flexibilidad a los cambios e independencia
    3. Redundancia e inconsistencia de datos
    4. Integridad: procesos de restauración (logs/backup)
    5. Seguridad: usuarios, privilegios, criptografia
    6. Concurrencia

    ResponderEliminar
  3. Cohesion: medida del grado de fuerza funcional de un componente, cuanto menor sea el numero de tareas (elementos de procesamiento) que realiza un componente, mayor sera su cohesion.
    Acoplamiento: medida de la interdependencia relativa entre componentes y depende de la interfaz entre estos, es decir, de la cantidad y tipo e datos que comparten.

    Para reducir el acoplamiento:
    - Eliminar relaciones innecesarias
    - Reducir relaciones necesarias

    Beneficios de bajo acoplamiento:
    - Menor transmision de defectos
    - Posibilidad de cambiar un componente sin incidir en otros
    - En el mantenimiento de un componente no hay que tener en cuenta el contenido de otros.

    ResponderEliminar
  4. Ejercicios BD

    Insertar en la tabla trabajos la fila ‘C01’, ‘M04’,’P07’,’19/09/02’,100.

    INSERT INTO trabajos

    VALUES ('C01', 'M04','P07',’2002-09-19’,100)

    * No se puede insertar ya que P07 no existe en la tabla de proyectos.

    Eliminar el conductor ‘C01’ de la tabla conductores.

    DELETE

    FROM conductores

    WHERE codc = 'C01'

    * No se puede eliminar ya que la tabla ‘Trabajos’ lo impide.

    Modificar el código del conductor ‘C01’ de la tabla conductores, por el código ‘C05’.

    UPDATE conductores

    SET codc = 'C05'

    WHERE codc = 'C01'

    * No se puede modificar ya que quedaría un valor duplicado.

    30. Modificar el código del conductor ‘C01’ de la tabla conductores, por el código ‘C07’.

    UPDATE conductores

    SET codc = 'C07'

    WHERE codc = 'C01'

    * No se puede modificar ya que la tabla ‘Trabajos’ lo impide.

    ResponderEliminar