Article View: chile.comp.programacion
Article #164Re: Base de datos XML open/free?
From: Pascal J. Bourguignon
Date: Fri, 24 Sep 2010 16:41
Date: Fri, 24 Sep 2010 16:41
136 lines
5221 bytes
5221 bytes
raul.garate@SINESTOgmail.com (Raul_G) writes: > Jos� Miguel Santib��ez wrote: > >> En el cap�tulo anterior (news:i7fsvb$cp1$2@jagger.tie.cl), *Er MAjNifico* >> <eatyou@spammer.org> dijo: > >>> Estimados maestros, >>> alguien sabe de una buena base de datos para XML que sea del mundo open >>> o que se free? >>> Se agradecen aportes! :-) >>> > >> ehh... no entend� que es lo que quieres... �alg�n administrador open source >> de XML? > >> -- >> Jose M. Santiba�ez A. >> <jms@nivel5.cl> >> <http://caos.cl/jms> > Lo que el muchacho quiere, es una base de datos pero que cumpla con los > siguientes requisitos: > - Que sea para XML �Qu� quiere decir esto? Si se trata solamente de almacenar una cadena XML de manera persistente, se puede usar qualquier base de dato SQL o otro. Pero quizas se quiere tambi�n poder hacer busquedad en esa base de datos como se hace con XPATH, para extraer sub-arboles del XML directamente de la base de dato. > Yo lo entend� clarito, pero aun con 20 a�os de experiencia no he visto > nunca una BD as�. En efecto, no se conoce base de datos especificamente hechas para estructuras XML. Pero se podria mapear una estructura XML sobre una base de datos SQL o OO. Por ejemplo, podriamos tener tablas: create table elements ( id int not null, tag varchar(32) not null, ); create table attributes ( element_id int not null, name varchar(32) not null, value varchar(256) not null ); create table contents ( parent_element_id int not null, index int not null, child_element_id int, text_id int ); create table texts ( id int, text varchar(32768) ); y mapear: <input> <device type="serial-port"><name>ttyS0</name><speed>9600</speed></device> <device type="tcp-ipv4"><address>192.168.1.1</address><port>10020</port></device> </input> en: elements ======== id tag -------- -------- 1 "input" 2 "device" 3 "name" 4 "speed" 5 "device" 6 "address" 7 "port" attributes ========== element_id name value ---------- ------- ------------ 2 "type" "serial-port" 5 "type" "tcp-ipv4" texts ===== id text -------- -------------------- 1 "\n" 2 "ttyS0" 3 "9600" 4 "\n" 5 "192.168.1.1" 6 "10020" 7 "\n" contents ======== parent_element_id index child_element_id text_id ----------------- ----- ---------------- ------- 1 1 NULL 1 1 2 2 NULL 1 3 NULL 4 1 4 5 NULL 1 5 NULL 7 2 1 3 NULL 2 2 4 NULL 3 1 NULL "ttyS0" 4 1 NULL "9600" 5 1 6 NULL 5 2 7 NULL 6 1 NULL "192.168.1.1" 7 1 NULL "10022" Aparte el problema clasico en SQL de no poder hacer queries procesando de un solo golpe hierarquias, (tenemos que hacer proceduras almacenadas, o varias queries para buscar elementos relacionados en la hierarquia), se puede hacer queries bastante interesante en el XML, como colectar todos los elementos con un tag determinado, etc. -- __Pascal Bourguignon__ http://www.informatimago.com/
Technical Details
Message-ID:
<8739szqejw.fsf@kuiper.lan.informatimago.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mailReferences:
<i7fsvb$cp1$2@jagger.tie.cl> <Xns9DFCA58405655jmsnews@200.54.144.211> <9332091848f4cfb69977f1c59b31e656$1@usenet.no-ip.com>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,12eb4dbe891644ff
X-Google-NewGroupId: yes
X-Google-Attributes: gide499fe1f24,domainid0,public,usenet
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: pjb@informatimago.com (Pascal J. Bourguignon)
Newsgroups: chile.comp.programacion
Subject: Re: Base de datos XML open/free?
Date: Fri, 24 Sep 2010 18:41:55 +0200
Organization: Informatimago
Lines: 136
Message-ID: <8739szqejw.fsf@kuiper.lan.informatimago.com>
References: <i7fsvb$cp1$2@jagger.tie.cl>
<Xns9DFCA58405655jmsnews@200.54.144.211>
<9332091848f4cfb69977f1c59b31e656$1@usenet.no-ip.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: individual.net vDZ/BRDAuGcQgA1KTOoWXAzTnkhH/T1yFuYTV4pYlhbw5Wmjmk
Cancel-Lock: sha1:ZDU4MmMwNzk1MDkwMjY3ZmY2YmFiZWIwZDI5NmFiMTQ5Nzk5MjZiOA== sha1:+H6GrFek6hJnj/zfidAz+1H6vA0=
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA
oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9
033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac
l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR
mV+hO/VvFAAAAABJRU5ErkJggg==
X-Accept-Language: fr, es, en
X-Disabled: X-No-Archive: no
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)