Pagina principal del proyecto BasesPágina general de consultasOtros enlacesInformación Técnica

Información Técnica

Red de Tratamiento de Conflictos Consulta en RTC Información Técnica

Estructura de la base de datos

Sistema utilizado

Programas requeridos

Instalación del buscador Simpledb
.Configuración del archivo db.cfg
.Formato de salida de los resultados
.Eliminación de la clave de acceso

Instalación del formulario de búsqueda

Ventajas

Desventajas

Recomendaciones

Estructura de la base de datos.

Fecha
Título
Nombre
Apellido
Fuente
Profesión
Dirección
Ciudad
Departamento
País
Teléfono
Fax
Casillero
Organización
Posición

En esta estructura cada campo es de tipo texto, mantenidas en un archivo plano y separados por tabulaciones.

 

Sistema utilizado

Para la implementación de la base de datos se utilizó Simpledb, herramienta desarrollada por Paul Helinski. Simpledb es una serie de archivos en Perl utilizados para realizar consultas, adicionar nuevos registros, actualizarlos o eliminarlos, de un archivo tipo texto limitado por tabulaciones. 

Puede obtener los programas en Perl bajando el archivo simpledb.zip en el siguiente sitio Web : http://www.world-media.com/toolkit/sourcecode/unix/database/

Igualmente allí puede encontrar ejemplos en línea de demostración de éste sistema.

Programas requeridos

Usted necesitará para utilizar esta aplicación:

Perl versión 5.x para la ejecución de los programas de adición, eliminación y consulta en la base de datos. En nuestro servidor utilizamos Perl 5.004_03.
Para obtener la última versión de Perl lo puede hacer desde este enlace
Servidor Web. El servidor Web utilizado en este ejercicio es Apache. Cerciórese
de instalar Apache con su distribución de Linux. Tenemos en nuestro servidor una copia del manual de uso de Apache en inglés.

Instalación del buscador Simpledb.

Una vez haya descomprimido el archivo simpledb.zip Usted encontrará 13 archivos (para las descompresión del archivo simpledb.zip puede utilizar winzip o cualquier otro descompresor). Los archivos adddb.cgi, browsedb.cgi, deletedb.cgi, editdb.cgi, searchdb.cgi y Encrypt.cgi deben ser editados colocando en su primera línea la ubicación del archivo ejecutable de Perl dentro de su servidor.

Debe asegurarse también de otorgar permisos de ejecución para estos archivos utilizando el comando chmod 755 *db.cgi.

.Configuración del archivo db.cfg

El archivo db.cfg posee toda la información referente a la clave de acceso, el formato del encabezado y el final de las páginas generadas por Simpledb, los campos contenidos en la base de datos  y el formato de presentación de estos al usuario final.

Usted puede encontrar una muestra de este archivo utilizado en nuestro ejercicio, en nuestro servidor FTP.

El primer paso en el proceso de instalación es generar la clave de acceso para las labores de mantenimiento (edición, eliminación o creación) a las cuales Usted desee que se les realice una confirmación de usuario.

