Hello,
Hey, thanks alot.
I'm going to print this out and give it a thorough read.
I'm sure your correct, as I have minimal experiance in this. I take a look
at the POC as well.
Thanks!
- Ben
Ben Sgro, Chief Engineer
ProjectSkyLine - Defining New Horizons
----- Original Message -----
From: "Dan Cech" <[EMAIL PROTECTED]>
To: "NYPHP Talk" <talk@lists.nyphp.org>
Sent: Thursday, August 16, 2007 10:53 AM
Subject: Re: [nyphp-talk] XML Manipulation
Ben Sgro (ProjectSkyLine) wrote:
Hello all,
After the XML vs SQL conversation, I started to rethink a product I'm
working on.
I had been having a lot of trouble modeling the data into SQL. It was
starting to
look very complicated.
So, I decided I would try to store it in XML. The data I am storing is
messages w/in a thread,
timestamp, body and subject. On the SQL side, we create a table that has
the user id,
and a row per message/thread which contains a path to the xml file.
The reason XML seemed better is that I store the data top down and that
is the true
order of the thread. Messages within the thread can come from email or
html page response,
so its important to insert items into the thread via the timestamp. Using
XML just made it
simpler for me to wrap my head around, than trying to model it in SQL.
This sounds awfully messy to me, and will most likely be very slow.
I'm all for XML, but this kind of thing is what databases are meant for.
All you need are 2 tables, one for each thread and one for messages.
threads:
thread_id,subject,ts,activity
messages:
msg_id,thread_id,user_id,ts,subject,body
SQL:
SELECT * FROM threads ORDER BY activity DESC
SELECT * FROM messages WHERE thread_id=? ORDER BY ts ASC
Couldn't be easier, if you want to store extra data about each thread or
message just add fields to the relevant table.
I just wrapped up a complete rewrite of a system that used one table for
threads and messages, and I would strongly suggest advise against it.
If you're looking for ideas, here is a proof-of-concept I put together
back in 2004 for a system using a modified preorder traversal tree for
threaded messages.
http://clew.phpwerx.net/
Dan
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk
NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com
Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk
NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com
Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php