title: How to store a list in a column of a database table
body: <p>So, per <a href="https://stackoverflow.com/questions/444251/how-to-store-a-list-in-a-db-column">Mehrdad's answer to a related question</a>, I <em>get it</em> that a "proper" database table column doesn't store a list.  Rather, you should create another table that effectively holds the elements of said list and then link to it directly or through a junction table.  However, the type of list I want to create will be composed of unique items (unlike the linked question's <em>fruit</em> example).  Furthermore, the items in my list are explicitly sorted - which means that if I stored the elements in another table, I'd have to sort them every time I accessed them.  Finally, the list is basically atomic in that any time I wish to access the list, I will want to access the entire list rather than just a piece of it - so it seems silly to have to issue a database query to gather together pieces of the list.</p>
  
  <p>AKX's solution (linked above) is to serialize the list and store it in a binary column.  But this also seems inconvenient because it means that I have to worry about serialization and deserialization.  </p>
  
  <p>Is there any better solution?  If there <em>is</em> no better solution, then why?  It seems that this problem should come up from time to time.</p>
  
  <p>... just a little more info to let you know where I'm coming from.  As soon as I had just begun understanding SQL and databases in general, I was turned on to LINQ to SQL, and so now I'm a little spoiled because I expect to deal with my programming object model without having to think about how the objects are queried or stored in the database.</p>
  
  <p>Thanks All!</p>
  
  <p>John</p>
  
  <p>UPDATE:  So in the first flurry of answers I'm getting, I see "you can go the CSV/XML route... but DON'T!".  So now I'm looking for explanations of why.  Point me to some good references.  </p>
  
  <p>Also, to give you a better idea of what I'm up to:  In my database I have a Function table that will have a list of (x,y) pairs.  (The table will also have other information that is of no consequence for our discussion.)  I will never need to see part of the list of (x,y) pairs.  Rather, I will take all of them and plot them on the screen.  I will allow the user to drag the nodes around to change the values occasionally or add more values to the plot.</p>