It's of no use to list our site as it is a corporate site behind https. User's are registered by admin's and security is taken seriously.
As regards the linking, just use threadid. Each table you add would be linked using the threadid. For queries where the data is retrieved for a thread, you would add a couple of JOIN's to get the data from your tables.
You might make it easier on yourself if you define the download table to be flat -- just create enough columns to handle the maximum number of download entries. This would give you column names like "download_link1", "download_link2", etc. One can get away with this when one is dealing with so little storage, as is the case with your idea. If you are not going to search the download table, you could even make it easier by storing serialized arrays as text fields rather than using multiple columns.
If you do not use this approach, you will have to use code similar to that for attachments, where you have a one to 0..N relationship based on postid. Your code would take the threadid of a hit, and then retrieve all the rows from the secondary table based on threadid.
|