Cuando se “registra” una tabla en una BD, la tabla deja de ser libre y se
convierte en tabla base. Este cambio de tipo permite agregar información
adicional a la tabla, que se guarda en la BD. Por ejemplo, reglas y mensajes
de validación de campos y de registros, títulos de campos, formatos de
campos y valores predeterminados de campos.
Una BD es, en realidad, una tabla con extensión DBC. Tiene campos
predefinidos por VFP.
Para agregar una tabla a una BD, la tabla debe ser libre.
Cuidado. Cuando quitamos una tabla de una BD, puede perder mucha
información adicional que está en la BD. Esta información puede
referirse a la misma tabla o ser una información referida a la relación de
esa tabla con otra tabla.
Tablas
Una tabla es un archivo cuyo nombre inventa el usuario y cuya extensión
es DBF.
Una tabla está formada por registros.
Cada registro está formado por campos.
Tabla
Registro Registro Registro
Campo Campo Campo Campo Campo Campo Campo Campo Campo
Registros
Cada registro tiene un lugar en la secuencia que sirve para identificarlo. Este
identificador se llama número de registro.
Registro n
Para que la tabla exista, debe tener por lo menos la definición estructural.
Si todavía no se le han agregado registros, se dice que está vacía.
Las tablas permiten tres tipos de operaciones con registros:
Ficha Campos. Sirve para definir los campos y sus atributos. Cada campo
ocupa un renglón. En las tablas de bases de datos, cada campo tiene más
opciones en la parte inferior de la ficha.
Ficha Índices. Sirve para definir índices por distintos campos. Un índice ordena
virtualmente los registros, sin cambiarlos de lugar en el archivo, es decir, sin
cambiar los números de registro. Cada índice ocupa un renglón. Las tablas libres
usan tres tipos de índice: normal, candidato y único. Las tablas de bases de
datos agregan el tipo principal.
Ficha Tabla. Muestra información sobre la tabla. En las tablas bases, permiten
definir reglas para controlar la validez de los registros.
Índices
Los índices permiten ordenar virtualmente los registros de una tabla.
Para construir un índice, hay que darle un nombre, un tipo y una expresión.
Para entenderlos, conviene saber qué son entradas de índice. Una entrada
de índice es como un renglón de un cuaderno donde se registra información
sobre un registro de la tabla. No todos los registros tienen entrada en el
índice, porque eso depende del tipo de índice.
Creemos el índice normal Precio por el campo Precio. Luego activemos ese
índice y veamos la tabla en la ventana Examinar.
Creemos el índice único Precio por el campo Precio. Luego activemos ese
índice y veamos la tabla en la ventana Examinar.
El artículo con precio 200 es C42, porque fue el primero que se encontró al
crear el índice.
Índice principal. Funciona como los índices candidatos, pero una tabla
puede tener un solo índice principal.
Expresión de índice
Acá se guarda un número, como si fuera una llamada a una nota de pie de
página en un libro.
Por ejemplo, los datos referidos al cliente como persona (código de cliente,
nombre, domicilio, teléfono, CUIT, etc.), se colocan en el registro de una
tabla. Si hay 100 clientes, habrá 100 registros.
Aunque esté en varias tablas, la información del cliente es un todo. Esto exige
cuidar que la información parcializada de las distintas tablas sea coherente y
no se pierda ninguna parte.
De esto se ocupa la integridad referencial, que usa reglas para controlar las
altas, bajas y cambios de registros.
IR. Reglas para cambios en la clave de la tabla madre
Por ejemplo, si cambiamos la clave del cliente 125 por 300 en la tabla
madre, se disociarán los registros de compras con clave 125 en la tabla
hija, que ahora se referirán a un cliente inexistente.
IR. Reglas para bajas de registros en la tabla madre
Se refieren a marcar un registro para destruir en la tabla madre. Como
este registro tiene una clave, puede haber registros con igual clave en
la tabla hija. Esto debe ser controlado.
Por ejemplo, si se marca para destruir el registro con clave 125 en la tabla
madre, todos los registros con clave 125 en la tabla hija se marcan
automáticamente.
Para eliminar toda la historia del cliente 125, debemos usar otro
procedimiento: primero habrá que eliminar sus registros en la tabla hija y
después eliminar el registro de la tabla madre.
Restringir. Impide dar de alta un registro en la hija con una clave que no
exista en la madre.
Por ejemplo, no puedo dar de alta una compra del cliente 950, si tal
cliente no está definido en la madre.
Por ejemplo, se puede dar de alta a una compra con clave 950, exista o
no un cliente con esa clave en la madre.
Por ejemplo, podremos cambiar una compra del cliente 125 por 950,
exista o no un cliente 950 en la tabla madre.
Resumiendo, las reglas de integridad referencial son:
Hija: Alta