Para la creación de esta clave ejecute en su navegador el archivo Encrypt.cgi (http://bases.colnodo.org.co/cgi-bin/Encrypt.cgi en nuestro caso) y digite allí la palabra que utilizará como clave de acceso, al activar el botón respectivo obtendrá la clave encriptada.

Coloque exactamente igual y encerrado entre comillas dobles el resultado de la clave de acceso elegida, en la variable $password del archivo db.cfg. No olvide colocar un punto y coma al final de la línea.

    $password="ewKBrlOA2vzz6";  

La variable $server debe contener la dirección de su sitio Web y el directorio donde están ubicadas las páginas html de manejo de su base de datos (no la dirección de sus archivos *db.cgi); la importancia de esta variable será discutida en la sección formato de salida de los resultados. Es importante no colocar de último el slash ( / ) para indicar que es un directorio, los programas lo harán por Usted.

    $server="http://bases.colnodo.org.co/bdrtc";

A continuación se debe definir la ubicación de los archivos que sirven para establecer el encabezado y el pie de las páginas generadas por Simpledb. Estas páginas deben ser creadas por Usted. Para hacer esta labor más sencilla cree dos archivos, encabezado.htm y fin.htm, en el mismo directorio del cgi donde tiene ubicados todos sus archivos *db.cgi, y asigne las variables del siguiente modo :

     $headerfile = './encabezado.htm';
  $footerfile = './fin.htm';
 

 

Un formato sencillo para cada uno de estos archivos puede ser el siguiente:

   Archivo encabezado.htm

 <!-- encabezado.htm -->
 <html>
 <head><title>Resultados de búsqueda</title>
 <body>

Archivo fin.htm 

  <!-- fin.htm -->
 </body>
 </html>

El siguiente paso es definir los campos que debe tener la nueva base de datos. El nombre de estos campos se definen en la variable @datatemplate. Estos deben estar encerrados entre paréntesis, separados unos de otros por comas e ir cada uno encerrado entre comillas dobles.

El siguiente es un ejemplo de la variable @datatemplate en nuestro archivo db.cfg, aunque también puede acceder al archivo completo desde nuestro servidor FTP.

@datatemplate = ("fecha","titulo",...,"organizacion","posicion");

Es importante anotar que los nombres de los campos deben ser una sola palabra, sin separaciones con espacios, ya que es el nombre de campo que Perl reconoce y la que se utilizará al crear los formularios de creación o de edición de datos como el nombre del campo tipo texto. (<INPUT NAME="fecha" TYPE=TEXT SIZE=30>).

Posteriormente de deben declarar los identificadores de cada uno de los campos. Estos serán los nombres que simpledb colocará para que el usuario los identifique, bien sea en las opciones de edición o en las de ingreso. Estos valores se declaran en la variable %description, y deben llevar el nombre definido para el campo en el datatemplate seguido del identificador asignado

El siguiente es un ejemplo de la variable %description en nuestro archivo db.cfg, aunque también puede acceder al archivo completo desde nuestro servidor FTP:

%description =("fecha","Fecha de Ingreso","titulo","Titulo",...);

Este tipo de variables es una especie de arreglo asociativo, denominado "hash" en Perl, que crea un vínculo entre los campos impares (contando como 1 el primer campo determinado) y el campo siguiente. Note que este identificador sí puede ser compuesto por más de una palabra.

 

.Formato de salida de los resultados.

Las dos últimas variables ubicadas en el archivo db.cfg son $datatemplatefile y $browsefile, estas variables son las las que determinan el formato de salida de los datos. Estas variables ya tienen una asignación en la distribución de Simpledb y es la siguiente:

$datatemplatefile = 'template.wms';
$browsefile = 'browse.wms';

Aunque los archivos template.wms y browse.wms ya tienen un formato asignado, este debe ser modificado de acuerdo a su base de datos para darle una presentación más personalizada a la misma. Estos archivos deben ser ubicados en el mismo directorio donde se encuentran los archivos *db.cgi.

En la variable $datatemplatefile se determina el formato individual de salida de cada uno de los datos concordantes con la búsqueda (o de cada uno de los datos en la caso de un listado general), y en $browsefile se especifica el formato toda la página en la cual se realiza en listado total de registros de la base de datos.

En nuestro servidor tenemos la versión modificada de estos archivos (template.wms y browse.wms) con los cuales se generan las tablas que Usted puede apreciar en una consulta a la base de datos de la red de tratamiento de conflictos

Otro aspecto a tener en cuenta es la información que recibe el usuario cuando una operación (creación, modificación, eliminación) ha sido realizada con éxito. Para esto existen dos formas:

Si desea un mensaje único sin importar cual operación este realizando, debe crear una página HTML con el mensaje deseado, ubicarla dentro del directorio donde se encuentran sus páginas HTML (no los archivos *db.cgi)  y finalmente modificar la línea $server del archivo db.cfg completando la ubicación dentro del Web, de esta página. Por ejemplo:
    $server="http://bases.colnodo.org.co/bdrtc/infogen.html";
Si desea un mensaje personalizado para cada operación, elabore cada una de las páginas y ubíquelas en el directorio de sus páginas HTML. Luego debe editar cada uno de los archivos (adddb.cgi, deletedb.cgi y editdb.cgi) y modificar la línea que contiene:
     &Location("$server");
con la ubicación de la página de información. Por ejemplo:
  &Location("$server"=/bdrtc/infoadd.html);

.Eliminación de la clave de acceso.

Si Usted no desea que se realice una confirmación de usuario mediante la clave de acceso, puede dejar como comentarios las líneas que hacen esta confirmación del siguiente modo :

if ($in{"proceed"} eq "yes") {
# unless (crypt($in{'password'}, substr($password, 0, 2)) ne $password)
# {
    &process;
# exit;
# }
# &fatal_error("Invalid Password");
} else {
           &give_form;
}

Esto debe hacerse dentro de cada uno de los archivos *db.cgi a los cuales Usted desee eliminar este proceso.

Instalación del formulario de búsqueda.

Existen dos formas de elaborar un formulario de ingreso de datos para la base de datos:

La forma más sencilla es a través del archivo adddb.cgi. Este archivo crea una página HTML con todos los campos definidos en el archivo db.cfg, colocando como información del campo el nombre dispuesto en la variable %description e inmediatamente a su lado un campo de formulario tipo text, que tiene por nombre el definido en la variable @datatemplate. Un ejemplo de este tipo de formulario puede ser apreciado en http://bases.colnodo.org.co/cgi-bin/adddb.cgi.
Si desea crear un formulario más personalizado, elabore su página HTML con el formulario a su gusto, con toda la información que su página requiera; no olvide colocar cada uno de los campos definidos en su variable @datatemplate como un campo del formulario, y agregue un campo tipo hidden después de definir el formulario, del siguiente modo:

<FORM METHOD="POST" ACTION="/cgi-bin/adddb.cgi">
<INPUT TYPE=HIDDEN NAME="proceed" VALUE="yes">

Un ejemplo de esto puede ser apreciado en este enlace.

Ventajas.

No requiere mayores conocimientos para instalar el sistema y configurar los archivos.

Puede emigrar a Simpledb bases de datos existentes en formatos como Access, Dbase, Filemaker o Foxpro, simplemente salvando la bases como texto delimitado por tabulaciones y configurando el archivo db.cfg.

No es necesaria la inversión tanto económica como de investigación requerida para hacer el montaje de una servidor de bases de datos como SQL.

Desventajas.

Maneja un solo campo como modo de acceso a los registros, por lo que es bastante complicado elaborar consultas de un cierto grado de complejidad.

No es recomendable para manejar bases de datos grandes.

Recomendaciones.

Debido a que las variables utilizadas tienen el mismo nombre en la distribución original tenga en cuenta los siguientes consejos de seguridad:

Cambie el nombre y la ubicación del archivo que contiene los datos (dbase.db) y asegúrese de cambiarlo también en las líneas de todos los archivos *db.cgi. Para esto haga una búsqueda en cada uno de los archivos *db.cgi de la línea
     open(DATABASE,"dbase.db")
y reemplácela por la ubicación nueva y el nombre seleccionado.

Cambie también el nombre del archivo db.cfg ya que éste posee la clave de acceso para el tratamiento de los datos, y asegúrese de modificar el encabezado de todos los archivos en donde dice 
    require ./db.cfg
por el nombre que Usted seleccione.

No encontró la información que buscaba?, tiene comentarios?, contáctenos!