Publicado el 19 de Abril del 2018
769 visualizaciones desde el 19 de Abril del 2018
139,6 KB
4 paginas
Creado hace 18a (10/07/2005)
MANEJADORES DE BASES DE DATOS REEMPLAZABLES (RDD)
INTRODUCCIÓN
RDD es la abreviación inglesa del término “Replaceable Database Drivers” (Manejadores de Bases de Datos
Reemplazables), que son usados para procesar distintos formatos de base de datos usando un controlador
intercambiable. RDD es una capa intermedia, que traduce las llamadas del API de CLIP (relacionadas con
bases de datos) a operaciones de archivo de bajo nivel.
La arquitectura usada en CLIP difiere de aquella usada en Clipper. CLIP RDD (desde el punto de vista de
Clipper) está formado de tres diferentes subcontroladores: (a) el controlador de la tabla, (b) el controlador del
índice y (c) el controlador del memo. Estos controladores pueden ser fácilmente combinados en cualquier
orden.
Además, CLIP posee herramientas adicionales de desarrollo. Un conjunto de funciones RDD que operan con
los “descriptores” de bases de datos, en vez de “áreas de trabajo”.
Algunas de las más interesantes características del subsistema CLIP-RDD, son las siguientes:
● Optimizador de consultas (tecnología similar a Rushmore/MachSIx).
● Campos VARCHAR (almacenamiento compacto de cadenas de hasta 64KB de longitud).
● Campos VARIANT, que permiten almacenar datos de cualquier tipo básico xBase (CHARACTER,
NUMERIC, DATE, DATETIME ó LOGIC).
● Almacenamiento de datos de cualquier tipo (incluyendo objetos), en campos memo.
● Ponga a funcionar sus propios filtros.
● MEMOPACK (empaquetamiento de archivos memo) y flexible FTP (reutilización de bloques descartados
que reducen el abultamiento del archivo memo).
● Soporte de SET RELATION con “scope” (especie de filtro con límites de acuerdo a un índice). Sólo los
registros de las tablas hijas que cumplen la condición son visibles.
● Ponga a funcionar sus propios índices (comportamiento personalizado).
● Bloqueo de multiples registros (a la vez).
● Gatilladores ó disparadores (“triggers”) de eventos para bases de datos.
● Edición de registros de restauraciones no actualizadas (“rollbacks”).
● Tablas temporales (que son borradas al cierre -CLOSE-, automáticamente).
Pág. 1
CARACTERISTICAS DE LOS RDDs
Existen los siguientes submanejadores:
● Manejadores de tablas: DBF, FOX y VFP.
● Manejadores de índices: NTX, CTX, CDX e IDX.
● Manejadores de memos: DBT y FTP
Los siguientes RDDs (según Clipper) están constituidos por estos submanejadores:
DBFNTX: DBF + NTX + DBT
DBFCTX: DBF + CTX + DBT
DBFCDX: FOX + CDX + FPT
DBFIDX: FOX + IDX + FPT
SIXCDX: FOX + CDX + FPT (sinónimo de DBFCDX)
FPCDX: VFP + CDX + FPT
MANEJADORES DE TABLAS
CLIP discrimina el tipo de tabla a ser abierta usando la firma del archivo, p.e. la tabla es abierta exitosamente
aún si el RDD especificado es diferente. Pero esto no es aplicable a los archivos memo e índices.
Los manejadores DBF y FOX son mayoritariamente lo mismo. La única diferencia es la firma del archivo
para tablas con memo (0xF5 para FOX y 0x83 para DBF). El manejador VFP opera con tablas “Visual
FoxPro”. La tabla VFP tiene un encabezado distinto y proporciona algunas posibilidades que no existen en el
usual formato DBF, p.e. la posibilidad de creación de campos binarios y nulos ( el 5º y 6º elemento en la
descripción de un campo, usado con DBCREATE() y DBSTRUCT() ). Todos los manejadores de tablas,
soportan todos los tipos de campos descritos a continuación:
Tipo de campo Identificador(es) Tamaño en tabla Descripción
CHARACTER 'C'
VARCHAR[a]
NUMERIC
CURRENCY
1 ... 65534
1 ... 65534
1 ... 20
8
'V' [b]
'N', 'F' [c]
'Y'[c]>
Cadena de caracteres
Cadena de caracteres de longitud variable
Enteros o fracciones
Cantidades monetarias
Pág. 2
Tipo de campo Identificador(es) Tamaño en tabla Descripción
DOUBLE
INTEGER
DATE
DATETIME
LOGICAL
MEMO
BLOB[e]
'B'[c]>
8
'I'[c]>, 'V(4)'[b]> 4
'D', 'V(3)'[b]>
'T'[c]>
'L'
'M'
'P'[c]>, 'G'[c]>
VARIANT[f]
'X'
10 ... 127
Notas:
Números de doble presición punto flotante
Valores enteros
8 (3 bytes, V(3)) Dato cronológico: año, mes y día
8
1
10 (4 con VFP)
10 (4 con VFP)
Dato cronológico: año, mes, día y hora
Valor lógico de verdadero o falso
Dato de cualquier tipo [d] sin límite de tamaño
Dato binario de cualquier tipo [d]> sin límite de
tamaño
Dato de cualquier tipo xBase (CHARACTER,
NUMERIC, DATE, DATETIME ó LOGICAL)
a. El tipo VARCHAR permite almacenar caracteres de cualquier tamaño. Para esto, los primeros 6 bytes del
<tamaño_del_campo> son almacenados en el archivo DBF mismo y el resto es almacenado en el archivo
MEMO. Al momento de indexar, sólo aquellos bytes almacenados en la DBF son usados.
b. Prestado de la librería Six.
c. Prestado de VFP.
d. Disponible con el manejador memo FPT. Sólo CHARACTER con DBT.
e. El tipo BLOB es siempre binario, sin importar el estado de binario en la descripción del campo pasado a
la función DBCREATE().
f. El tipo VARIANT permite almacenar datos de cualquier tipo xBase. Las cadenas de caracteres pueden ser
de tamaño 2 del total <tamaño_de_campo> (dos bytes son reservados para almacenar el tipo y longitud).
Los campos VARIANT pueden ser indexados. El orden de los valores de varios tipos en un índice, es el
siguiente: CHARACTER, LOGICAL, DATE, DATETIME y NUMERIC.
MANEJADORES DE INDICES
La siguiente tabla, resume la disponibilidad de características claves a través de los manejadores de índices.
Recordemos antes, dos conceptos importantes:
ORDER: Se usa para identificar cada uno de los índices (“tag”) contenidos dentro de un único archivo físico
denominado “bag” ( saco o bolsa de “Tags”) .
TAG: Representa la etiqueta o identificación de una clave índice dentro de un archivo contenedor (“Bag”).
Este archivo “bag” (saco), puede almacenar de uno a varios índices (“tags”) a la vez.
Pág. 3
Item
NTX
CTX
IDX
CDX
Administración de “order” (soporte de “tags”)
Número de “tags” por archivo “bag”
Número de archivos “bags” por área de trabajo
Índices condicionales (claúsula FOR)
Índices temporales (parciales) (claúsula WHILE)
Uso de “Descendiendo” vía claúsula DESCENDING
Uso de “Único” vía la claúsula UNIQUE
Soporte de las claúsulas EVAL y EVERY
Índices estructurados (compuestos)
Máxima longitud de la expresión clave (bytes)
Máxima longitud para la condición FOR (bytes)
Soporte de relaciones “scope” (filtro de índices por rango)
Optimización de las claúsulas FILTER y FOR (tecnología
MachSIx/Rushmore)
MANEJADORES DE MEMOS
No
Si
1
Ilimitado
Ilimitado Ilimitado Ilimitado Ilimitado
Si
Si
Si
Si
Si
No
256
256
Si
No
Si
Si
Si
Si
Si
Si
255
255
Si
Si
Si
Si
Si
Si
Si
Si
256
256
Si
No
Si
63
No
1
Si
Si
Si
Si
Si
No
255
255
Si
Si
Existen dos manejadores de archivos memo, DBT y FPT. Los archivos memo DBT son usados con los RDDs
DBFNTX y DBFCTX. El formato del archivo DBT es totalmente compatible con Clipper.
Los archivos memo FPT usados con los RDDs DBFCDX y DBFIDX, poseen un formato más poderoso que
puede almacenar no sólo datos de texto, si no que cualquier otro dato. El archivo FPT puede almacenar
cualquier tipo de dato CLIP, incluyendo objetos, datos binarios (p.e. imágenes), etc.
.
Pág. 4
Comentarios de: Manejadores de bases de datos reemplazables (RDD) (0)
No hay comentarios