Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/03/2007, 22:08
Avatar de DeeR
DeeR
 
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Se puede utilizar xml o txt como base de datos?

Utilizar Archivo de Texto como BD.
Tienes que definir una Estructura de como almacenar los registros en el Fichero de Texto, generalmente cada linea es un registro, y en cada linea existe un delimitador (pueder ser |) , que delimita los campos del registros.

Estrucutra
Código:
id|nombre|n_tel_casa|n_tel_ofic|dire_casa|dire_ofic|correo
datos.txt
Código:
1|pepe|523523|352523|los pajaritos #112412|los canarios #12312|[email protected]
2|juanito|213523|4122523|los gatitos #112122|los perritos #1232|[email protected]
¿ Como Realizamos Consultas ?
- La unica forma es hacer secuencialmente, es decir, revisar el fichero de texto linea por linea ,parsear la linea ( explode('|',$linea) ) hasta encontrar la condicion de busquedad (id = 21, nombre=pedro , telefono = 21).

¿ Como Insertar Registros ?
- Un metodo es abrir el fichero de texto, situar el puntero al final, y escribir una nueva linea de Texto

¿ Como Reemplazar Registros ?
- Meto el Archivo en un Array
- Busco Secuencialmente en el Array hasta encontrar la linea a editar
- Realizos los Cambios
- Finalmente reemplazo el archivo por el array
(exactamente igual para borrar).

Problemas de usar TxT como BD
- Demasiados Accesos al Archivos
- Si queremos encontrar el ultimo dato, debemos recorrer todo el Fichero
- Duplicado de Memoria al reemplazar o eliminar lineas
- Muchos recorridos innecesario
- Mientras mas registros, todo es mas lento

Por estos motivos, es que se llegaron a crear Archivos Indexados , Arboles B-Tree, etc etc .. los cuales son los fundamentos de una Base de Datos.

Respecto como utilizar XML como Base de Datos, simplemente debes formar una estructura de fichero XML que te acomode guardar Datos, cualquier metodo que utilizes para leer/acceder ficheros XML, siempre por debajo de la implementacion son Algoritmos que revisan el fichero Secuencialmente (o lo cargan en memoria).
De igual forma , si los registros son muchos, el acceso cada vas es mas lento.

Por eso siempre es recomendable usar Base de Datos (No hay que tenerles miedo :P).

En PHP4 tambien esta la libreria (tanto dll o .so) para soportar Base de Datos SQLITE, SQLITE es una base de datos que opera en un archivo indexado, en el cual se pueden hacer cualquier tipo de consultas con lenguaje standar SQL.

Saludos