I am working on a database to store product information in VB.Net 2008 Express and Microsoft SQL Server 2005 Express. The questions I have regard how to store the relations between products contained within other products. I have an example below:



Here, there is a Hardware pack, part number 125. It consists of 4 bolts, 8 washers, 4 nuts, the bag itself and the sticker put on the bag to identify it. Is there a better way to store these relations? I am unaware of any ways to store a collection or matrix of unrestricted size within a single database cell.

Also, to prevent lengthy searches, is there a way to structure an SQL query such that it stops on the first line that does not meet search criteria after a line that does meet search criteria? As an example, refer again to the image above. Product 125, and all others, will always, with an acceptably small margin of error, be listed in a concurrent block. If I search for the contents of product 125, I want it to stop when it sees product 126, because there will be no more listings for product 125.

Last but not least, is there a way when inserting into a database to specify where you want the row inserted rather than always being inserted at the bottom?

Thank you,

Dan